数字电压表的设计 (2).doc_第1页
数字电压表的设计 (2).doc_第2页
数字电压表的设计 (2).doc_第3页
数字电压表的设计 (2).doc_第4页
数字电压表的设计 (2).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

目录第一章 概述.1第二章 方案说明及确定.2第三章 系统框图与工作原理.3第四章 各部分方案选定、功能及计算.44.1、主控制器:功能及芯片选择44.2、A/D转换、数据处理接口54.3、显示接口.8第五章 应用系统的程序设计.8第六章 调试说明、使用说明. .10第七章 设计总结.11附录A:程序清单12附录B:数字电压表电路原理图.15参考文献16 第一章 概述单片机是一种集成电路芯片,随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。由于单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本设计重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。第二章 方案说明及确定按系统功能要求,决定控制系统采用AT89S51单片机,A/D转换采用ADC0804.系统除能确保实现要求的功能外,还可以方便地进行其功能的扩展。本文采用AT89S51作为核心元件,AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。采用NS公司的分辨率为8位的逐次比较型的高精度的模数转换器ADC0804,ADC0804是带有8位A/D转换器、微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。把采取的电压进行处理然后通过单片机的I/O口送到单片机然后经过程序处理,由LED电路把电压数值显示出来。单片机加上外围的串口显示电路由74LS48和数码管电阻组成。 器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89s51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。第三章 系统框图与工作原理系统框图如下: P0 AT89S51 P3 P1.5P1.7位选 P1.0P1.3段选ADC0804上电复位电源电路3位LED显示时钟电路74LS48译码模拟电压输入图3.1 数字电压表系统设计方案工作原理:用AT89S51单片机的P3.6口与P3.7口分别接ADC0804的WR与RD端,以启动ADC0804的模数转换跟数据的读入。P0.0P0.7分别与ADC0804的八位数据输出口DB0DB7相连,以接收转换后的二进制数据。采用动态扫描LED显示方式,单片机的P1.5P1.7分别用作三位LED的位选信号,P1.0P1.3接到74LS48译码器的数据输入端,再将译码器的七位译码输出端分别接到三位LED的a、b、c、d、e、f、g端。首先ADC0804从外部采集模拟电压输入,给单片机的P3.6口一个高电平启动AD转换,采用固定的延迟等待方式,延时1ms后,给P3.7口一个高电平,读ADC0804转换后的数据,将数据通过P0口送给单片机。再在单片机内部将送来的二进制数据进行BCD转换,再将位选和段选信号送出,在LED上显示对应的模拟电压输入量。第四章 各部分方案选定、功能及计算4.1、主控制器:功能及芯片选择41、1 AT89S51单片机:AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。4、1、2 AT89S51的特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 主要特性在: 与MCS-51单片机产品兼容 4K字节在系统可编程Flash存储器 1000次擦写周期 全静态工作:0Hz33MHz 32个可编程I/O口线 2个16位定时器/计数器 6个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 灵活的ISP编程(字或字节模式) 4.0-5.5V电压工作范围4、2 A/D转换、数据处理接口:4、2、1 ADC0804参数:ADC0804 为一只具有20引脚8位CMOS 连续近似的A/D 转换器,其规格如下:(1) 高阻抗状态输出(2) 分辨率:8 位(0255)(3) 存取时间:135 ms(4) 转换时间:100 ms(5) 总误差:-1+1LSB(6) 工作温度:ADC0804C为0度70度;ADC0804L为-40 度85 度(7) 模拟输入电压范围:0V5V(8) 参考电压:2.5V(9) 工作电压:5V(10) 输出为三态结构4、2、1 ADC0804引脚说明: 图4.1 ADC0804引脚图1. PIN1 (CS):Chip Select,与RD、WR接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low)时会active。2. PIN2 (RD):Read。当CS、RD皆为低位准(low) 时,ADC0804 会将转换后的数字讯号经由DB7 DB0 输出至其它处理单元。3. PIN3 (WR ):启动转换的控制讯号。当CS、WR皆为低位准(low) 时ADC0804 做清除的动作,系统重置。当WR由01且CS0 时,ADC0804会开始转换信号,此时INTR设定为高位准(high)。4. PIN4、PIN19 (CLK IN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100 kHz 至800 kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLK R 及CLK IN 加上电阻及电容,则可产生ADC 工作所需的时序,其频率约为:5. PIN5 (INTR):中断请求。转换期间为高位准(high),等到转换完毕时INTR会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。6. PIN6、PIN7 (VIN(+)、VIN(-):差动模拟讯号的输入端。输入电压VINVIN(+)VIN(-),通常使用单端输入,而将VIN(-)接地。7. PIN8 (A GND):模拟电压的接地端。8. PIN9 (VREF2)模拟参考电压输入端。VREF为模拟输入电压VIN的上限值。若PIN9空接,则VIN 的上限值即为VCC。9. PIN10 (D GND)数字电压的接地端。10. PIN11 PIN18 (DB7 DB0)转换后之数字数据输出端。11. PIN20 (Vcc)驱动电压输入端。 图4.2 AD0804 基本电路4.3、显示接口显示接口的电路原理图如下:图4.3 显示接口电路采用8端共阴极型数码管,用74LS48译码器译码,采用动态扫描LED显示方式,由于小数点的显示是在第二位数码管上,所以将它的DP端一直置高。显示过程:,单片机的P1.5P1.7分别用作三位LED的位选信号,P1.0P1.3接到74LS48译码器的数据输入端,再将译码器的七位译码输出端分别接到三位LED的a、b、c、d、e、f、g端。第二位单片机将经过ADC0804转换后的二进制数据通过内部程序处理将其转化成三字节的非压缩型BCD码,再分别通过74LS48译码芯片译码后将数据分别送给第一位、第二位、第三位数码管,在上面将待测的模拟电压值显示出来。第五章 应用系统的程序设计算法说明:设计利用倍增器原理,测试段输入051V的模拟电压,通过一个10K与90K的电阻分压,将10K电阻两端的电压送入ADC0804,所以实际ADC0804的输入电压范围为05.1V,约为测试端的0.1.经过AT89S51处理,最后将其显示在三个共阴极LED上。 输出最大转换值为0FFH,对应的输入应该显示的电压为51V,所以转换精度为51/255=0.2V,即转换的最小量01H对应的模拟量为0.2V,二进制数字每增加1,模拟量增加0.2V,所以,可以将转换的数字量乘以2,再除以10就可以得到实际的模拟量。主程序流程图如下:该子函数完成将转换后的数据显示到LED上的功能主函数MAIN调用ADSTART函数调用DELAY1MS函数调用ADREAD函数调用SWIH函数调用DISP函数该子函数完成启动ADC0804模数转换的功能该子函数利用软件延时方式,延时1ms该子函数完成将二进制数据转换成3字节的非压缩型BCD码的功能该子函数完成读ADC0804转换数据功能图5.1主程序流程图第六章 调试说明、使用说明调试即及使用说明:外部接入一个51V的标准电压,通过一个滑动变阻器,连续改变其电压值,将待测电压分压后接入ADC0804,再接入一个标准电压表,打开仿真开关,将LED显示的电压值与标准电压表测出的电压值做比较。仿真截图:第七章 设计总结此部分请自理附录A:程序清单RD EQU P3.7 ;伪指令,定义P.7口为RD WR EQU P3.6 ;定义P3.6口为WR ORG 0000H SJMP MAIN ORG 0030H MAIN: LCALL ADSTART ;调用启动AD子函数 LCALL DELAY1MS ;调用1MS延时子程序,等待转换完成 LCALL ADREAD ;调用读AD子函数 LCALL SWIH ;调用数据处理转换子函数:将二进制数字转换成3位非压缩型BCD码 LCALL DISP ;调用显示子函数 SJMP MAIN ;调用完成返回主函数 ADSTART: ;AD启动子函数:给WR一个低电平,启动AD转换 CLR WR NOP SETB WR RET ADREAD: ;读AD子函数 MOV P0,#0FFH CLR RD ;先将RD置低,启动读 NOP NOP NOP MOV A,P0 ;将数据送到P0口P0口数据送给累加器A NOP NOP NOP SETB RD ;送完一次之后,关闭读 RET DELAY1MS: ;1MS延时子函数 MOV R7,#10 TT1: MOV R6,#50 DJNZ R6,$ ;2us DJNZ R7,TT1 RETDISP: MOV A,R0 ;百位送第一位LED ORL A,#0C0H MOV R0,A MOV P1,R0 LCALL DELAY1MS LCALL DELAY1MS LCALL DELAY1MS MOV P1,#0FFH ;消隐指令 LCALL DELAY1MS MOV A,R1 ORL A,#0A0H MOV R1,A MOV P1,R1 ;十位送第二位LED LCALL DELAY1MS LCALL DELAY1MS LCALL DELAY1MS MOV P1,#0FFH LCALL DELAY1MS MOV A,R2 ORL A,#60H MOV R2,A MOV P1,R2 ;个位送第三位LED LCALL DELAY1MS LCALL DELAY1MS LCALL DELAY1MS MOV P1,#0FFH LCALL DELAY1MS RETSWIH: ;数制转换子程序,将百位送R0,十位送R1,个位送R2 CLR C ;将C清零 RLC A ;将数据左移一位 JNC NEXT ;C=0,说明数据小于128 ,即输入的模拟电压小于25.5V跳到NEXT ;若C=1,输入模拟电压大于25.5V,则执行下面的程序段 MOV B,#100 DIV AB ;数据除以100,商存在A中,余数存在B中 MOV R0,A ;将商送R0 MOV A,#10 ;先将除数10送A XCH A,B ;将A中的除数与B中的被除数交换 DIV AB ;被除数除以10 MOV R1,A ;商送R1 MOV R2,B ;余数R2 MOV A,R2 ;因为输入的数据超过了256,所以个位加6,十位加5,百位加2 ADD A,#6 DA A MOV R2,A ANL A,#10H ;个位加6后判断个位是否超过9,超过9则将进位标志位置1 MOV P2,A MOV C,P2.4 MOV A,R1 ADDC A,#5 DA A MOV R1,A ANL A,#10H ;十

温馨提示

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

评论

0/150

提交评论