电压表设计.doc

上传人:豆**** 文档编号:17674440 上传时间:2022-05-25 格式:DOC 页数:6 大小:126.50KB
返回 下载 相关 举报
电压表设计.doc_第1页
第1页 / 共6页
电压表设计.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《电压表设计.doc》由会员分享,可在线阅读,更多相关《电压表设计.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流电压表设计.精品文档.电压表设计 2011 学年 春季 学期专 业: 电子信息科学与技术 班 级: 2008 姓 名: 温卓漫 学 号: 1225408021 摘要本文主要介绍基于8051单片机的简易电压表设计。核心元件是ADC0809模数转换芯片,以及HD7279键盘显示芯片。大体流程如下:首先,51单片机命令ADC0809对输入的模拟信号经行采集和转换,从而得到一个8位二进制数。其次,通过计算将该二进制数处理为具体电压值,格式为:X.XX。最后,利用HD7279,将电压值在四段数码管上显示。以上三个步骤均以C51编程,并且在Keil软件下

2、运行。关键字ADC0809、HD7279、8051、电压测量引言电压表的设计方案不胜枚举,仅基于单片机的数字电压表设计就已经数不胜数了。本文选用最常见的8051单片机,虽然其运行速度不是很高,但是远远能够满足数字电压表设计的需求。该型号单片机价格低廉、结构简单易懂、操作简单。电压表的模数转换部分选择的是ADC0809芯片,采用的接线方式是典型的总线式连接。显示部分选用的是HD7279芯片,仅用到了该芯片的数码管显示功能。总体而言,该系统结构简单,但是却有很强的实用性。系统流程图该电压测量系统的操作流程如图一所示。首先,ADC0809的通道0采集到模拟电压信号后,受51单片机控制,其ST和ALE

3、引脚变为高电平,启动转换。转换结束后,EOC引脚自动变高,出发中断1。中断服务程序紧接着把ADC0809的OE端拉高,允许其输出D0D7八位数字,即转换结果。然后,单片机得到了这个数据,便对它经行一系列换算,最终通过HD7279驱动四段数码管显示具体电压值。HD7279也可以用244或者其他驱动芯片代替,但编程会更加繁琐。图一:系统流程图电压表功能该电压表是基于8051单片机的数字电压表,其具体参数如下:1、测量范围:03.3V。2、测量精度:99.6%。3、测量有效位:十分位。系统结构图这个系统的软件部分比较简单,特别是ADC0809的程序部分。然而,相对于软件,该系统的硬件就比较复杂了。图

4、二给出了整个系统的主要连接方式。图二:系统结构图芯片功能介绍电压表设计的关键技术在于芯片的使用。该数字电压表主要包含模数转换和数据显示两大部分。前一部分选择的芯片是ADC0809,后一部分选用的则是HD7279芯片。下面将简单介绍这两大器件在整个系统中的作用。1、 ADC0809ADC0809是典型的8位8通道逐次逼近式A/D转换器,采用CMOS工艺制造。它是28引脚双列直插式封装,引脚图如下:图三:ADC0809引脚图各个引脚的相关功能分别是:(1)IN7IN0:模拟量输入通道。(2)ADDA、ADDB、ADDC:模拟通道地址线。(3)ALE:地址锁存信号。(4)START:转换启动信号。(

5、5)D7D0:数据输出线。(6)OE:输出允许信号。(7)CLK:时钟信号。(8) EOC:转换结束状态信号。 (9)VCC:+5V电源。(10)Vref:参考电压。它在整个系统中的主要作用是电压的采集和转换。由于该器件可靠性强,这里仅用到了一个通道采集信号。下图是典型的总线方式,本设计的具体连线方式与之极其类似:图四:ADC0809的典型连接控制ADC0809的主要程序在于以下两句:MOVX DPTR,AMOVX A,DPTR运行第一句时,单片机将WR和P2.7拉低,经过或非门后ADC0809的ST和ALE均变高,启动AD转换。同理,第二句时P2.7和RD会变高,WR变低,从而拉低ST和AL

6、E,拉高OE。这样一来,就输出了转换后得到的数据。总线方式利用了8051单片机P0、P2口可以复用作地址或者数据总线的特点。并且巧妙地运用了传输数据时引脚WR、RD、ALE发生的相应变化,使程序大为简化。这就是总线方式的优点所在。再者,总线方式也具有快速、稳定等特点。2、 HD7279HD7279是一片具有串行接口的,可驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。其引脚图极其功能如下:图五:HD7279引脚图图六:HD7279引脚功能电压表设计中仅仅运用到了它一半的功能,即数码管驱动功能。由于

7、只要显示电压值X.XX就可以了,这里只用了DIG03四个引脚,驱动一个四位一体的数码管。显示方式也很简单,故不需要闪烁、消隐等设置。程序主要对HD7279进行了三项操作:复位,下载数据且按方式1译码,下载数据且不译码。其相应的指令代码和函数在下文给出。1、复位复位代码是a4,具体作用如图七所示。图七:复位指令其相应的复位函数如下:void reset(void)cs=0;sendbyte(0xa4);cs=1;2、 下载数据且按方式1译码图八:控制指令1译码方式如下:图九:译码方式程序中定义了函数void writenumber(uchar address,uchar number),这个函数

8、在main函数中用到了三次,分别显示电压值的个位、十分位、百分位。该函数具体内容如下:void writenumber(uchar address,uchar number)cs=0;sendbyte(address);clk=0;delay(5);sendbyte(number);cs=1;3、 下载数据且不译码本设计中编写了函数void writedot(void):void writedot(void)cs=0;sendbyte(0xc1);clk=0;delay(5);sendbyte(0x80);cs=1;该函数的作用是显示电压值X.XX中间的那个小数点。以上就是对HD7279以及A

9、DC0809在本设计中的作用浅析。总结本文讲述了数字电压表的大体设计。该电压表是基于8051单片机以及ADC0809、HD7279的电压测量显示系统。系统结构简单,操作便捷,运行速度快,但是精度还有待提高。可以考虑在系统基础上,加以进一步提升。例如闭环控制、算法改变等等。参考文献1、 计算机控制系统机械工业出版社2、 51单片机开发与应用电子工业出版社3、 单片机接口技术课件附录试验程序:#include#include#define uchar unsigned char#define AD 0xfef8unsigned char xdata *ad; sbit cs=P20;sbit cl

10、k=P21;sbit dat=P22;void delay(uchar n)uchar i;for(i=0;in;i+);void sendbyte(uchar input)uchar i;for(i=0;i8;i+)clk=0;dat=(bit)(input&0x80);delay(5);clk=1;delay(5);input4)c=t/10;elsec=t/10+1;writenumber(0xc8,a);writedot();writenumber(0xca,b);writenumber(0xcb,c);void main(void)IT1=1;EX1=1;EA=1;ad=AD;*ad=0x00;reset();while(1);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁