毕业设计(论文)-基于单片机的数字电压表的设计_第1页
毕业设计(论文)-基于单片机的数字电压表的设计_第2页
毕业设计(论文)-基于单片机的数字电压表的设计_第3页
毕业设计(论文)-基于单片机的数字电压表的设计_第4页
毕业设计(论文)-基于单片机的数字电压表的设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1题目基于单片机的数字电压表的设计目录摘要。1ABSTRACT。2第1节引言。311数字电压表意义。412数字电压表设计方案。5第2节数字电压表硬件结构设计。621系统硬件的构成框图。722AT89S52单片机及其引脚说明。824信号调理电路。925数据采集电路设计。1026显示模块。11第3节软件设计。1231软件设计结构图。1332量程转换。1433BCD转换。1534LCD显示。16第4节设计调试。17第5节结束语。18参考文献。19附录C语言程序代码。202基于AT89S52的直流数字电压表设计摘要随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计在参阅了大量前人设计的数字电压表的基础上,利用单片机技术结合A/D转换芯片A/D574A构建了一个直流数字电压表。本文首先简要介绍了设计电压表的主要方式以及单片机系统的优势;然后详细介绍了直流数字电压表的设计流程,以及硬件系统和软件系统的设计,并给出了硬件电路的设计细节,包括各部分电路的走向、芯片的选择以及方案的可行性分析等。关键词单片机MCU;电压;A/D转换;AD574A。ABSTRACTWITHTHEDEVELOPMENTOFELECTRONICALSCIENTIFICTECHNOLOGY,ELECTRONICALMEASUREMENTBECAMEATECHNICTHATEVERYONEOFENGAGINGELECTRONICALHADTOMASTERITWHATSMORE,THEPRECISIONISHIGHERANDHIGHERAND,THEFUNCTIONISMOREANDMOREPOWERFUL,ANDVOLTAGESMEASUREMENTISBESTIMPORTANTPRIMARILY,IDESIGNEDADIGITALVOLTMETERUSEMCUTECHNICWITHA/DSWITCHCHIPAD574ABASEONLOTSOFPREDECESSORDESIGNINTHISARTICLE,INTRODUCESOMEMETHODSTHATDESIGNDIGITALVOLTMETERANDTHEADVANTAGESOFUSEMCUSYSTEMTODOITONTHEFIRSTTHENTREATTHEPROCEDUREOFDESIGNOFDIRECTDIGITALVOLTMETER,CONTAINTHEHARDWAREANDSOFTWAREKEYWORDSMICROCONTROLLERUNIT;VOLTMETER;A/DSWITCH;AD574A。11设计任务设计一个基于PC机的数字电压表。用单片机技术及相应仿真平台进行开发,通过数据采集系统,对电压进行采集并作A/D转换,在传输给单片机。设计的主要要求及指标;(1)数字电压表测量电压类型数直流,测量范围是5V5V。(2)整机电路包括数据采集电路的单片机最小化设计、单片机与PC机的接口电路、单片机时钟电路、复位电路等。(3)下位机采用AT89S52芯片,A/D转换采用AD574A芯片。(4)通过RS232串行口与PC进行通信,传送所测量的直流电压数据。12总体方案设计在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表(DIGITALVOLTMETER)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。本设计从各个角度分析了由单片机组成的数字电压表的设计过程及各部分电路的组成及其原理,并且分析了程序如何驱动单片机进而使系统运行起来的原理及方法。框图如下3本设计主要分为两部分硬件电路及软件程序。而硬件电路又大体可分为单片机小系统电路、量程转换电路电路、A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用KEIL软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。33系统硬件电路设计331单片机最小系统电路1单片机芯片选择单片机采用MCS51系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统可编程FLASH,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能8K字节FLASH,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数单片机A/D转换器AD574A电压显示器模拟电压输入RS232串口通信量程控制电路系统总框图4器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和FLASH存储器结合在一起,特别是可反复擦写的FLASH存储器可有效地降低开发成本。其芯片引脚图如下图21_1AT89S52引脚图AT89S52单片机外围接口主要包括(1)复位电路(2)晶振电路(3)直流电源单片机采用按键高电平复位,而单片机在平时则复位端为低电平0。晶振电路也采用外部无源晶振。5电路连接图如下图图21_2单片机小系统332A/D转换器与单片机接口电路设计。1A/D转换器芯片选择模数转化器是一种将连续的模拟量转化成离散的数字量的一种电路或器件。模拟信号转换为数字信号一般需要经过采样保持和量化编码两个过程。针对不同的的采样对象,有不同的A/D转化器可供选择,其中有同用的也有专用的。有些ADC还包含有其他功能,在选择ADC器件时需要考虑多种因素,除了关键参数、分辨率和转化速度外,还应考虑其他因素,如动态与静态精度、数据接口类型、控制接口与定时、采样保持性能、基本要求校准能力、通道数量、功耗、使用环境要求、封装形式以及与软件相关的问题。ADC按功能划分,可以分为直接转换和非直接转换两大类,其中非直接转换又有逐次分级转换、积分式转换等类型。A/D转换器在实际应用时,除了要设计适当采样/保持电路、基准电路和多路模拟开关等电路外,还应根据实际选择的具体芯片进行输入模拟信号极性转换等设计。方案1采用分级式转换器,这种转换采用两部或多部进行分辨的闪烁式转换,进而快速完成模拟数字信号的转换,同时实现较高分辨率。例如,在利用两步分级完成N位转换的过程中,首先完成M位的粗转换,然后使用精度至少M位的数/模DAC转换器将此结果转换达到1/2的精度并且与输入信号比较。对此信号用一个K位转换器(KMN)转换,最后将两个输出结果合并。方案2采用双积分型转换器,如ICL7135等。双积分型A/D转换器转换精度高,但转换速度不太快,若用于电压测量,不能及时地反映当前电压值,而且多数双积分型A/D转6换器其输出端都不是二进制码,而是直接驱动数码管的。所以,若直接将其输出端接I/O口会给软件设计带来极大的不方便。方案3采用逐次逼近式转换器,对于这种转换方式,通常用一个比较器输入信号与作为基准的N位DAC输出进行比较,并执行N次1位转换。这种方法类似于天平上用二进制码称量物质。采用逐次逼近寄存器,输入信号仅于最高位(MSB)比较,确定DAC的最高位(DAC满量程的一半)。确定结果0或1被锁存,同时加到DAC上,以决定DAC输出(0或1/2)。逐次逼近式A/D转换器,如ADC0809、AD574等,其特点是转换速度快,精度也比较高,输出为二进制码,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示,直接接I/O口,软件设计方便。方案选择选择方案3理由;本设计中,要求精度小于01,则必须选用分辨率大于8位的芯片,如10位、12位、14位或16位A/D转换器,比如AD573、AD574A、ADC1140等。本电路采用AD574A。AD574A是美国ANALOGDEVICE公司在AD574的基础上改进过的一种完全12位单片A/D转换器。它采用逐次逼近型的A/D转换器,最大转换时间为25US,转换精度为005,所以适合于高精度的快速转换采样系统。芯片内部包含微处理器借口逻辑(有三态输出缓冲器),故可直接与各种类型的8位或者16位的微处理器连接,而无需附加逻辑接口电路,切能与CMOS及TTL电路兼容。AD574A采用28脚双列直插标准封装,其引脚图如下图22_12A/D转换器管脚说明A/D574A有5根控制线,逻辑控制输入信号有7A0字节选择控制信号。CE片启动信号。/CS片选信号。当/CS0,CE1同时满足时,AD574才处于工作状态,否则工作被禁止。R/C读数据/转换控制信号。12/8数据输出格式选择控制信号。当其为高电平时,对应12位并行输出;为低电平时,对应8位输出。当R/C0,启动A/D转换当A00,启动12位A/D转换方式;当A01,启动8位转换方式。当R/C1,数据输出,A00时,高8位数据有效;A01时,低4位数据有效,中间4位为0,高4位为三态。输出信号有STS工作状态信号线。当启动A/D进行转换时,STS为高电平;当A/D转换结束时为低电平。则可以利用此线驱动一信号二极管的亮灭,从而表示是否处于A/D转换。其它管脚功能如下10VIN,20VIN模拟量输入端,分别为10V和20V量程的输入端,信号的另一端接至AGND。DB11DB012位数字量输出端,送单片机进行数据处理。REFOUT10V内部参考电压输出端。REFIN内部解码网络所需参考电压输入端。BIPOFF补偿校正端,接至正负可调的分压网络,0输入时调整数字输出为0;AGND接模拟地。DGND接数字地。223AD574A与单片机接口由于对AD574A8、10、12引脚的外接电路有不同连接方式,所以AD574A与单片机的接口方案有两种,一种是单极性接法,可实现输入信号010V或者020V的转换;另一种为双极性接法,可实现输入信号55V或者1010V之间转换。我们采用双极性接法,电路图如下8图AD574A与单片机接口电路根据芯片管脚的原理,无论启动、转换还是结果输出,都要保证CE端为高电平,所以可以将单片机的/RD引脚和/WR端通过与非门与AD574A的CE端连接起来。转换结果分高8位、低4位与P0口相连,分两次读入,所以12/8端接地。同时,为了使CS、A0、R/C在读取转换结果时保持相应的电平,可以将来自单片机的控制信号经74LS373锁存后再接入。CPU可采用中断、查询或者程序延时等方式读取AD574A的转换结果,本设计采用中断方式,则将转换结束状态STS端接到P32(外部中断/INT0)。其工作过程如下A当单片机执行对外部数据存储器的写指令,并使CE1,/CS0,R/C0,A00时,进行12位A/D转换启动。BCPU等待STS状态信号送P32口,当STS由高电平变为低电平时,就表示转换结束。C转换结束后,单片机通过分两次读外部数据存储器操作,读取12位的转换结果数据。当CE1,/CS0,R/C1,A00时,读取高8位;当CE1,/CS0,R/C1,A01时,读取低4位。333串行口RS232与TTL电平转换电路部分91AT89S52与PC的接口电路采用芯片MAX232。MAX232是德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2个驱动器、2个接收器和1个电压发生器电路提供TIA/EIA232F电平。MAX232芯片起电平转换的功能,使单片机的TTL电平与PC的RS232电平达到匹配。串口通信的RS232接口采用9针串口DB9,串口传输数据只要有接收数据针脚和发送针脚就能实现同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。电路图如下2串口通信基本概念(1)常见的串口通信有两种,一种是RS232,另一种为RS485串行通信。当然还有近年来比较盛行的USB和IEEE1394,他们也属于串口通行的扩展在本设计中用到的是RS232串口通信。334自动量程转换电路10在智能仪器中常常用到自动量程转换技术这使得仪器在很短的时间内自动选取最合适的量程实现高精度的测量自动量程的实现一般通过控制输入信号的衰减放大倍数实现就电压表来说其输入测量电压会大于其AD转换器的输入范围所以它的量程切换基本上是信号衰减倍数切换的过程1自动量程基本控制流程自动量程转换由初设量程开始逐级比较直至选出最合适提量程为止自动量程转换的操作流程如上图所示继电器或其它控制开关从闭合转变为断开或从断开转变为闭合有一个短暂的过程所以在每次改变量程之后要延时一定的时间然后再进行正式的测量和断为了避免在两种量程的交叉点上可能出现的跳动还应考虑低量程的超量程比较值和高量程的欠量程比较值之间有一定的重叠范围。方案1简单的电压量程控制11如上图通过电阻网络实现电压衰减测量的输入阻抗约为RR1R2R3R4S1至S4单独合上时VOUT的大小分别为S1单独合上VOUTVIN1S2单独合上VOUTVINR2R3R4/R1R2R3R4S3单独合上VOUTVINR3R4/R1R2R3R4S4单独合上VOUTVINR4/R1R2R3R4选择R1R2R3R4由式中可以看出VOUT在一定范围时电阻网络衰减程度越大其可输入电压VIN范越大只要把R1R2R3R4的参数选好然后由S1S2S3S4选择测量电压出端即完成量程选择例如表头DVM输入电压为05伏设DVM输入阻抗无穷大要求测量电压量程有5V50V100V250V档输入电阻1M则有R4510000002502000020KR351000000100R450K20K30KR25100000050R4R3100K20K30K50KR11000000R4R3R21000K20K30K50K900K自动量程控制描述RANGE为当前量程变量VT为测量电压变量S1S4为量程档S1S4开关对应的量程档N2N4为量对应量程档的欠量程值RANGES4/预选250伏档进行电压测量/LOOPVTVOUT/进行电压测量/SWITCHRANGE/根据当前量程进行调整/CASES4IFVT5VOUTTEST/最高量程时VOUT5V,超负载/BREAKCASES3IFVT5VRANGE/超本档量程量程升一档/BREAKCASES2IFVT5VRANGEBREAKCASES1IFVT5VRANGEGOTOLOOP开关的选择采用继电器切换优点是导通阻抗小开路阻抗大但其动作速度慢也容易老化方案2自动量程转换运算放大技术来实现自动量程切换机制先把输入电压进行衰减不管输入测量电压多大都是通过同一阻抗网络进行分压最终结果是大电压时分得的电压较大反之则较小然后通过运算放大电路将此电压信号放大选择不同的放大倍数使输出电压在DVM的测量范围内从实现不同量程的电压测量。方案选择选择方案2理由由于断电器存在着体积大动作速度慢驱动电流大等缺点,故采用方案2自动量程转换电路由衰减器、放大器、接口及开关驱动三部分组成。为了完成各种量程电压的测量,电路中设计有20衰减系数的衰减器,1、2、5和20四种放大倍数的放大器,从而可以得到四个量程。量程转换电路中的切换开关使用CD4051模拟开关。模拟开关由AT89S52进行控制。1衰减电路。本设计中电阻网络衰减器如图本设计中衰减系数为20,所以电阻R1为190K,R2为1K。(2)程控放大和自动量程转换电路。程控放大器是智能仪器的常用部件之一。为了在整个测量范围内获取合适的分辨力,采用可变增益的放大器,放大器的增益由程序控制,这种放大器就是程控放大器。程控放大器13由放大器、可变反馈电阻网络和控制接口三部分组成。它与普通放大器的差别在于反馈电阻网络可变且受控与控制接口的输出信号。程控放大器有同相和反相两种。由于同相放大器具有较高的输入阻抗,这有利于提高测量电压准确度。不过,它引入了共模电压,因此使用高共模抑制比的运算放大器才能保证精度。由于选择同增益时,运算放大器反向输入端对地等效电阻的变化将引起失调偏差。设计中并没有采用T型反馈电阻网络,因此无法通过调整放大器本身的参数或零位来消除。这样只有通过自校正才能加以弥补。本设计中电压量程部分先把输入电压进行衰减120然后通过运算放大进行信号的放在改变放大电路的放大倍数即可实现量程的切换运算放大器是用电压负反馈比例放大由CD4051模拟开关进行RF的选择从而实现放大倍数的控制图中S1S3为调节电位器因为模拟开关存在导通电阻要用电位器进行调节利得到理想放大倍数。电路图如下CD4051为路模拟开关的结构原理如图33所示。CD4051由电平转换、译码驱动及开关电路三部分组成。当禁止端为“1”时,前后级通道断开,即S0S7端与SM端不可能接通;当为“0”时,则通道可以被接通,通过改变控制输入端C、B、A的数值,就可选14通8个通道S0S7中的一路。比如当C、B、A000时,通道S0选通;当C、B、A001时,通道S通;当C、B、A111时,通道S7选通。其真值表如表31所示。15335数字显示部分1通常的LED显示器有7段或8段和“米”字段之分。这种显示器有共阳极于共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的工作原理也一样。方案1采用静态显示方式。在这种方式下,各位LED显示器的共阳极(或共阴极)连接在一起并接地(或接电源正),每位段选线分别与一个8位的锁存器输出相连,各个LED的显示字符一经确定,相应的锁存器的输出将维持不变,只到显示另一个字符为止,正因为如此,静态显示器的亮度都比较高。若用I/O接口,这需要占用NX8位I/O口(LED显示器的个数为N)。这样的话,如果显示器的个数较多,那使用的I/O接口就更多,因此在显示器位数较多的情况下,一般都不用静态显示。方案2采用动态显示方式。当多位LED显示时,通常将所有位的段选线相应的并联在一起,有一个8位的I/O口控制,形成选线的多路复用。而各位的共阳极或共阴极有相应的I/O口线控制,实现各位的分时选通。其中段选线占用其中的一个8位I/O口,而16位选线占用N个I/O口(N为LED显示器的格数)。由于各位的段选线并联,断码的输出对各位来说都是相同的,因此,同一时刻,如果各位选线都处于选通状态的话,那LED显示器将显示相同的字符。若要个位LED能显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的为选线处于选通状态,而其他各位的位选线处于关闭状态。同时,段选线上输出相应位要显示字符的段码。这种显示方式占用的I/O口个数为8N(N位LED显示器的个数),相对静态显示少了很多,但需要占用大量的CPU资源,当CPU处理别的事情时,显示可能出现闪烁或者不显示的情况。方案3采用移位寄存器扩展I/O口,只需要占用3个I/O口,即数据、时钟、输出使能,从理论上讲就可以为限制的扩展I/O口,而且显示数据为静态显示,几乎不占用CPU资源。采用扩展口后,又能采用静态显示,这样,既解决了静态显示占用I/O口多的问题,也解决了动态显示不稳定、容易闪烁、占用CPU资源过多的问题。方案选择选择方案3理由非常节约I/O口,又有静态显示的特点,亮度高,节约CPU的使用率。2显示电路采用74HC164与单片机相连接。进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论