基于单片机的LED显示数字电压表

1 引言
单片机是一种集成电路芯片,随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。由于单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。数字电压表(digital voltmeter)简称dvm,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与pc进行实时通信。目前,由各种单片a/d 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由dvm扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本设计重点介绍单片a/d 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
2 总体设计方案
2.1 设路计思路
按系统功能要求,决定控制系统采用at89s51单片机,a/d转换采用adc0809.系统除能确保实现要求的功能外,还可以方便地进行其功能的扩展。本文采用at89s51作为核心元件,at89s51是一个低功耗,高性能cmos 8位单片机,片内含4k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s51可为许多嵌入式控制应用系统提供高性价比的解决方案。
采用ns公司的分辨率为8位的逐次比较型的高精度的模数转换器adc0809,adc0809是带有8位a/d转换器、8路多路开关以及微处理机兼容的控制逻辑的cmos组件。它是逐次逼近式a/d转换器,可以和单片机直接接口。把采取的电压进行处理然后通过单片机的p口送到单片机然后经过程序处理,由led电路把电压数值显示出来。单片机加上外围的串口显示电路由74ls245和数码管三极管组成。
器件采用atmel公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集flash程序存储器,既可在线编程(isp)也可用传统方法进行编程及通用8位微处理器于单片芯片中,atmel公司的功能强大,低价at89s51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
2.2 设计方框图
图1 数字电压表系统设计方案
3 设计原理分析
3.1 单片机at89s51
at89s51单片机是美国atmel公司生产的低功耗,高性能cmos 8位单片机,片内含4k bytes的可系统编程的flash只读程序存储器,器件采用atmel公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集flash程序存储器,既可在线编程(isp)也可用传统方法进行编程及通用8位微处理器于单片芯片中,atmel公司的功能强大,低价at89s51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
3.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次擦写周期
● 全静态工作:0hz-33mhz
● 32个可编程i/o口线
● 2个16位定时器/计数器
● 6个中断源
● 全双工uart串行通道
● 低功耗空闲和掉电模式
● 掉电后中断可唤醒
● 看门狗定时器
● 双数据指针
● 灵活的isp编程(字或字节模式)
● 4.0---5.5v电压工作范围
3.3 adc0809的内部逻辑结构
八路数字电压表主要利用a/d转换器,处理过程是先用a/d转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来。设计时假设待测的输入电压为八路,电压值的范围为0~5v,要求能在4位led数码管上轮流显示或单路选择显示。测量的最小分辨率为0.0119v,c测量误差为±0.02v。
adc0809是8路8位adc芯片,片内有8路模拟开关、地址锁存与译码、256电阻梯形网络、电子开关树、逐次逼近寄存器、比较器和3态输出锁存器等,特别适合与微机接口。时钟频率=1.26mhz,转换时间=100μs,转换误差≤±1lsb,内含8路数据选择器以便进行8路adc。8路8位2进制码lsttl电平输出,28脚封装。adc0809多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用a/d转换器进行转换。三态输出锁器用于锁存a/d转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。adc0809的内部逻辑结构如图3.1所示。
图2 adc0809的内部逻辑结构
3.4 引脚结构
adc0809具有8路模拟量输入通道in0~in7,通过3位地址输入端c、b、a(因脚23、24、25)进行选择。引脚22为地址锁存控制端ale,当输入为高电平时,c、b、a引脚输入的地址锁存与adc0809内部的锁存器中,经内部译码电路译码选中相应的模拟通道。引脚6为启动转换控制端start,当输入一个2 us宽的高电平脉冲时,就启动adc0809开始对输入通道的模拟量进行转换。引脚7为a/d转换的结束信号eoc。adc0809为逐次比较型a/d转换器,当开始转换时,eoc信号为低电平,经过一定时间,转换结束,转换结束信号eoc输出高电平,转换结果存放与adc0809内部的输出数据锁存器中。引脚9为a/d转换数据输出允许控制端oe,当oe为高电平时,存放与输出数据存储器中的数据通过adc0809的数据线d0~d7输出。引脚10为adc0809的时钟信号输入端clock。在连接时,adc0809的数据线d0~d7与at89s51的p0口相连,adc0809的地址引脚、地址锁存端ale、启动信号start、数据输出允许控制端oe分别与at89s51的p2口相连,转换结束信号eoc与at89s51的p3.7口相连。时钟信号输入端clock信号,由单片机的地址锁存控制端ale提供。单片机的系统时钟为12mhz。
in0-in7:8条模拟量输入通道 。adc0809对输入模拟量要求:信号单极性,电压范围是0-5v,若信号太小,必须进行放大;输入的模拟量在转换过程中保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条 。ale为地址锁存允许输入线,高电平有效。当ale线为高电平时,地址锁存与译码器将a,b,c三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。a,b和c为地址输入线,用于选通in0-in7上的一路模拟量输入。
数字量输出及控制线:11条 。st为转换启动信号,当st上跳沿时,所有内部寄存器清零;下跳沿时,开始进行a/d转换;在转换期间,st应保持低电平。eoc为转换结束信号。当eoc为高电平时,表明转换结束;否则,表明正在进行a/d转换。oe为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。oe=1,输出转换得到的数据;oe=0,输出数据线呈高阻状态。d7-d0为数字量输出线。
clk为时钟输入信号线。因adc0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为1mhz,vref(+),vref(-)为参考电压输入。
3.5 adc0809应用说明
adc0809内部带有输出锁存器,可以与at89s51单片机直接相连。 初始化时,使st和oe信号全为低电平。送要转换的哪一通道的地址到a,b,c端口上。在st端给出一个至少有100ns宽的正脉冲信号。是否转换完毕,我们根据eoc信号来判断。当eoc变为高电平时,这时给oe为高电平,转换的数据就输出给单片机。
3.6 adc0809工作原理
8路模拟信号由adc0809的in0~in7端输入,at89s51单片机的ale端口输出的脉冲信号送adc0809的10脚作为adc的时钟信号(产生clk信号的方法就得用软件来产生)。a/d转换完成之后,从eoc端返回at89s51一个转换结束信号,单片机随即用信号将a/d转换的数字输出从d0~d7端经p0口数据总线读入自己的存储器中。a/d转换过程全部结束。再经软件程序转换成a~g 7段码输出,驱动led数码管。各位数码管由位控信号p3.0、p3.1、p3.2、p3.3控制,由74ls245反相驱动将依次巡回点亮数码管。
3.7 复位电路的设计
本设计采用了上电自动复位和手动复位,上电自动复位是再加电瞬间电容通过充电来实现的,其电路如图3.2所示。在充电瞬间,电容c通过复位电阻r充电,rst端出现正脉冲,以复位。只要电源vcc的上升时间不超过1ms,就可以实现自动复位,既接通电源就完成了系统的复位初始化,手动复位是通过按钮实现的。
图3 复位电路
3.8 时钟电路的设计
任何一块单片机的正常工作都离不开时钟信号,本设计中利用8951内部的高增益反相放大器,外加石英晶体以及两个电容就构成了稳定的自激振荡器。给单片机提供了时钟信号,保持单片机按正常的时序工作。
图4 时钟电路

苏州华芯微电子成功通过ISO9001年度认证
磁开关的选型_安装_使用和维护
华为成为仅次于三星电子的全球第二大智能手机供应商
构建数字孪生的方法论
华为与其他厂商的区别是只要发布了就有成品出来
基于单片机的LED显示数字电压表
谷歌Waymo自动驾驶技术的虚拟世界测试
印度家电起“战火” 彩电空调赢在了起跑线上
MyHeritage的新AI工具会将您的旧照片变成视频
MS9282特性介绍 VGA转HDMI DEMO/YPBPR转HDMI开发板
解决可编程逻辑控制器的负载点电源设计挑战
评测多款处理器超大核、大核能效表现
相约Keysight World 2019,益莱储与是德科技共推科技创新
基于5G工业路由器AGV小车的应用
Silicon Labs为物联网扩展Ember ZigBee产品线
5G时代的站点对能源设施产生了哪些新的需求与变革?
安全用电云平台-电气火灾预警系统的介绍
数据库产业的突破到底意味着什么?
尼康D850宣传片曝光 8K延时摄影展现之处令人血脉喷张!
积木易搭亮相第二十四届高交会!携最新专业级、消费级3D扫描仪及产业元宇宙解决方案一展风采!