如何学习单片机?写给要接触单片机和刚接触单片机的人
我写这篇文章,是我在百度看到很多想接触单片机或者已经接触单片机的人,不知道怎么入门,或者不知道第一步怎么走。我也是把我的经验写出来,这次的只不过针对的是想接触单片机的,刚接触单片机的,一开始都会存在几个疑问。1.学习单片机的需要什么基础。2.开始怎么入手3.需不需要买开发板。主要就存在这几个疑问,我也在这里为大家说说,大家只不过在交流,小弟在这里献丑啦,如有什么说的不周到的,或者不全面的,也请高手多多指教。我写这个目的是希望给更多的想学习单片机,热爱电子设计的人提供一些帮助。闲话少说,进入正题。
学习单片机一开始首要认为是通读一遍书,这个很重要了解它是什么原理,还有能实现那些功能,例如外部中断,定时器等等吧~!这些都是理论的东西。当你了解差不多就开始真刀真枪的比试~!首先要学会的是KEILC51这个软件,这个是一个编程软件,编写C程序的软件。对于初学者这个很关键如果连这个软件都弄不会,不知道怎么建立工程文件,怎么生成.HEX文件的话。等于白学单片机一样。还有一个是STC系列单片机怎么烧录程序,这个可以在官方网站上面下载一个烧录软件。(我主要针对的是STC系列单片机)。这个是需要迈进单片机这个第一步。有些初学者,或者我自己也犯过这样错误,看这本书上做这个挺好玩也想比试,看到那本书上做这个也挺好,最后什么都没有做成。人做事情就应该踏踏实实的。还有就是培养自己有一种成就感,这样慢慢的就会坚持下来,也是建立信心的最好办法。也是从最简单的入手,这样给自己一点点信心。下面我就介绍我自己的一种方法。
学习单片机的编写程序就好像搭积木一样,不是一下就可能写出来很大,很复杂的程序的。都是从最简单的程序开始,慢慢的往上面加功能,优化的。我给大家介绍一种方法吧~!这个也是我这些天总结出来的,根据我自己的走过来的路想出来的,希望对大家以后学习单片机有帮助吧~!
第一步就是编写一个是LED点亮的程序,烧录到单片机里面看看效果,这个目的:1.熟悉单片机怎么编写程序2.怎么烧录程序3.感性认识一下单片机是控制什么东西的。也是让自己有感兴趣的关键第一步,因为教材上都是告诉你单片机什么地址,什么的根本没有实际的东西,也是大家认为难的,我遇到好几个人都说单片机难,是因为老师讲的不太明白,学的都是汇编,就知道什么地址相加减,或者从这个地址传送到这个地址里面,这样很枯燥,很没有意思。谁都会感觉没有兴趣。当你编写一个这样简单的程序你会知道单片机还有这样的功能,这么好玩。也是了解LED灯这么亮的。
第二步就是编写一个让8个LED灯轮流亮,或者每隔两个灯轮流亮,这个程序目的是增加一个延时程序,让大家知道不精确延时这么编写。当你会这个程序以后,你就可以发挥你自己想想编写出来不同的花样的流水灯程序,就是练习熟悉开发环境还有就是延时程序和自己的想象力。
第三步就是编写一个带有外部中断的流水灯程序,就是当有外部中断时候会变换不同的花样,程序编写跟第二步差不多但是只不过加一个外部中断,因为我自己感觉对于外部中断对于初学者来说真的很难理解,我那个时候学时候用下午时间也没有想明白,最后还是用开发板做实验,先感性认识怎么回事,慢慢经过几次应用才能理解些啦~!所以一开始如果不理解也可以照着例程把程序烧录进去以后先感性认识一下,在理性的学习一下。慢慢就好了~!
第四步就是编写一个精准延时的流水灯程序,这个就需要加上定时器程序,这个目的和方法跟第三步类是。在这里就不多说了。
第五步就是编写一个与电脑通信,利用电脑控制灯的程序,这个方法跟第三步类是,就是把电脑通信的程序加入里面。
第六步是编写个按键程序,把按键程序加入,知道按键程序怎么进行编写,可以理解按键,如果有能力也可以加入矩阵键盘程序这样更好啊~!这个看你自己能力啊~!
当你把这六步全部走完,每一个程序都是自己编写的,在加上自己的想象创新出来很多花样,会感觉自己很有成就感,对于以后的学习单片机很有帮助,别看一个流水灯程序有很多花样玩法啊,如果都能弄明白的话,说明对单片机你是有一个初步的了解,也了解这个最小系统啦~!对于以后的编程也有很大的帮助。技术不要什么最新就用什么,最后走一圈回来,还就是会流水灯程序啊~!所以如果认准学习C51,就不要过两天别人说AVR好,就又学AVR啦,最后那一个都没有学好,会的还是最简单的程序。其实每种单片机只不过编程有些不同,还有功能有些差异,但是原理都是差不多的~!!!
以上这些都是我个人的看法,只做参考
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)