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

下载本文档

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

文档简介

目 录1 引言12设计原理及要求12.1数字电压表的实现原理12.2数字电压表的设计要求13软件仿真电路设计13.1设计思路13.2仿真电路图23.3设计过程23.4 AT89C51的功能介绍23.4.1简单概述33.4.2主要功能特性33.4.3 AT89C51的引脚介绍33.5 ADC0808的引脚及功能介绍43.5.1芯片概述43.5.2 引脚简介43.5.3 ADC0808的转换原理53.6 74HC245芯片的引脚及功能53.6.1芯片概述53.6.2引脚介绍53.7 LED数码管的控制显示53.7.1 LED数码管的模型53.7.2 LED数码管的接口简介64系统软件程序的设计64.1 主程序64.2 A/D转换子程序64.3 中断显示程序75电压表的调试及性能分析85.1 调试与测试85.2 性能分析96电路96.1 电路仿真图96.2 PCB图97总结10参考文献10附录1 源程序11附录2 仿真原理电路1516摘要:随着电子科学技术,传感器技术,自动控制技术和计算机技术的发展,电子测量成为电子工作者的必须掌握的手段对测量的精度,手段要求越来越高,本文介绍了一种以AT89C 51为核心的数字电压测量电路。通过ADC0809进行转换,74HC245进行驱动。关键词:A/D转换 数字电压表 AT89C51 数码管 电压测量1 引言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。 本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0809本文介绍一种基于A/D转换电路,测量范围直流 05V 的8路输入电压值,并在四位LED数码管上循环显示,并显示路数。测量最小分辨率为0.019V,测量误差不超过正负0.02V。2设计原理及要求本设计是利用单片机AT89C51与ADC0809设计一个数字电压表,测量05V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。2.1数字电压表的实现原理 ADC0809是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。ADC0808具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。2.2数字电压表的设计要求可以测量05V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V5.00V,1位LED数码管显示路数,3路分别为0-2。要求测量的最小分辨率为0.02V。3软件仿真电路设计3.1设计思路 多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路组成,由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0809的CLK直接由外部电源提供为500kHz的方波。实际显示的电压值( ADC0809采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压05V进行采集,所以D对应的电压为V0,我们的目的就是要把V0显示在LED显示器上。3.2仿真电路图用Protues软件仿真设计的电路如图3-1所示(因软件中ADC0809不能用,并且ADC0808与ADC0809相同,所以用ADC0808代替)。图3-1 仿真电路入端,由外部信号源提供。单片机的P1、P3.0-P3.3端口作为四位LED数码管现实3.3设计过程简易数字电压测量电路由A/D转换、数据处理及显示控制等组成。电路原理图见附录2。A/D转换由集成电路0808完成。0808具有8路模拟输入端口,地址(23-25)脚可决定对哪路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0808的时钟输控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数据读入用,P2端口用作0808的A/D转换控制。3.4 AT89C51的功能介绍3.4.1简单概述AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示。 图3-2 AT89C51芯片模型3.4.2主要功能特性(1) 4K字节可编程闪烁存储器。 (2) 32个双向I/O口;1288位内部RAM 。(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。 3.4.3 AT89C51的引脚介绍 (1)电源引脚电源引脚接入单片机的工作电源。Vcc (40引脚):+5V电源。GND(20引脚):接地。(2)时钟引脚XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2(20引脚):片内振荡器反相放大器的输出端。图3-3 电源接入方式3.5 ADC0808的引脚及功能介绍3.5.1芯片概述ADC0808是一种典型的A/D转换器。芯片模型如图3-4所示。图3-4ADC0808芯片模型3.5.2 引脚简介 (1) IN0IN7:8路模拟量输入端。(2) D0D7:8位数字量输出端口。(3) START:A/D转换启动信号输入端。(4) ALE:地址锁存允许信号,高电平有效。(5) EOC:输出允许控制信号,高电平有效。(6) OE: 输出允许控制信号,高电平有效。(7) CLK:时钟信号输入端。3.5.3 ADC0808的转换原理ADC 0808 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。ADC0808完成一次转换需100s左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。3.6 74HC245芯片的引脚及功能3.6.1芯片概述245芯片一般就用着单片机的总线驱动。它有8个输入和8个输出。第一脚为“方向选择”。如果选择接高电平,那么数据将从A传到B。也就是从29输入,分别从1811作为相应的输出。如果第一脚接低电平,那么数据传输方向就反过来。第10脚是公共地。19脚为“使能”,是低电平有效。图3-5芯片模型3.6.2引脚介绍(1) D0D7:8位数据输入线;(2) Q0Q7:8位数据输出线(3) G:数据输入锁存选通信号。 (4):数据输出允许信号,低电平有效。3.7 LED数码管的控制显示3.7.1 LED数码管的模型LED数码管模型如图3-6所示。图3-6数码管显示3.7.2 LED数码管的接口简介LED 的段码端口AG分别接至驱动74LS245再接AT89C51的P0.0P0.7口,位选端14分别接至分别接至驱动74LS245再接P2.0、P2.1、P2.2、P2.3。4系统软件程序的设计多路数字电压表系统软件程序主要有主程序、A/D转换子程序和中断显示程序组成。4.1 主程序 开始 显示子程序 A/D转换子程序 初始化图4-1主程序流程图对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示控制,00H位通过单路、循环按键控制。流程图如图4-1所示。4.2 A/D转换子程序A/D转换子程序用于对ADC0808的4路输入模拟电压进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图4-2所示。4.3 中断显示程序设计中采用中断的方式来读取转换完成的数据能节省CPU的资源进行十六进制调整 开始A/D转换调用延时存转换后的十六进制数数据指针加一入栈保护4路转换次数减一显示电压值NY图4-2转换子程序流程图 判断是否为零 当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断中读取转换的数值,处理数据并送数码管显示输出。选中的一路数据进行显示。每路数据显示时需经过转换变成十进制BCD码,放于4个数码管显示缓冲区中。单路或多路循环显示通过标志位00H控制。在显示控制程序中加入了对单路或多路循环按键的判断如4-3所示。数字量送P0口取段码地址P2.0=1?调用循环显示程序调用单路显示程序显示的是第0路重新调用显示程序NYNY图4-3中断显示程序流程图5电压表的调试及性能分析5.1 调试与测试本设计应用Proteus及KEIL2软件,首先根据自己设计的电路图用Proteus软件画出电路模型,然后我们用KEIL2软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex文件,将此文件加到电路图上使软硬件结合运行,最后进行端口电压的对比测试,测试的第一路对比见图4-1中标准电压值采用Proteus。5.2 性能分析由于单片机为8位处理器,当输入电压为5.00V时,输出数据值为255(FFH)因此单片机最大的数值分辨率为0.0196V(5/255)。这就决定了该电压表的最大分辨率(精度)只能达到0.0196V。测试时电压数值的变化一般以0.02V的电压幅度变化,如要获得更高的精度要求,应采用12位、13位的A/D转换器。6电路图 6.1 电路仿真图 图6-1电路仿真图6.2 PCB图 图6-2 PCB图7总结经过一周的努力终于设计成功,LED的显示结果和直接用数字电压表测试模拟量输入所得结果几乎一致,误差完全在合理的范围之内。由于仪器误差,LED显示最大值只能是4.9V,离标准最大值5.0V已经不远,达到预期目的,设计成功。 本设计参考了教材上第十一章89C51与ADC0809转换的接口连线,设计出电路图的连线,从并中理解了许多基本的知识和接线方法,在程序的设计与电压表调试的过程中中遇到了很多的问题,刚开始时四个数码管根本不显示,后来发现用的是共阳极的数码管,而设计是共阴极的,更换后数码管终于显示,显示的程序,功夫不负有心人,最后终于调试成功。参考文献1 张毅刚,彭喜元.单片机原理及接口技术.人民邮电出版社2 马光.单片机原理及应用.机械工业出版社3 徐爱钧.智能化测量控制仪表原理与设计.北京:北京航空航天大学出版社4 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用.北京:清华大学出版社5 高峰.单片微型计算机与接口技术.北京科学出版社6 刘伟,赵俊逸,黄勇.一种基予C8051F单片机的SOC型数据采录器的设计与实现附录1 源程序ORG 0000H LJMP MAIN ORG 000BH AJMP STORG 0030H MAIN: MOV DPTR,#TAB MOV SP,#60HMOV TMOD,#02HMOV R1,#20MOV R3,#00HMOV R2,#00H MOV TH0,#245 MOV TL0,#00H MOV P2,#00H MOV IE,#82HSETB TR0MAIN1: LOOP: LCALL REC LCALL TRA LCALL DISDJNZ R1,LOOPMOV R1,#20INC R2MOV R2,ACLR P2.4CLR P2.5CLR P2.6SWAP AORL A,P2MOV P2,A CJNZ R2,#08,LOOPMOV R2,#00HSJMP MAIN1REC: CLR P3.4CLR P3.6SETB P3.6 NOPNOPCLR P3.6JNB P3.5,$ SETB P3.4 MOV 50H,P1RETTRA: MOV B,#33H MOV A,50H DIV AB MOV 51H,A XCH A,B MOV B,#05H DIV AB MOV 52H,A MOV A ,#02H MUL AB MOV 53H,A RETST: CPL P3.7 RETIDIS: MOV A,51H MOVC A,A+DPTR CLR P2.0SETB P2.1MOV P0,#00H MOV P0,A CLR P0.7 LCALL DELAY MOV A,52H MOVC A,A+DPTR CLR P2.1SETB P2.

温馨提示

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

评论

0/150

提交评论