单片机怎样学习?单片机的学习流程是什么

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

学习单片机是最重要的一点就是不能糊涂,不能把逻辑关系搞得乱七八糟。对于初学单片机时,要学会把一个程式的逻辑性关系用流程图的形式清楚的表示出来。至于用来编写程式的单片机的语言是很简单的,不要把它想象得很神秘,不管是汇编语言、C语言、还是更高级的VC++和图示化语言(如LABVIEW),都只不过是把我们清楚的逻辑思维告诉单片机处理器,并指令它将要被如何进行逻辑操作。把单片机的指令看得很重要应该是我们大家在学习单片机时的一个最大的误区,老是担心指令记不住、不会用,这也是学习单片机还没入门、上路的主要表现。其实这样有什么担心的呢,记不住就不要强求好了,把指令放在旁边,当把逻辑关系清理好之后,再来对着指令表确定哪个逻辑关系由哪些指令来完成,当一条指令运用得几次后,根本就用不着担心不知道指令不会用了。退一步讲,即使真的记不得指令,参照书本的指令用法也完全可行,现在的知识量是海量,全把所学的知识死记在脑子里肯定会把脑袋涨破。在写程序时,只要程序的逻辑关系调理清楚了,写起来就好比做简单的翻译工作,把逻辑关系翻译成计算机语言来表示。3对微观世界的想象曾经在设计电路板时,为了让线路中的电流能流畅的通过线路,为了所设计的电路板能满足各种测试条件下的安全标准,如UL标准要求最长的电源地线不能过 0.02欧姆(其测试条件是在20A的电流情况下测量它的功率P=I2R)。如果假如是0.02欧姆,通以20A的电流,那这条线路的发热功率将会是 8W。把电流看作是我们宏观世界里的水,线路就好比一条水沟。要让水在水沟里怎么流,这理所当然是很容易控制的了。如水在急转弯的地方会起漩涡,会对急转达弯的沟的对面产生冲击。同样在电路板上的线路如果存在急转弯的情况,电流也会引起涡流,也会对线路的拐点处有一个冲击作用而产生辐射。这样一来,在理解了这一原理之后,每一次电路板的设计完成之后,所有的测试都能一次通过。可见把微观世界想象成宏观世界相类似的事物或过程是非常有帮助的。现代电子世界,特别是微电子,要想看清他的真面目,只有在高清昕度的显微镜下才能看到他的外形,可是即使了解了它的外形,也只不过是知其然而不知其所以然,它的工作过程根本无法看得到。

现在单片机结构越来越复杂,集成度越来越高,存储量越来越大,将来还可能采用分子级电子晶体管呢。它的运行速度也是如此的越来越快,现在已经是采用纳秒级来定义它的运行时间了,最长的运行一条指令的时间最多不过一两个微秒,简直就是比一闪而过还要少好多好多。既然我们可以在空间上利用放大镜把外形放大后来了解,那么同样可以在时间上把时间拉长来解。不访把一微秒当作时一分钟或一小时来理解,这样我们就不难理解CPU就如人一样在处理某一条指令。比如指令 “MOV A,01H”就是CPU把数据01H送到A累加器,在这个运送的过程就如人搬运东西的过程,这个过程的处理时间就是CPU处理一个指令的时间,通常称之为指令周期。有些时候单片机会出现对某个操作处理的时间不够,如进行数据采集时,被采集的信号相对于单片机处理时间比较快就会出现数据遗失的情况,这就要求单片机的运行速度更快。如果没有这处微观时间的概念,就很难理解怎么会出现这种情况。

一、学习单片机的I/O口控制

单片机学习,首先要学习的是单片机是怎么“感知”外部信号(输入信号),又是怎么“控制”电路信号(输出信号),还有就是单片机是怎么“告诉”人们我执行到了那一步,执行结果是什么(信息显示),而所有这些功能的实现,全部都是(并且只能是)通过单片机的I/O端口实现的。

换句话说,单片机与外电路的交流只能通过它的I/O口实现,单片机的I/O口就是单片机的“眼、耳、口、鼻、舌”,所以学习单片机,首先就是要学习单片机的I/O口控制。

单片机怎样学习?单片机的学习流程是什么

二、学习单片机的寄存器

单片机的各种功能,包括I/O口的输入/输出控制、定时控制、串口通信、AD/DA等功能模块的选择和控制,都是通过对相应寄存器的配置来实现的。所以想要学好、学会、学通单片机,就必须了解每种寄存器的功能,包括该寄存器的含义、对应控制哪些功能,相应位怎么配置等等,当然,我们不需要死记硬背单片机寄存器的名字和各个位的含义,在我们编程时,只要备好相应的数据手册,随时查阅就可以了。

单片机怎样学习?单片机的学习流程是什么

三、学习单片机的编程语言和方法

现在绝大多数单片机编程都是基于C语言的,所以我们要知道C语言中各种数据类型在单片机系统中的数值范围,程序结构,算法设计,尤其是关于逻辑表达式和算术表达式的区别,单片机由于性能限制,不推荐使用乘除法,浮点数算法,因为这些都非常耗时,所以尽量用移位算法来实现乘除法。

单片机怎样学习?单片机的学习流程是什么

四、学习单片机的外围电路

首先要能够准确的理解单片机最小系统电路:电源模块,时钟模块、复位模块、编程及仿真模块,还要知道常用的功能电路:AD转换,SPI,IIC,UART等功能及电路设计,了解常用电路模块的功能和设计,例如串并转换电路,电平转换电路,通信电路等。

单片机怎样学习?单片机的学习流程是什么

五、学习单片机的开发环境

目前各个单片机厂商提供的开发环境各不相同,所以,针对某种具体型号的单片机,一定要熟悉其开发环境,包括芯片配置、时钟配置、堆栈设置、烧录文件配置、编译配置等。

还要熟悉在该开发环境下如何进行程序仿真、程序烧录、断点设置、运行周期计算等。

单片机怎样学习?单片机的学习流程是什么

学习单片机的其它几个注意点:

1 .理论与实践并重

对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,也许用不了几天就会觉得枯燥乏味以致半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至 “ 根深蒂固 ” 。也就是说,当你学习完几条指令后 ( 一次数量不求多,只求懂 ) ,接下去就该做实验了,通过实验,使你感受到刚才的指令产生的控制效果,眼睛看得见 ( 灯光 ) 、耳朵听得到 ( 声音 ) ,更能深刻理解指令是怎样转化成信号去实现控制的,通过实验看到自己所学的成果不仅有一种成就感也能提升你对单片机的兴趣。说句实在话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好。

2 .合理安排时间持之以恒

学习单片机不能 “ 三天打鱼、两天晒网 ” ,要有持之以恒的毅力与决 4 心。学习完几条指令后,就应及时做实验,融汇贯通,而不要等几天或几个星期之后再做实验,这样效果不好甚至前学后忘。另外要有打 “ 持久战 ” 的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。

3 .遇到问题耐心检查

单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。切不可轻言放弃。

4 .对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是过一段时间后 (1-2 个月 ) 再重新学一遍,学过的知识要经常运用,这样反复循环几次就能彻底弄懂消化,永不忘却。

5 .要进行适当投资购买实验器材及书籍资料

单片机技术含金量高,一旦学会后,给你带来的效益当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景都光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材。另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。一本好的书籍真的很重要,可以随时翻阅,随时补充不懂或遗忘的知识。

学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。