如何学习单片机(zigbee怎么读)
如何学习单片机
朋友们好,我是电子及工控技术,我来回答这个问题。对于单片机这项技术如何学习,很多朋友都说出了学习的方法。下面我想根据我学习单片机的一些体会和朋友们分享一下我是如何学习单片机的。
我认为学习单片机需要有一定的知识储备
我们都知道单片机技术是一个理论加实际操作都很强的技术,我在学单片机前就已经在学校里学过了模拟电路和数字电路的基本知识,尤其是数字电路知识在学单片机时非常重要,这是因为单片机就是一个数字芯片,这个单片机引脚在程序“指挥”下只能输出数字信号或者高电平和低电平,我们只有学习了基本的数字电路知识才能更好地理解单片机与它的外设之间之间的关系。
另外,由于单片机是需要在程序的驱动下才能完成相应控制功能,单片机的程序就像我们人类的“思想灵魂”一样,如果没有程序单片机是“寸步难行”的,什么也控制不了。所以,我们还要有编程语言的知识,我在学习单片机时是先学习了汇编语言,因为在学习汇编语言时就顺带把单片机的基本结构掌握了,比如各种寄存器、单片机工作原理等。然后再学习C语言知识,这样我们在学习单片机前就有了一个相对完整的知识储备了。
我认为学习单片机要做好软件的准备
单片机是一个“软硬”结合的控制器,所以学习单片机时就要先准备一些必要的软件,比如编程软件,我们最常用的是Keil软件,另外还要有下载软件,这也是学习单片机必不可少的,我常用的是一种STC的程序下载软件。
我认为学习单片机要做好硬件的准备
我认为学好单片机就需要动手,当我们具备了一些单片机基础知识后,动手操作才是关键。我在学习单片机时是自己先按照前辈们的单片机电路原理图自己焊接一块单片机实验板,在实验板上焊接有RS232串口、DS1302时钟芯片、DS18B20温度传感器、数码管、矩阵键盘、A/D芯片、LCD1206液晶显示屏接口、红外接收头等等。
因为单片机技术是一个软硬结合的技术,所用编程语言编写的程序我们也叫底层驱动程序,因此我们在编写程序前就要知道单片机硬件电路的一些来龙去脉,当我们通过自己动手焊接单片机电路板后,在编写程序的时候就会做到了心里有数了,在这里我强烈建议想学习单片机朋友们最好自己动手焊接一个电路板,做到“自给自足,丰衣足食”,这样会给你的单片机学习之路带来很好的体验。
我认为学习单片机要有得当的方法
最后我要想说的就是学习单片机要有一个高效的学习方法,我的学习方法是:以动手操作实践为主,再辅以适当的理论,按照“三七开”的分配原则,就是用三分时间精力去学习理论,用七分时间精力去实践操作。学习编程时要先模仿后自己独立编写,这样会少走弯路,在学习资料上我认为单片机数据手册就是最好的介绍材料,我们完全可以利用,比如在数据手册里可以学到I/O口的应用、定时器和中断的使用、I2C,SPI通信总线等知识。因此学习单片机没有一条放之四海而皆准的方法,只有找到适合自己的才是最好的方法。
以上就是我对这个问题的看法。欢迎朋友们参与讨论,敬请关注电子及工控技术,感谢点赞。
单片机的学习无外乎两方便.一,电路 。二,编程语言。
先说电路,说到电路不得不提三本书。模电,数电,电路。可以说这三本书是学习电路的必经之路,学好这些,即使你不学单片机也可以找到一份薪资满意的工作。当然现在大公司工作都是分工明确的,做电路的就做电路。单片机编程的就做编程。不过能进大公司的还是少数。大部分小公司要求你全能,也就是说一个项目你要从芯片的选型,到外围电路的搭建,最后I/O口的定义,程序的编译调试,最后PCB板的制作,焊接,调试等等,你都要掌握。当然你的工资也是客观的。我的意思是学习单片机最好是要学习电路。
接下来学编程语言,单片机的编程语言是结构化的C语言。C语言的学习也不是那么容易的,至少指针就够你迷糊一段时间的。学习C你可以先系统的学习一段时间,做一些练习,不用着急去将它应用到单片机上。
前面是基础,到你拿到第一个开发版的时候,你的单片机生涯就此展开了。
接下来介绍两款工具。
1.keil。单片机的编程软件,它可以帮你搭建一个编译环境,并且为你编译程序提供一个界面。最主要的是可以生成.hex文件,供下载使用。
2.protues。这是一个仿真软件,可以仿真你的电路,也可以仿真你的单片机程序,前期没有开发板时,可以用着软件来学习。
最后给自己买一个开发板,认真学习里面的例程。一块接着一块的学。
个人观点。
如何学习单片机?对于这个问题,芯片哥作为过来人,希望能给到一些中肯的建议。
这种“如何学习单片机”的类似问题,相信应该是一个想入门,但又不知如何下手的小白提出来的。那芯片哥就认为你是单片机小白的身份,去解释回答了。
单片机,作为一种微处理的类型,虽然它属于硬件电路,但它的功能却是由软件开发完成的。对于这点,需要对单片机做个整体性的概念认识。
只有对单片机的电路特点认识清楚了,我们才能去学好单片机,才会知道如何去学习单片机,而不是像个丈二的和尚、摸不着头脑,到处一片迷茫。
单片机
OK,了解完单片机的功能,它是由软件开发完成的之后,接下来学习的重点就非常清晰明了了。芯片哥总结为3个方面。
01
学习单片机,肯定是需要学习单片机的内部结构,尽管它的外表只有一些封装好的引脚。单片机的外部引脚,只是内部电路的延伸,只起到电路连接的作用。
单片机的内部电路,都需要学习哪些内容呢?
主要包括ADC采集电路、定时器电路、时钟电路、通信电路、IO引脚电路、中断电路、电源电路、存储电路、看门狗电路和复位电路等等。
学习这些,是为了掌握单片机的每个内部电路的功能,以及它们都是可以做些什么的。举例说明
- ADC采集电路,主要的电路功能是完成对模拟信号的采集,比如常用的传感器信号;
- 定时器电路,主要的电路功能是定时作用,比如在涉及到与时间有关联的信号处理,就需要使用单片机的定时器电路;
- 通信电路,主要的电路功能是实现信号的通信,常用的通信方式包含USB通信、UART通信、SPI通信以及IIC通信等等;
当然,每个型号的单片机内部电路不尽相同,作为初学入门者,是不是需要将所有型号的单片机都需要学习一遍呢?
答案是否定的。
不管什么型号的单片机,它都是万变不离其宗的。无非是引脚个数多一些少一些,内部电路功能简单一些复杂一些罢了,其核心的本质是没有区别的。
基于此,芯片哥向单片机的初学者,建议开始学习单片机,应当首选51系列型号的单片机。原因是51系列的单片机,功能虽然简单,但齐全。
51系列型号的单片机
俗话说,麻雀虽小,但五脏俱全。
放到单片机领域,也同样适合51系列型号的单片机。这或许也是大中专院校为什么选择51系列型号的单片机作为教材的原因之一吧。
02
了解完单片机的基本电路功能,相当于进入单片机的大门了。但这还远远不够,之所以想学习单片机,关键还是在于学习单片机的软件开发。
软件开发,才是学习单片机的核心。
C语言作为单片机软件编程领域的首选语言,这个主要是因为它易学且易懂,更重要的是学习C语言,根本不需要任何基础。芯片哥可以毫不夸张地负责任告诉你
只要认识26个英文字母abcde.....,会计算10以内的加减乘除,就可以学习单片机的C语言。
软件编程
真的有这么简单?
它真的有这么简单,一学就会。对于入门初学者,C语言真的非常适合,这也是C语言流行的原因之一。
03
学习单片机的电路和C语言软件编程,这些都是停留在理论层面上,距离项目的开发,还有很长的一段路程。
毕竟学习单片机是为了能够实际地开发设计项目,而不是仅仅停留在纸上谈兵。
具体怎么做呢?
芯片哥送你6个字,那就是“勤练习,多开发”。
设计开发项目
勤练习,多开发,就是告诉单片机的初学者,切勿天天抱着一本单片机的书籍,或者看一些网络上的视频教程。就是只看不练习,不去动手自己写代码,没日没夜似地看这个书,请教那个人,看网络学习的视频,这些都是徒劳无益。
只有动手去参与单片机有关的项目,切身地去体会单片机的软件编程,经常性地练习,遇到问题再去查找资料,这样经过一段时间后,少则3个月,多则半年时间,单片机的学习就可以告一段落了。
剩下的就是在工作中,通过项目开发的实践,不断积累单片机的开发能力。
末尾
按照芯片哥给出的方法,先学习单片机的内部电路(硬件)和C语言的软件编程,有了相关理论基础之后,就可以“勤练习,多开发”了,这样就能较好地完成对单片机系统地学习了。
最后芯片哥希望,学习完单片机后,能够收获一门技术能力的同时,也能收获一份高薪稳定的工作。
本文由【芯片哥】原创撰写,喜欢就关注芯片哥,后面会定期更新有关于电子元器件和芯片,包括一些电子产品项目开发案例的相关内容。
#单片机# #芯片#
应用领域:
消费电子:洗衣机、电冰箱、空调机、IC卡、电子设备等。
通讯方面:调制解调器、交换机等。
工业自动化:数据采集和测控。
武器设备:军舰、导弹、航天飞机,飞机等。
仪器:示波器、信号源、万用表等。
学习基础
编程语言:
C语言,汇编
学习书本:
深入了解计算机系统
微机原理
数字电路
模拟电路
单片机原理及应用
C和指针
如何学习
1.首先把常见的基础知识通一遍,第一遍不需要理解的很明白,第二遍或者第三遍的时候开始深耕细作,开始全面的实践学习,这个阶段C语言基础要弄牢固。
2.单片机常见的术语以及编译的环境开始涉猎,未开展的实际项目做准备
3.开始找一款常用的单片机实践,串口通讯,IO操作,终端控制,这些常见的控制模式都可以着手去做,可以在网上买开发板自己尝试在里面填写代码,寻找编写代码的感觉。
无论进行到那一步持之以恒的坚持,傻傻的坚持才是决定你最后能不能真正做到单片机的编程。
有编程疑惑可以关注大学生编程指南,一起学习编程,互相监督学习
对于单片机学习,不要想太多,最主要的是有单片机可以练习,和操作电脑是一个道理。
如果只给你一本电脑操作的书,没有电脑可以操作,到头来还是学不到多少东西,看到有一个有趣的新闻是在非洲老师教同学们关于微软office系列软件的使用,只是将界面在黑板上画出来,没有实际的电脑操作,效果可想而知。
现在的单片机很便宜,如果你没有的话可以在网上买一个,网上相关东西太多了,随便搜索一下,都是各种教程,你买单片机开发板会赠送你各种和该开发板有关的资料,有电子的、还有各种视频。
这是在淘宝上搜到的,里边包含简单的如CS51系列单片机,也有STM32系列单片机,
如果你是初学者可以从51单片机开始入手,这种单片机外设比较少,学起来比较简单,可以先拿这个练手,一般包含如GPIO、UART、定时器等等,可以先从类似跑马灯这种简单的程序入手,在逐步学习定时器、串口操作,后期可以学习相应的中断操作。
至于说编程语言建议你就直接用C语言就好了,不像我当初学单片机还是汇编语言呢。
现在一般开发环境可以用keil,现在版本为keil5,这个需要破解一下,注意别用在商业用途就可以了。
如果想多接触一些单片机外设比如USB接口、以太网接口、CAN接口等等,可以继续学STM32系列单片机,这个比较好的是它把底层驱动库给你进行了封装,这样你就不用想MCS51系列单片机那样操作底层接口。
最后,学好单片机主要还是要多练习,如果有项目的话那是最好了,那样可以学以致用。
如果有什么问题可以随时交流。
大二选专业:智能科学与技术,数据科学与大数据,物联网,哪个好
这是一个非常好的问题,也是当前很多计算机相关专业同学所面临的问题之一,作为一名计算机专业的教育工作者,我来回答一下。
首先,从当前大的技术发展趋势和行业发展趋势来看,人工智能、大数据和物联网都有非常广阔的发展前景,在工业互联网的推动下,随着诸多企业纷纷实现业务云端化,大数据、人工智能和物联网相关技术将逐渐开始在产业领域落地应用,这个过程也会释放出大量的人才需求。
数据科学与大数据是当前比较热门的方向之一,但是由于当前大数据尚处在落地应用的初期,所以行业领域往往更关注于以研究生为代表的高端研发型人才和高端应用型人才(专硕),所以如果要选择数据科学与大数据方向,应该考虑读一下研究生。相对于数据科学与大数据方向来说,智能科学与技术方向的技术成熟度和行业成熟度更低,所以更需要考虑通过继续读研来提升就业竞争力。
物联网方向虽然是相对比较传统的方向之一,学科建设也相对比较成熟,而且随着5G通信的落地应用,未来物联网领域的前景非常广阔,但是长期以来,物联网方向的就业表现并不算好,不少同学会转向从事软件开发方向,所以如果选择物联网方向,要同时重视自身开发能力的提升,这会明显拓展自身的就业面。
最后,从这三个方向来看,当前可以重点关注一下数据科学与大数据方向,选择该方向也可以看成是一种“进可攻退可守”的方案,既可以从事大数据、人工智能领域的岗位,退一步又可以从事传统的软件开发岗位。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
目前只能从名字分析,更主要的还是要看专业课。
智能科学与技术应该是人工智能领域。
数据科学与大数据应该是大数据处理。
物联网更多的是各曾经之前的通信协议。
因为这几方面,我基本上算都有所涉猎。下面我来简答聊聊这些具体都是做什么的。
1、人工智能
人工智能,听起来很高大上吧,不过目前的人工智能就是线性推演和深度学习。
之前我有一期问答详细说分析过。这里简单谁一下吧,线性推演,就好比下棋,我们将规则预设,推演利用的就是计算机的速度优势。如今的计算速度,不靠预先录入棋谱,单考超算的硬实力也能碾压人类顶尖棋手。
深度学习就是卷积的训练,通过多次训练不断矫正和完善。为了进一步优化响应速度和并发,现在有些国内的前端领域从芯片着手,放弃了通用的精简指令集,而采用了专业度逻辑运算电路进一步提升速度。
人工智能简单点的现实应用,车牌识别、语音识别,人脸识别。这些基本上一点都不智能,推理这方面基本上还是刚起步。人工智能领域的从业者也很少说自己是做人工智能的,前几年一般都说自己是做数学研究的。为啥这样,就是现阶段的确不怎么样。
我就用小爱音响控制空调的语音识别交互逻辑为例你就明白了。空调组是要执行的类组的一个实体化的对象。每个空调的对象都有一个属性叫所在房间。语音识别到“卧室空调关闭”,口音的也许会近似匹配。在空调组里找到属性“卧室”,执行“关闭方法”。这样的智能你还感觉高级吗?
但是就是因为的确目前还在很基础阶段,后面才有更多的发展空间。人工智能设及的领域也超多,dsp,超算,逻辑新品,各种算法。高数和更高都数学不好的同学就别去尝试了。一个傅立叶算法就可以应用在图像,声音等多个领域。
2、大数据
大数据也是在信息化和互联网发展到今天不得不解决的。
大数据行业按照作业流程可以大体分为采集,存储,分析三个阶段。
采集
这个之前我也做过介绍,我这里就简单介绍下。就是把整理好或者没整理好分布在互联网各处的潜在有价值信息拿回来。这个过程就叫做爬虫,现在的高级爬虫也是利用到了人工智能的深度学习学习,判断下一步抓取的方向和感兴趣的内容。
随着国家关于信息隐私的立法,这方面的采集更多只能通过标准搜索引擎蜘蛛爬行的方式。
存储
海量的数据如何完整存储,高效调用。左右手各带一块表,链表,哈希倒排索引(分词)等基础方式,在超大规模的数据结构处理时就不太够用。根据项目需求采用列式数据库,键值数据,图数据库,甚至于集中联合使用。后面可能还需要一个大并发的框架。
分析
根据手中数据和目标进行建模,优化。然就是仿真,实现,出报告了。
看看我一个朋友公司的招聘需求,就知道你大概的一个职业技能积累了。
任职要求:
1. 具有极强的数据敏感度和商业敏感度,有通过数据创造商业价值的具体案例;
2. 本科以上学历;具有5年以上大数据相关的数据平台、数据仓库、数据分析应用等相关经验;具有扎实的大数据功底,有以数据视角和分析业务的能力,有规划和设计大数据解决方案的能力。
3. 总体负责过大数据部门或类似技术部门,具有目标和结果导向的管理思维和很强的团队管理能力;具有丰富的项目管理经验,具备技术团队建设及管理经验;
4. 掌握主流的大数据技术,包括离线数据处理、流式数据处理和NoSQL技术,熟悉Hadoop生态相关技术,如Hive、HBase、Spark、Storm、Flink、Kafka等,熟悉数据接入相关工具,如Flume、Sqoop、GoldenGate等;
5. 具有很强的沟通能力,有同时面向业务和技术部门的协同工作能力;
数据库,架构,队列,分析工具全方位要求。也有些小型公司,也许用python pg就搞定了!
3、物联网
这是个实现交互和通信的领域,期间也许会包含大量的协议。
这里说的协议可能是底层的,甚至IPv6,TCP,udp,也可能是xml,json。甚至会话层的教验和加密,一类设备统一管理的协议规范,每个行业有自己的行业标准,即便很像的两个设备在不同行业应用也要遵循所在行业的规范。。
WiF mesh,蓝牙,zigbee,nfc5g等这些需要底层实现的也许都包括在内。
做物联网的更多的是做一个服务,提供API,或者就是调试接口。当然前段也许还包括下面晓设备和下位机的嵌入式开发。
我估计应该没对手人比我说得更详细了。
未来的职业技能要求,发展方向和工作领域我基本上都告诉你了。前两个领域想做好基本需要硕士或者博士。第三个入门门槛稍低点,本科生勉强可以做入门工作。
希望我的回答对你有帮助。
以上全部就是关于zigbee怎么念的详细介绍,如果对你有所帮助或希望获取更多zigbee怎么念的资讯内容,欢迎收藏关注本站。