东北石油大学课程设计2013年7月8日课程电子技术课程设计题目基于proteus的数字电压表设计与仿真院系电气信息工程学院专业班级学生姓名学生学号指导教师东北石油大学课程设计任务书课程电子技术课程设计题目基于proteus的数字电压表设计与仿真专业自动化姓名学号主要内容:根据设计要求,运用所学的模拟电子技术及电路基础等知识,自行设计一种数字电压表可以准确、直观读数的电子装置,电压表的数字化是将连续的模拟量转换成不连续的离散的数字形式并加以显示。这有别于传统的以指针与刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。基本要求:1.利用高效单片机作为核心的测量系统以及灵敏度和精度较高的A/D转换器2.精度高、灵敏度强、性能可靠、电路简单、成本低3.将连续的模拟量转换成不连续的离散的数字形式并加以显示主要参考资料:[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.完成期限2013.7.1-2013.7.5指导教师专业负责人2013年7月3日目录1任务和要求......................................错误!未定义书签。1.1研究背景...................................错误!未定义书签。2单元电路设计....................................................22.1LCD的显示原理.............................................22.2时钟电路...................................................22.3复位电路...................................................32.4数据采集模块...............................................32.5显示电路...................................................43电路总原理框图设计..............................................44总体方案设计与流程.............................................54.1主程序流程图...............................................54.2显示主程序流程图...........................................54.3A/D转换子程序流图.........................................64.4数据处理主程序流程图.......................................64.5源代码.....................................................75调试结果与分析..................................................95.1调试结果图.................................................96设计总结.......................................................11参考文献.........................................................12附录.............................................................13电子技术课程设计(报告)11任务和要求(1)任务:设计并仿真数字电压表(2)数字电压表基本要求:利用高效单片机作为核心的测量系统以及灵敏度和精度较高的A/D转换器精度高、灵敏度强、性能可靠、电路简单、成本低将连续的模拟量转换成不连续的离散的数字形式并加以显示电子技术课程设计(报告)22单元电路设计2.1LCD的显示原理TFT-LCD液晶显示器的结构与TN-LCD液晶显示器基本相同,只不过将TN-LCD上夹层的电极改为FET晶体管,而下夹层改为共通电极。TFT-LCD液晶显示器的工作原理与TN-LCD却有许多不同之处。TFT-LCD液晶显示器的显像原理是采用“背透式”照射方式。当光源照射时,先通过下偏光板向上透出,借助液晶分子来传导光线。由于上下夹层的电极改成FET电极和共通电极,在FET电极导通时,液晶分子的排列状态同样会发生改变,也通过遮光和透光来达到显示的目的。但不同的是,由于FET晶体管具有电容效应,能够保持电位状态,先前透光的液晶分子会一直保持这种状态,直到FET电极下一次再加电改变其排列方式为止。2.2时钟电路XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路如图2-1所示。图2-1时钟电路图电子技术课程设计(报告)32.3复位电路复位电路如下图2-2所示,按键没有按下时,RST端接电容下极板是低电平,按键按下时,RST端接在电阻上端变为高电平,达到复位的目的。图2-2复位电路图2.4数据采集模块通过ADC0809采集数据,输入到单片机内,如图2-3所示:图2-3数据采集模块电路图电子技术课程设计(报告)42.5显示电路通过2-4位数码管来显示,如图5所示:图2-4显示电路图2电路总原理框图设计单片机AT89C51时钟电路复位电路数据采集显示电路模拟信号电子技术课程设计(报告)54总体方案设计与流程4.1主程序流程图主程序流程图如图3-1所示:初始化开始调用A/D转化程序调用数据处理程序调用显示程序图4-1主程序流程图4.2显示子程序流程图显示子程序流程图如图3-2所示:开始初始化,P0置高,P2置低P0到A输出显示P2=P2+1置位P0.7点亮小数点结束P0到A输出显示P2=P2+1P0到A输出显示P2=P2+1P0到A输出显示图4-2显示子程序流程图电子技术课程设计(报告)64.3A/D转换子程序流程图A/D转换子程序流程图,如图3-3所示:开始初始化启动A/D转化P3.1=1?P3.0置位,允许输出。将转化的数据保存结束YN图4-3A/D转换子程序流程图4.4数据处理子程序流程图数据处理子程序流程图,如图4-4所示:开始从34H中取数据,乘以19.5mv,得到的数据BCD麻化,将数据存入A转化双字节十六进制整数BCD码带进位自身相加,十进制调整R2=0?数据输入显示器结束NY图4-4数据处理子程序流程图电子技术课程设计(报告)74.5源代码LED1EQU30H;初始化定义LED2EQU31HLED3EQU32H;存放三个数码管的段码ADCEQU35H;存放转换后的数据STBITP3.2OEBITP3.0EOCBITP3.1;定义ADC0809的功能控制引脚ORG0000HLJMPMAIN;跳转到主程序执行ORG0030HMAIN:MOVLED1,#00HMOVLED2,#00HMOVLED3,#00H;寄存器初始化CLRP3.4SETBP3.5CLRP3.6;选择ADC0809的通道2WAIT:CLRSTSETBSTCLRST;在脉冲下降沿启动转换JNBEOC,$;等待转换结束SETBOE;允许输出信号MOVADC,P1;暂存A/D转换结果CLROE;关闭输出MOVA,ADC;将转换结果放入A中,准备个位数据转换MOVB,#50;变换个位调整值50送BDIVABMOVLED1,A;将变换后的个位值送显示缓冲区LED1MOVA,B;将变换结果的余数放入A中,准备十分位变换MOVB,#5;变换十分位调整值5送BDIVABMOVLED2,A;将变换后的十分位值送LED2MOVLED3,B;最后的余数作百分位值送LED3LCALLDISP;调用显示程序AJMPWAITDISP:MOVR1,#LED1;显示子程序CJNE@R1,#5,GO;@R1=5V?是往下执行,否,则到GOMOVLED2,#0H;是5V,即最高值,将小数的十分位清零MOVLED3,#0H;将小数的百分位清零GO:MOVR2,#3;显示位数赋初值,用到3位数码管MOVR3,#0FDH;扫描初值送R3DISP1:MOVP2,#0FFH;关闭显示,目的防止乱码MOVA,@R1;显示值送AMOVDPTR,#TAB;送表首地址给DPTRMOVCA,@A+DPTR;查表取段码电子技术课程设计(报告)8CJNER2,#3,GO1;判断是否个位数码管?否则跳到GO1ORLA,#80H;将整数的数码管显示小数点GO1:MOVP0,A;送段码给P0口MOVA,R3MOVP2,A;送位码给P2口LCALLDELAY;调用延时MOVR3,ARLA;改变位码MOVR3,AINCR1;改变段码DJNZR2,DISP1;三位是否显示完?否则调到DISP1RETDELAY:MOVR6,#10;延时5S程序:D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETTAB:DB3FH,06H,5BH,4FH,66H;共阴极数码管显示0-4;显示数据表:DB6DH,7DH,07H,7FH,6FH;显示5-9END电子技术课程设计(报告)95调试结果与分析5.1调试结果图调节滑动变阻器的位置,可以测出相应的电压值,如图4-1所示:图5-1测量电压仿真图该电路可测得电压范围是0-3V,最大电压值如图5-1所示。电子技术课程设计(报告)10该电路测量的误差在约为±0.02V,如图4-2所示。图5-2最小测量误差图电子技术课程设计(报告)116设计总结本文给出了利用单片机进行数字电压表设计的一个实例,利用仿真功能强大、仿真元件模型丰富的Proteus软件对数字电压表各个单元电路和整体电路进行了设计和详尽的仿真分析,缩短了设计周期,提高了设计效率,降低了设计成本。采用KEIL和proteus软件结合使用进行仿真,取得了较好的仿真效果。在这次设计过程中,我对电路设计、单片机的使用等都有了新的认识。通过这次设计学会了Proteus和KEIL软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作性能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C