刚把郭天祥的51单片机教程看完,就赶紧自己弄一个最小系统。
我身边没有高手,所以自己的电路都是参照网上现成的。刚开始一切都是那么艰难,电路图连接好后,程序根本烧不进去。真是想尽了一切问题的可能:串口线的连接错误,max232的问题,或者单片机本身的问题(包括晶振和复位电路的问题)。
首先就是max232的问题了,看资料上说2,6角输出电压为10V,我测了一下我的为9V左右,是正确的。然后就是串口线了,在网上看了很多资料,说将连接单片机的10脚和11脚的两线短接,并用串口调试助手发送字符,看是否收的到,我试了一下,结果收到了,那么,可以确定max232和串口都没有问题。最后就把问题集中在单片机电路的部分了。
首先想到的是我的单片机到底工作了没有。那么晶振到底坏了没有呢?我马上换了一个晶振,把单片机用别人的烧写机烧了一个程序进去,如果程序运行,那么单片机也就工作了。但是之后有那么一下运行了,之后就不运行了。接着在网上看到说,看ale端的输出电压为2.5V以下,那么单片机就在运行,因为万用表测的是有效电压。我测了一下,我的还是5V,说明晶振根本没有振动。之后看见网上很多人说自己的手动一下,晶振就起振了,还有晶振布线要规范,不然晶振不会振动的。我接下来就把晶振的线路重新布置了一下,但还是很不稳定,有时候要复位电路的协助,晶振才起振。我想到了用按键作为电源的开关,之前是自己做的一个插式的,直接插上就通电了。结果真的很成功。那么可以断定,晶振的起振也需要电压的不稳定激荡,因为按按键的时候,电源电压有起伏。哎,也不知道我的结论正不正确?反正之后没有出现过问题。接下来,程序的少些也就顺理成章了。
总结:程序要烧写进去必须要单片机工作。
其实串口线连接最后就是要把电脑上的传输线,接收线,以及地线引出来连接到max232的相应端口。至于什么公头和母头怎样接,那只是怎么样达到这样一个接法。
后来就拿单片机来驱动12864了,也弄了一两天,最后竟然是数据线不对应的问题了,之前怎么也想不到是数据线的问题,总以为是驱动电源大小不符,还以为我买的12864是个水货。看来一切还是要从小问题着手啊!!!!!!
|