很多单片机初学者不知道怎样才能学好单片机,我们现在入门用的比较多的是8051单片机,它的资料比较多,用的人也较多,市场也很大,51 单片机内部结构相对简单,非常适合初学者学习,建议初学者将 51 单片机做为入门级芯片。
需要开发板单片机属于硬件,不推荐大家使用单片机仿真软件来学习单片机,只有亲自操作它,才会有深刻的体会。
单片机这门课是一门非常重视动手实践的科目,不能总是看书,但是也不能完全不看书,我们需要从书中大概了解一下单片机的各个功能寄存器,如果看的多了反而容易搞乱,尤其是现在市场上大多数讲单片机的书一开始就讲解较复杂的内存、地址、存储器什么的,更让初学者感到不知所云、难以入门。
简单的说,当我们使用单片机时,实际上就是用我们自己编写的软件去控制单片机的各个功能寄存器,再简单些,就是控制单片机哪些引脚的电平什么时候输出高,什么时候输出低,由这些高低变化的电平来控制外围电路,实现我们需要的各个功能。
关于看书关于看书,大家只需大概了解单片机各引脚的功能,了解下寄存器。我们要把更多的时间放到实践中去,这才是最关键的,在实践的过程有不懂之处再查书,这样记忆才深刻。
关于实践关于实践有两种方法你可以选择,方法一自己花钱买一块单片机的学习板,不要求那种价格上千块功能太全的,对于初学者来说你买功能太全的板子,上面有很多东西平常都用不着,我们建议有流水灯、数码管、独立键盘、矩阵键盘、AD 和 DA、液晶、蜂鸣器、IIC 总线、有 USB 扩展也最好,这些就差不多了。
如果上面提到的这些功能你能熟练应用,那可以说对于单片机本身的操作你已经入门了,剩下的就是自己练习设计外围电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难。
方法二你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板可能只需要几分钟的时间,而对于初学者可就难多了,因为只有对硬件彻底了解了,你才能熟练的驾驭它。
而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你还是选择方法一,毕竟自己有一块学习板要方便的多,以后做单片机类的小实验时经常都能用得上,省时又省事。
需要练习有了单片机学习板之后你就要多练习,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机的魅力所在。
当你编写的程序按你的意愿实现时,你比做任何事都开心,然后让数码管亮起来,这两项会了后,你已经不能自拔了,但是在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,或是上网搜索,当得到解答后你会记住一辈子的,知识必须应用于现实生活中,解决实际问题,这样才能发挥它的作用。
另外再谈谈关于用汇编语言还是 C 语言编程的问题,很多同学大一就开设了C语言的课,建议用C语言比较好,如果原来有 C 语言的基础那学起来会更好,如果没有,也可以边学单片机边学 C 语言,C 语言很简单,只是一门工具而已,将来肯定用得着,要不然以后也得学,你一点汇编都不会根本无所谓,但你一点 C 语言都不会那你将来会吃苦头。
书籍推荐给大家推荐一本书,作者谭浩强,书名《C程序设计》,清华大学出版社,大家在学习本书的同时再参考上面提到的这本书更有利于 C 语言学习。
也根本没必要再从头把《C程序设计》学一遍,就算再学一遍也许结果还是和你现在一样,最好的办法就是用到哪里学哪里。
编程语言汇编写程序代码效率高,但相对难度较大,而且很繁琐,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的 ROM 也在不断的提高,足够装得下你用 C 语言写的任何代码,C 语言的资料又多又好找,将来可移植性非常好,所以我建议大家用C语言。
总结总结上面,只要你有信心,做事能坚持到底,有不成功绝不放弃的强烈意志,那学个单片机对你来说就是件非常容易的事。建议步骤:
看书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书。
用学习板练习编写程序,学单片机主要就是练编程序,遇到不会的再问人或查书。
自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。
自己完全设计具有个人风格的电路、产品的能力时你已经是高手了。