CJNE R2,#3,GO1 ;判断是否个位数码管?否则跳到GO1 ORL A,#80H ;将整数的数码管显示小数点 GO1:MOV P0,A ;送段码给P0口 MOV A,R3
MOV P2,A ;送位码给P2口 LCALL DELAY ;调用延时 MOV R3,A
RL A ;改变位码 MOV R3,A
INC R1 ;改变段码
DJNZ R2,DISP1 ;三位是否显示完?否则调到DISP1 RET
DELAY:MOV R6,#10 ;延时5S程序: D1:MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET
TAB: DB 3FH, 06H,5BH,4FH,66H;共阴极数码管显示0-4 ;显示数据表: DB 6DH,7DH,07H,7FH,6FH;显示5-9 END
5 调试结果与分析
5.1调试结果图
调节滑动变阻器的位置,可以测出相应的电压值,如图4-1所示:
图5-1测量电压仿真图
该电路可测得电压范围是0-3V,最大电压值如图5-1所示。
该电路测量的误差在约为±0.02V,如图4-2所示。
图5-2最小测量误差图
6 设计总结
本文给出了利用单片机进行数字电压表设计的一个实例,利用仿真功能强大、仿真元件模型丰富的Proteus软件对数字电压表各个单元电路和整体电路进行了设计和详尽的仿真分析,缩短了设计周期,提高了设计效率,降低了设计成本。采用KEIL和proteus软件结合使用进行仿真,取得了较好的仿真效果。在这次设计过程中,我对电路设计、单片机的使用等都有了新的认识。通过这次设计学会了Proteus和KEIL软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。
基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作性能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。
通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。
总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。
利用仿真功能强大、仿真元件模型丰富的Proteus软件对数字电压表各个单元电路和整体电路进行了设计和详尽的仿真分析,缩短了设计周期,提高了设计效率,降低了设计成本。 同时, Proteus软件对于电子技术的教学演示和实际设计都具有很大的辅助作用。
通过这次课程设计让我对单片机理论有了更加深入的了解。我深刻体会到了自己知识的匮乏。我深深的感觉到自己知识的不足,自己原来所学的东西只是一个表面性的,理论性的,而且是理想化的。根本不知道在现实中还存在有很多问题。真正的能将自己的所学知识转化为实际所用才是最大的收获,也就是说真正的能够做到学为所用才是更主要的。设计一个很简单的电路,所要考虑的问题,要比考试的时候考虑的多的多。
我突然发现,如果总是止步于书本上学习单片机,会觉得很抽象,无法理解也不会有兴趣,但是当理论知识和实践结合到一起之后,就会非常有趣,而且还会印象深刻富有成就感。所以我很珍惜这次的设计学习,我以后会多加练习。
参考文献
[1] 罗亚非.凌阳16位单片机[M].北京:北京航空航天大学出版社,2005. [2] 薛峰.微机通讯技术大全[M].北京:电子工业出版社,2002. [3] 张念维.USB总线接口开发指南[M].北京:电子出版社,2002.
[4] 周立功.单片机实验与实践[M].北京:北京航空航天大学出版社,2004. [5] 周航慈.单片机应用程序设计技术[M].北京:航空航天大学出版社,2002.
[6] 陈朝元,鲁五一.Proteus软件在自动控制系统仿真中的应用[J].系统仿真学报, 2008(1):318-320.
[7] 毛谦敏.单片机原理及应用设计系统[M].北京:国防工业出版社,2008:22-26. [8] 康华光.电子技术基础(数字部分) [M]. 5版. 北京:高等教育出版, 2005: 290-293. [9]王伟,刘晓平.高精度数字电压表方案设计[J].仪表技术,2007,(4):36-39.