《基于Proteus的数字电压表设计与仿真(共10页).doc》由会员分享,可在线阅读,更多相关《基于Proteus的数字电压表设计与仿真(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上课程设计报告题 目:数字电压表设计与仿真 学生姓名: 吴鹏 学生学号: 系 别: 电气院 专 业: 自动化 届 别: 2011 指导教师: 张水锋 电气信息工程学院2013年摘要:在现代检测技术中,常用高精度数字电压表进行检测,将检测到的数据送入微型计算机系统,完成计算、存储、控制等功能。本文中数字电压表的控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化,还可以方便地进行8路A/D转换的测量,远程测量结果传送等功能。数字电压表可以测量
2、05V的电压值,并在四位LED数码管上轮流显示, 并且应用Proteus的ISIS软件进行单片机系统设计与仿真.关键词:单片机;数字电压表;A/D转换ADC0809;Proteus1 绪论随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。同时随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命 1。由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点
3、,加上经过优化的程序,使其有很高的智能化水平2。数字电压表相对于指针表而言读数直观准确,电压表的数字化是将连续的模拟量转换成不连续的离散的数字形式并加以显示。这有别于传统的以指针与刻度盘进行读数的方法,避免了读数的视差和视觉疲劳3。2 系统方案设计利用MCS-51系列单片机设计简易数字电压表测量05v的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。测量误差约为0.02V。系统设计方框图如图1所示。图1系统设计方框图3 硬件电路设计3.1时钟电路XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内
4、部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路如图2所示2。图2时钟电路图3.2复位电路复位电路如下图3所示,按键没有按下时,RST端接电容下极板是低电平,按键按下时,RST端接在电阻上端变为高电平,达到复位的目的2。图3复位电路图3.3数据采集模块 通过ADC0809采集数据,输入到单片机内,如图4所示:图4数据采集模块电路图3.4显示电路 通过4位数码管来显示,如图5所示:图5显示电路图4 软件设计4.1主程序流程图主程序流程图如图6
5、所示:图6主程序流程图4.2显示子程序流程图 显示子程序流程图如图7所示:图7显示子程序流程图4.3 A/D转换子程序流程图 A/D转换子程序流程图,如图8所示:图8 A/D转换子程序流程图4.4数据处理子程序流程图数据处理子程序流程图,如图98所示:图9数据处理子程序流程图5 源代码LED1 EQU 30H ;初始化定义LED2 EQU 31HLED3 EQU 32H ;存放三个数码管的段码ADC EQU 35H ;存放转换后的数据ST BIT P3.2OE BIT P3.0EOC BIT P3.1 ;定义ADC0809的功能控制引脚ORG 0000HLJMP MAIN ;跳转到主程序执行O
6、RG 0030HMAIN: MOV LED1,#00H MOV LED2,#00H MOV LED3,#00H ;寄存器初始化 CLR P3.4 SETB P3.5 CLR P3.6 ;选择ADC0809的通道2WAIT: CLR ST SETB ST CLR ST ;在脉冲下降沿启动转换 JNB EOC,$ ;等待转换结束 SETB OE ;允许输出信号 MOV ADC,P1 ;暂存A/D转换结果 CLR OE ;关闭输出 MOV A,ADC ;将转换结果放入A中,准备个位数据转换 MOV B,#50 ;变换个位调整值50送B DIV AB MOV LED1,A ;将变换后的个位值送显示缓冲
7、区LED1 MOV A,B ;将变换结果的余数放入A中,准备十分位变换 MOV B,#5 ;变换十分位调整值5送B DIV AB MOV LED2,A ;将变换后的十分位值送LED2 MOV LED3,B ;最后的余数作百分位值送LED3 LCALL DISP ;调用显示程序 AJMP WAITDISP:MOV R1,#LED1 ; 显示子程序 CJNE R1,#5,GO ;R1=5V?是往下执行,否,则到GO MOV LED2,#0H ;是5V,即最高值,将小数的十分位清零 MOV LED3,#0H ;将小数的百分位清零 GO:MOV R2,#3 ;显示位数赋初值,用到3位数码管 MOV R
8、3,#0FDH ;扫描初值送R3DISP1:MOV P2,#0FFH ;关闭显示,目的防止乱码 MOV A,R1 ;显示值送A MOV DPTR,#TAB ;送表首地址给DPTR MOVC A,A+DPTR ;查表取段码 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 ;三位是否显示
9、完?否则调到DISP1 RETDELAY: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 END6电路原理图 电路原理图如图10所示:图10电路原理图7 仿真图 调节滑动变阻器的位置,可以测出相应的电压值,如图11所示。图11测量电压仿真图该电路可测得电压范围是0-5V,最大电压值如图12所示。图12最大测量电压图该电路测量的误差在约为0.02V,如图13所示。 图13最小测量误差图8 结束语利用仿真功能强大、仿真元件模型丰富的Proteus软件对数字电压表各个单元电路和整体电路进行了设计和详尽的仿真分析,缩短了设计周期,提高了设计效率,降低了设计成本. 同时, Proteus软件对于电子技术的教学演示和实际设计都具有很大的辅助作用.参考文献1 陈朝元,鲁五一.Proteus软件在自动控制系统仿真中的应用J.系统仿真学报, 2008(1):318-320.2 毛谦敏.单片机原理及应用设计系统M北京:国防工业出版社,2008:22-26.3 康华光.电子技术基础(数字部分) M. 5版. 北京:高等教育出版, 2005: 290-293.专心-专注-专业
限制150内