收藏 分销(赏)

数字显示电压表基于单片机的设计.doc

上传人:快乐****生活 文档编号:2487074 上传时间:2024-05-30 格式:DOC 页数:27 大小:1.02MB
下载 相关 举报
数字显示电压表基于单片机的设计.doc_第1页
第1页 / 共27页
数字显示电压表基于单片机的设计.doc_第2页
第2页 / 共27页
数字显示电压表基于单片机的设计.doc_第3页
第3页 / 共27页
数字显示电压表基于单片机的设计.doc_第4页
第4页 / 共27页
数字显示电压表基于单片机的设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、数字显示电压表基于单片机的设计 作者: 日期:2 个人收集整理 勿做商业用途新疆轻工职业技术学院毕业设计(论文)任务书数字显示电压表基于单片机的设计 姓 名: 张 熠 学 号: 2008110979 专 业: 电气自动化二班 系 部: 机电工程系 指 导 教 师: 王 伟 起 止 日 期:2010年11月1日至2011年03月20日摘 要本文介绍了基于89c51单片机的一种8路输入电压测量电路,该电路采用ADC0809作为A/D转换元件,测量范围0至5伏,小数点后显示一位。要求能够依次显示每路通道电压,而且能够通过拨码开关选择输入通道。使用3位LED模块显示,前面一位显示通道号,后面两位显示测

2、量电压值。本系统主要包括四大模块:数据采集模块、控制模块、显示模块、A/D转换模块。绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了汇编语言进行编程,开发环境使用WAVE集成开发环境.开发了显示模块程序、通道切换程序、A/D转换程序。关键词:ADC0809;A/D转换;LED显示目 录1 方法论证41。1 系统的设计任务41。2 设计方案41.3 软硬件开发环境42 数字电压表硬件设计52.1 单片机主电路设计52。1.1 复位电路52。1。2 晶振电路52.2 测量、转换电路设计62。3 按键电路设计72.4 显示电路设计82.4.1 LED数码管

3、构成92。4.2 显示方式113 软件设计123。1 主程序设计133.1。1 工作流程133。1.2 存储空间定义安排143。2 模块程序设计143。2.1 A/D转换测量程序153.2。2 显示程序154 系统调试与分析164.1 调试内容及问题解决164。2 系统进一步改进方案17附录1:硬件原理图20附录2:程序清单21参考文献22结论23致谢24绪 论 实习期间我在新疆天业集团天辰化工40万吨2期化工厂实习工作,期间我在供电车间工作,是指把被测电压的数值通过数字技术,变换成数字量,然后用数码管以十进制数字显示被测量电压值,数字式电压表具有高精度、量程宽、显示位数多、分辨率高、易于实现

4、测量自动化等优点,在电压测量中也占据了越来越重要的地位,所以我以数字显示电压表为中心来做论文. 伴随着工厂建设规模的扩大,各种用电设备的增多,用电量越来越大,工厂的供电设备经常超负荷运转,用电环境变得越来越恶劣,对电源的“考验”越来越严重。人们对数字显示电压表以其高准确度、高可靠性、高分辨力、高性价比等优良特性倍受任命的青睐。没欠,数字电压表作为数字化仪表的基础与核心,已被广泛应用于电子和电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。在实习的这短时间里,在老师和工人师傅的帮助和指导下,使我对于一些平常理论的东西,有了感性的认识,感觉受益匪浅.这对我以后的学习和工作有很大的帮

5、助,最重要的是使我对于工业生产中的数字显示电压表有了更深的了解。第一章 方法论证1。1 系统的设计任务设计单片机主电路、数据采集接口电路、LED显示电路、拨码控制电路,能够实现对8路电压值进行测量,能够显示当前测量通道号及电压值,电压精度小数点后1位,可以通过键盘选择循环显示8路的检测电压值和指定通道的检测电压值.1。2 设计方案 将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示.拨码开关连P3口,实现通道选择。P2口接数码管位选,P1接数码管,实现数

6、据的动态显示,如下图所示。89c51 P0P1P2 ALEP3数码管位选拨码开关ADC0809D0D7 IN0 : IN7CLOCK VREF+VREF-图1。1系统总体方案结构图1.3 软硬件开发环境硬件选择:选择89c51作为单片机芯片,选用8段共阴极LED数码管实现电压显示,选用独立式按键作为程序的跳转与选择,利用ADC0809作为数模转换芯片,利用P0至P4的各个串口来进行不同设备间的连接,计算机进行汇编,H51/L仿真器,单片机多功能实验箱.软件开发环境: 用Protel99SE软件画电路图 、WAVE软件进行程序编写.第二章 数字电压表硬件设计2.1 单片机主电路设计在本次课题设计

7、中我们选择了8951芯片,其具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务.2.1。1 复位电路 复位电路如图2。1所示,单片机系统常常有上电复位和操作复位两种。上电复位是指单片机上点瞬间,要在RST引脚上出现宽度大于10ms的正脉冲,才能使单片机进入复位状态.操作复位是指用户按下“复位按钮使单片机进入复位状态。 图21 复位电路2。1.2 晶振电路 晶振电路用于产生单片机工作所需的时钟信号,使用晶体震荡器时,c2,c3取值2040PF,使用陶瓷震荡器时c2,c3取值3050PF。在设计

8、电路板时,晶振和电容应尽量靠近芯片,以减小分布电容,保证震荡器的稳定性。18引脚接XTAL1,19引脚接XTAL2,20引脚接地。图2.2 晶振电路2.2 测量、转换电路设计 使用ADC0809作为数模转换元件,其引脚图如2。3所示图2.3 ADC0809引脚图ADC0809是带有8:1多路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个.A,B,C三端分别与89C51的P0。0P0.2相接.地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到.输出允许,由P2.6和/RD或非得到.时钟信号,可有89C51的

9、ALE输出得到,不过当采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。与单片机的连接如图2。4所示图2.4数据转换系统电路图2。3 按键电路设计按键选择上有两种方法可供选择,独立式按键与矩阵式按键,再此使用了独立式按键。按键模块如图2.5所示,其与P3口连接,实现通道选择。对按键的工作过程可分为两步:第一步是CPU首先检测键盘上是否有键按下;第二步是在识别是哪一个键按下.检测键盘上有无键按下可采取查询各自方式、定时扫描构造方式和中断耕作方式。在此选择了查询工作方式.按键模块如图2。5所示,其与P3口连接,实现通道选择。图2.5按键模块2.4 显示电路设

10、计2。4.1 LED数码管构成LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。其外形结构如图所示.它由8个发光二极管构成,通过不同的组合可用来显示09、AF及小数点“.”等字符。数码管有共阴极和共阳极两种结构规格,如图2。5所示。图中电阻为外接。共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平时,二极管点亮;共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。对照图2。5中的字段:7段发光二极管,在加上1个小数点位,共计8段,因此提供给LED显示器的字形码正好一字节。 图26(a) 共阴极 图2。6(b) 共阳极 图2。6(C

11、)字段显示2。4.2 显示方式(1) 静态显示方式直接利用并行口输出。LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连.一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164、CD4094来实现静态显示。(2) 动态显示方式对多位LED显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然

12、在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控.因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位控信号;另一个用于输出段控信号,其连接图如下. 2.7 LED显示电路表2。1七段LED段选码表 显示字符共阴极段显示字符共阴极段03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56DHU3EH67DH31H707Hy6EH87FH8。FFH96FH“灭”00HA77H/B7

13、CH/第三章 软件设计3。1 主程序设计 3。1。1 工作流程 首先拨动拨码开关k1,如果是低电平,程序转向选择通道程序,拨动k2的次数即是选择的通道号,拨动k3表示确认。转向数据读取程序,再到显示程序,显示出通道号和电压值。如果k1是高电平,则转向循环显示程序,即先显示第0路最后显示第7路电压值和相应通道号。工作流程图如下: N Y记录k2拨动次数启动A/D转换K1高电平?数据处理显示结束开始选择通道号选择第0路图3.1主程序流程3。1。2 存储空间定义安排 60H用于存放A/D转换结果,30H、31H、32H分别存储显示用的三位数据如下表:表3.1存储空间定义表60H用于存放A/D转换结果

14、30H电压值整数部分31H电压值小数部分32H循环显示的通道号34H选择的通道号3。2 模块程序设计3。2.1 A/D转换测量程序A/D转换的常用方法有:计数式A/D转换,逐次逼近型A/D转换,双积分式A/D转换, V/F变换型A/D转换.在这些转换方式中,记数式A/D转换线路比较简单,但转换速度较慢,所以现在很少应用。双积分式A/D转换精度高,多用于数据采集及精度要求比较高的场合,如5G14433(31/2位),AD7555(41/2位或51/2位)等,但速度更慢。逐次逼近型A/D转换既照顾了转换速度,有具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0809。采用中断控制的方式

15、实现,不浪费时间,效率较高。其流程图如下: 开始启动转换读取数据0809地址加1小于FFFF?结束中断请求中断服务YN图3.2 A/D转换测量程序3.2。2 显示程序对多位LED显示器的动态显示,通常都是采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位为控信号;另一个用于输出段控信号.读取判断

16、单元显示通道号显示电压整数部分显示电压小数部分返回开始程序32H30H31H图3。3显示子程序第四章 系统调试与分析4。1 调试内容及问题解决 程序可分为数据采集系统、数据转换系统、显示系统和按键控制系统,这四部分先独立测试,然后整体调试。显示系统的调试:要显示的数据存放在30H、31H、32H单元中,先在30H、31H、32H分单元中存放010的数,运行显示程序,察看显示的结果是否与存放值一样。在测试的过程中发现小数点没有显示,通过指令ORL 30H,#80H,把小数点显示出来。按键控制系统调试:拨动k2在34H单元内容看是否和拨动次数相同.整体测试:把个部分用线连接,P3接拨码开关,P2接

17、数码管,P3接位选.仿真器、仿真头连好,进入WAVE软件,设置仿真器.编译程序,看是否存在错误。4。2 系统进一步改进方案 进一步提高测量精度,把精确到小数点后一位改为精确到小数点后两位.具体程序如下:MOVX A,DPTR ;读取转换后的数据. MOV B,51 ;255515.00V运算 DIV AB MOV 33H,A ; ;个位数放入33H MOV A,B ; ;余数大于19H,F0为1,乘法溢出,结果加5 CLR F0 SUBB A,1AH MOV F0,C MOV A,#10 MUL AB MOV B,51 DIV AB JB F0,LOOP2 ADD A,#5 LOOP2: MO

18、V 34H,A ; ;小数后第一位放入34H MOV A,B CLR F0 SUBB A,1AH MOV F0,C MOV A,10 MUL AB MOV B,#51 DIV AB JB F0,LOOP3 ADD A,#5H LOOP3: MOV 35H,A ; ;小数后第二位放入35H附录1:硬件原理图附录2:程序清单 ORG OOOOHLJMP MAINORG 0013HLJMP OVER MAIN:JNB P3.0 XZ ;高电循环显示,低电平选择通道MOV RO,60HMOV R1,08H ;8个通道CLR 34HXZ1 : MOV R2,34H ;选择通道IN0SETB EASETB

19、 IT1SETB EX1MOV DPTR,#08FFFH ;第0路地址MOV A,R2MOVX DPTR,A ;启动A/D转换SJMP XZ: JB P3.4,XZW1 : JNB P3.4 W1 ;拨码开关一个来回计数一次CLR AINC AJNB P3.5 MOV 34H,A ;计数次数存入34HLJMP XZ1 ;跳到通道选择程序OVER: CLR EX1 MOV DPTR,#08FFFHSUB DPTR,34HMOVX A,DPTRMOV R0,AINC R2MOV 33H,#100 ;延时两秒LJMP XIANSHIJX: MOV A, R2DJNZ R1 ,WAIT WAIT: S

20、ETB EX1MOVX DPTR,AED: RETI;;;;;把00000000到11111111的数转换成十进制数;;; XIANSHI:MOV 33H,0MOV A,6OHMOV B,#51DIV AB MOV 30H,A ;把整数放入30HMOV A,BMOV B,#51 MUL A,10MOV B,51DIV ABMOV 31H,A ;把小数放入31HMOV R6,30H;;动态显示程序;;;;;;;MOV DPTR TABMOV R7,01HCLR AMOV P3,AL:MOV A,R6ANL A,0FHMOVC A,A+DPTRMOV P1,AMOV A,R7MOV P3,ALCA

21、LL D20MSINC R6CJNE R6,#32H,L0MOV R6,30HL0:RL A MOV R7,A ;两秒后进行下一路SJMP LDEC 33HJNB 33H,JXTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4 DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9D20MS:MOV R4,#100 ;20毫秒延时程序L1:MOV R5,#10L2:DJNZ R5,L2 DJNZ R4,L1RET参考文献1 徐爱钧.智能化测量控制仪表原理与设计(第二版)。北京:北京航空航天大学出版社,20042 吴金戌.8051单片机实践与应用。北京:清华

22、大学出版社,20023 张国勋。缩短ICL7135A/D采样程序时间的一种方法,19934 高峰.单片微型计算机与接口技术。北京:科学出版社,2003结束语本文基于A89c51单片机的一种8路输入电压测量电路,该电路采用ADC0809作为A/D转换元件,测量范围0至5伏,小数点后显示一位。要求能够依次显示每路通道电压,而且能够通过拨码开关选择输入通道。在软件编程上,采用了汇编语言进行编程,开发环境使用WAVE集成开发环境。开发了显示模块程序、通道切换程序、A/D转换程序使用3位LED模块显示,前面一位显示通道号,后面两位显示测量电压值,开发环境友好,易用,方便,大大加快本系统设计开发.拨码开关

23、的使用,使操作更为简洁,易懂。实时显示电路的设计,使电压信息更迅速,直观地发布。致此本人设计基本完成了预期的目标,系统在硬件自动测试,键盘操作,实时显示方面做的比较好。但是由于水平条件有限,设计成果并不是很完美,还存在问题,我准备在今后的工作过程中进一步完善此设计。 第 26页 共 27 页致 谢在本论文的完成过程中,我得到了新疆轻工职业技术学院机电工程系王伟老师的热心帮助和悉心指导.设计过程中,王老师一并帮我分析遇到的种种困难。一直支持,鼓励我,使设计得以顺利的完成。在开发的同时,和同学们之间的相互探讨也使我获益匪浅.在此,对他们表示由衷的感谢!电子信息技术日新月异地飞速发展,人们总是处在不断学习阶段,因为学习水平有限,所以本设计肯定存在许多不尽如人意的地方,欢迎广大老师和同学批评指正。最后,要感谢三年来机电系所有老师,他们精心的栽培为我以后的学习工作打下了坚实的基础。1

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服