到了2008年1月,也就是在我大一期末的时候,终于对电子这一门学科有了更深一步了解,明白了电子并不是关拿着别人的电路焊焊就好了,听学长们说电子行业的发展应该朝着嵌入式方向发展,因此我决定在寒假的时候开始学习单片机,当时看了杜洋在《无线电》11月份发表的单片机入门专题后便对单片机学习更加感兴趣了,因此在放寒假离开学校的前几天,逛了西安最大的书城,挑了一本学习单片机入门的书籍《单片机C语言轻松入门》,作者是周坚,也就是网上所说的“平凡的单片机”。后来证明,这本书选得真是太对了,后来好多学单片机的人问我,我推荐这本书,现在都买不到了,很适合初学者看。(说个小插曲,在大一上半学期期末的时候,我自高奋勇接了一个小项目,技术含量不是很高,但人家要用印制电路板做,后来就买了一大堆材料回来学习制作腐蚀电路板,虽然也是没赚什么钱,但却学会了腐蚀法制PCB的步骤)。
寒假期间,我开始在家里面自学单片机,由于没有开发板的硬件环境,于是自己用万用版焊了一个万用版。电路图是看了别人的开发板的电路图以后自己设计的,实物图:
后来发现这个板子能做的实验太少,于是把电路又改进了一下,重新做了一个功能还可以的开发板:
简单介绍一下这个板子功能:8路流水灯、独立键盘、两位八段数码管、1602液晶接口、蜂鸣器、继电器、红外解码、IIC通信(与AT24C02通信)、SPI通信(与X5045)、串口通信(支持STC系列单片机ISP下载)还有一个给AT89S系列的ISP的并口下载线,怎么样,基本的功能还可以吧。
在设计这个实验板器件,我学会了用Protel DXP画电路图和PCB,但画PCB没什么经验可谈,因为做的机会不是很多。并且通过做这个实验板,我对51单片机各个基本模块的电路都是比较熟悉了。后来我又设计了一个功能很完全的开发板,可是后来由于时间关系没有把他做成实物,这是我设计的电路截图:
寒假里面的学习虽然并没有对51单片机程序的东西掌握多少,因为那时候还没学C语言,所以看程序就是一头雾水,但对单片机的各个外围接口的电路总算是略知一二了。
到了大一的下学期,学校开了C语言的课,因此在学习基本C语言的基础上又去理解C51,就这样慢慢的,从一开始看别人程序到改别人程序,最后可以写出自己的程序,从一开始简单的流水灯到数码管扫描、键盘扫描、AD和DA转换、IIC通信、SPI通信、UART通信、1602液晶、12864液晶、DS18B20等51系列单片机各个模块的程序都已经基本掌握了,自己也有了一定的编程功底,在此期间,做了一个杜洋在07年无线电11月份《无线电》杂志上发表的单片机入门专辑里面的一个3208LED点阵时钟,那个制作,线是连了一大堆,最后由于检查了许久,电路弄了许多次都没成功,到最后发现是LED点阵坏了,于是决定不再在这个上面浪费时间。。。(后来一个学长把电路做成功了,但无线电杂志的源程序上有个BUG,已经被我解决了O(∩_∩)O~)。在大一下半学期的日子了,我学习了Proteus这个软件直到现在,我发现这个软件的功能是相当强大的,为我们单片机学习和电路设计提供了不少方便,我现在设计电路和程序都离不开它,它强大的MCU仿真能力是现今任何一款电路设计软件都无法超越的,现在我甚至用它来画PCB。
——未完待续