在按钮1按下时如预期功能,价格表开始工作,并且清零所有位数如图21
所示。
图21 按钮1测试图
在按钮2按下的时候第一位显示为“P.”并可以修改价格,按一下按钮3
就可以进行价格修改,如图22和图23所示。
图22 按钮2测试图
图23 按钮3测试图
在按钮4按下后,当前位的后一位显示“P.”并且能利用按键三来进行修改,如图24和25所示。
图24 按钮4测试图
图25 按钮3测试图
4.3 误差分析
16
在设计中存在一定误差。误差为数码管显示不够明亮,产生误差的原因可能是电源供电不足或者线路焊接不稳定等原因导致
4.4 设计总结与心得
设计是采用keil进行汇编编程,在编程中不断学习单片机的控制方法和汇编程序的编写方法,过程中对单片机的I/O口控制和功能的了解不断加深,并在不断失败中修改编程方法。而且对数码管的控制、内部结构、接线方式也有了深入的了解。
在设计中遇到的最大问题就是两位数码管出现了重影,而且迟迟无法解决。初期通过改变编程方法不断修改程序无果,后来使用了Proteus进行仿真发现在连续调用两次显示程序后P2.7和P3.7口的一直处于有效状态,后来通过用CLR指令清零P2.7和P3.7的状态让设计成功。
结束语
通过此次单片机课程设计,我学到了很多知识,对AT89C52芯片以及单片机各模块功能有了进一步的理解。从开始对单片机系统以及汇编程序的陌生,到渐渐熟悉,经历了一个相当漫长的过程。课程设计让我有了将理论运用于实践的机会,通过不断的去图书馆和网上查找电子价格牌的相关知识,课程设计一步一步的进行着。
后来开始用Altium Designer软件画图,通过不断的修改,最终完成了电子价格表的原理图和PCB图。接下来进行Keil程序的汇编,经过长达一星期的奋斗,汇编程序终于完成。由于课程设计是电子价格牌的设计,需要用到的模块与之前做过的三合一单片机系统板几乎相同,所以课程设计没有再重新制作电路板,降低了课程设计的难度。
17
参考文献
[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.6. [2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12. [3]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003.01. [4]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.9.
18
致 谢
本次单片机课程设计能画上圆满的句号,首先要感谢我的指导老师吴乐,老师不仅在学术上予以指导,同时也给予了我极大的鼓励和支持,使我能一直有饱满的热情来完成我的课程设计,在设计过程中遇到很多问题,吴老师总是引导我去寻找引发问题的原因,并提出解决问题的方法。我向老师表示诚挚的感谢。其次,我还要感谢我的同学,他们给我讲解了很多我不懂的地方,没有他们的帮忙,我很难顺利完成此次单片机课程设计。
19
附 录
附录A 元器件清单
序号 名称 型号 数量(个) 1 AT89C52单片机芯片锁紧座 40P 1 2 AT89C52单片机 40P 1 3 四位一体共阳数码管插座 1 4 四位一体共阳数码管 40P 4 5 74LS573芯片插座 20P 5 6 74LS573 20P 2 7 晶振 12MHz 2 8 发光二极管 1 9 单排插针 40P 2 10 三极管 9012 3 11 蜂鸣器 3 12 小按键 3 13 下载口座子 3 14 六脚按键电源开关 3 15 USB电源线 3 16 USB电源线插座 3 17 电阻 470 16 18 电阻 200 3 19 电阻 1K 3
20