51单片机 偶完全自学的,因为想学的时候离学校开课还早得很。 学完了单片机,现在学校课也开完了,收获很大。现将偶学习经验写出来,供大家交流。
1、因为有了C语言和汇编语言的基础,加上模电学得不错。微机原理也上了。所以我只花了半天的时间把51的引脚功能和内部结构搞清楚了。偶认为学51重要的就是搞清内部结构和地址空间。
2、仅用了几个小时简单看了一下51的汇编指令和C语法。 我个人认为学习程序语言的语法规则是很简单的,且各种语言之间都有共通的地方,有了汇编和某种高级语言的基础学其它语言应该能很快上手。
3、直接编程练习,软件硬件实现。
我的第一个程序是跑马灯程序。这个会让你熟悉端口的用法,普通流程控制。当然是C语言写一个,汇编写一个,实现同样的功能。
我的第二个程序是电子钟。 这个程序会使你对中断有更深入的了解和学会中断的应用,包括外部中断(调整时间)的应用。同样C和汇编两种方法实现。还会学会数码管的驱动,动态扫描,查表编程等。
我的第三个程序 DS1821温度计,这个程序使我学习如何从一个不熟悉的器件的数据资料读取其时序图,用单片机来模拟其时序以实现对器件的操作。同样用C和汇编同时实现。
我的第四个程序 128×64液晶显示程序。 这个程序会学会液晶显示原理,单片机数据口线的操作等。同样两种语言实现。
我的第五个程序 IIC通信。ZLG7290作键盘控制。
学习用书:《单片微型计算机原理及应用》 张毅坤 西电
《Keil Cx51 V7.0单片机高级语言编程与uVision2应用技术》 徐爱钧 电子工业出版社
最后强调一点: 上面写的五个程序全部做成硬件电路实现。
后记: 这只是我个人学习51的一点观点,像某些扩展芯片的使用,偶在微机原理就写过相关程序,其实现在用51教材写的有些芯片是很少用的,所以偶没有做。
个人观点:真要是把上面写的5个程序给吃透了,你51也就达到可以应用的级别了。
扩展阅读:51单片机使用点滴