12014~2015学年第2学期《单片机应用技术》课程设计报告题目:数字电压表设计专业:12自动化班级:1班姓名:指导教师:陆媛宋洪儒电气工程学院2015年5月15日2任务书课题名称指导教师(职称)陆媛宋洪儒执行时间2014~2015学年第2学期第11周学生姓名学号承担任务吴伟1209111051软件仿真电路设计谈阳1209111039原理设计罗伟1209111034系统软件程序设计黄亚洲1209111020测试与调试设计目的1、进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4、通过程序设计和仿真,逐步掌握模块化程序设计方法和仿真软件的使用。5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发单片机应用系统的全过程,为今后从事相应打下基础。设计要求可以测量0~5V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V~5.00V,1位LED数码管显示路数,3路分别为0-2。要求测量的最小分辨率为0.02V。3摘要随着电子科学技术、传感技术、自动控制技术和计算机技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,单片机技术作为计算机技术的一个分支广泛应用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域。本文介绍一种以AT89S51单片机为核心的数字电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD1601液晶模块显示,并可以与PC机进行串行通信。该电路设计新颖、功能强大、可扩展性强。4目录摘要..............................................................31引言............................................................52设计原理及要求...................................................62.1数字电压表的实现原理.......................................62.2数字电压表的设计要求.......................................63软件仿真电路设计.................................................63.1设计思路...................................................63.2仿真电路图.................................................73.3设计过程...................................................83.4AT89C51的功能介绍.........................................83.5ADC0809的引脚及功能介绍..................................113.674LS373芯片的引脚及功能..................................133.7LED数码管的控制显示......................................134系统软件程序的设计..............................................144.1主程序....................................................144.2A/D转换子程序............................................164.3中断显示程序..............................................175使用说明与调试结果..............................................186总结...........................................................18参考文献.........................................................19附录1源程序.....................................................20附录2仿真结果...................................................23答辩记录及评分表.................................................2751引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号62设计原理及要求本设计是利用单片机AT89C51与ADC0809设计一个数字电压表,测量0-5V之间的直流电压值,四位数码显示。2.1数字电压表的实现原理ADC0809是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。ADC0809具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。2.2数字电压表的设计要求可以测量0~5V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V~5.00V,1位LED数码管显示路数,3路分别为0-2。要求测量的最小分辨率为0.02V。3软件仿真电路设计3.1设计思路多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路组成,由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0808的CLK直接由外部电源提供为500kHz的方波。由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF)ADC0808采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压0~5V进行采集,所以D对应的电压为V0,我们的目的就是要把V0显示在LED显示器上,因为单片机不好进行小数点计算,所以有:V0=2*D扩大了100倍,扩大100倍后的结果高八7位放寄存器B,低八位放寄存器A,分寄存器B为0或不为0的情况进行存取数据,得到的结果个位放入R0,十位放入R1,通过查表使之显示在LED显示器。3.2仿真电路图用Protues软件仿真设计的电路如图3-1所示。图3-1仿真电路83.3设计过程系统结构框图系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。利用中断设置单片机的P2.4口取反产生脉冲做AT89C51的时钟信号。通过按键选择八路通道中的一路,将该路电压送入ADC0809相应通道,单片机软件设置ADC0809开始A/D转换,转换结束ADC0809的EOC端口产生高电平,同时将ADC0809的EO端口置为高电平,单片机将转换后结果存到片内RAM。系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环3.4AT89C51的功能介绍3.4.1简单概述AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89时钟电路复位电路单片机LED显示电路A/D转换测量电压输入电路9C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示。图3-2AT89C51芯片模型3.4.2主要功能特性(1)4K字节可编程闪烁存储器。(2)32个双向I/O口;128×8位内部RAM。(3)2个16位可编程定时/计数器中断,时钟频率0-24MHz。(4)可编程串行通道。(5)5个中断源。(6)2个读写中断口线。(7)低功耗的闲置和掉电模式。(8)片内振荡器和时钟电路。3.4.3AT89C51的引脚介绍89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C5110(1)