数字电压表Word格式.docx
- 文档编号:16400950
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:27
- 大小:178.66KB
数字电压表Word格式.docx
《数字电压表Word格式.docx》由会员分享,可在线阅读,更多相关《数字电压表Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
本设计介绍了一种基于单片机的简易数字电压表的设计。
该设计主要由三个模块组成、A/D转换模块、数据处理模块及显示模块等。
A/D转换器主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;
此外,它还控制着ADC0809芯片工作。
该系统的数字电压表电路简单,所用的元件较少、成本低、且测量精度和可靠性较高。
此数字电压表可以测量0-5V的直流输入电压值。
通过一个四位一体的7段数码管显示出来。
关键词:
【单片机】【数字电压表】【A/D转换】【AT89C51】【ADC0809】
目录
毕业设计任务书1
摘要2
目录3
绪论4
第1章设计原理6
1.1设计背景6
1.2设计要求与基本思路6
1.3设计方案7
1.4设计框图7
1.5设计原理图8
第2章硬件设计10
2.1AT89C51芯片的论述10
2.1.1AT89C51各引脚功能10
2.2时钟电路设计14
2.3复位电路设计15
2.4显示电路设计15
2.4.1LED基本结构15
2.4.2LED数码管的选择16
2.4.3LED数码管与单片机接口设计17
2.5A/D转换电路设计18
2.5.1ADC0809芯片18
2.5.2ADC0809引脚说明20
第3章软件设计22
3.1程序流程图22
3.2A/D转换程序23
3.3编写程序24
结论28
致谢29
参考文献30
绪论
本设计是数字电压表,在编写过程中是以电压表的特点,突出使用能力,本设计是以单片机为核心从实用角度出发设计的。
电子电压表主要用于测量各种高、低频信号电压,它是电子测量中使用最广泛的仪器之一。
根据测量结果的显示方式及测量原理不同电压测量仪器可分为两大类:
模拟式电压表(AVM)和数字式电压表(DVM)。
模拟式电压表是指针式的,多用磁电式电流表作为指示器并在表盘上刻以电压刻度。
数字式电压表首先将模拟量经模数A/D转换器变成数字量,然后用电子计数器计数,并以十进制数字显示被测电压值。
众所周知,然在高速发展的当今社会,随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。
同时随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命。
由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。
数字电压表在1952年由美国NLS公司首次创造,它刚开始是4位,50多年来,数字电压表有了不断的进步和提高。
数字电压表是从电位差计的自动化过程中研制成功的。
开始是4位数码显示,然后是5位、6位显示,而现在发展到7位、8位数码显示;
从最初的一两种类型发展到原理不同的几十种类型;
从最早的采用继电器、电子管发展到全晶体管、集成电路、微处理器化。
数字电压表的体积和功耗越来越小,重量不断变轻,价格也逐步下降,可靠性越来越高,量程范围也逐步扩大。
DVM的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表,数字化是当前计量仪器发展的主要方向之一,而高准度的DC-DVC的出现,又使DVM进入了精密标准测量领域。
随着现代化技术的不断发展,数字电压表的功能和种类将越来越强,越来越多,其使用范围也会越来越广泛。
采用智能化的数字仪器也将是必然的趋势,它们将不仅能提高测量准确度,而且能提高电测量技术的自动化程序,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
本次硬件设计详见第2章,主要介绍了需要哪几部分硬件在2.1介绍了单片机,2.4介绍了显示电路,在第3章介绍了做这个设计的软件系统设计。
第1章设计原理
1.1设计背景
数字电压表在1952年由美国NLS公司首次创造,它刚开始是4位,50多年来,数字电压表有了不断的进步和提高。
1.2设计要求与基本思路
本次设计是以AT89C51为核心器件设计的一个简单的直流数字电压表。
数字电压表可以测量0~5V范围内的8路输入电压值。
数字电压表可以在4位LED数码管上轮流显示或单路选择显示。
其测量最小分辨率为0.02V。
本次设计的题目是:
数字电压表,就要使用professional软件,本次设计主要用C语言完成的。
还要用到A/D转换芯片,主要分为两部分:
硬件电路及软件程序。
硬件电路包括:
单片机及外围电路,A/D转换电路,数码管显示电路。
本次设计的目的和意义在于掌握对数字电压表的理解,通过设计的简单的数字电压表,加深对所学知识的认识,提高分析,解决问题的能力,提高对单片机的应用能力,提高收集文献资料的能力,从而达到综合运用所学的专业知识。
1.3设计方案
数字电压表的设计方案主要由模拟电路和数字电路两部分组成,模拟部分包括A/D转换器,电源,数字部分包括振荡器,数码显示等。
其中,A/D转换器将输入模拟量转换成数字电量,它是数字电压表的一个核心部件,选择具有8路模拟开关及地址译码、可以与单片机系统连接,例如ADC0808、ADC0809等,设计简单,电路板布线不复杂,而基于以上要求本次设计就是采用这种方案。
1.4设计框图
图1-1总体设计框图
本设计利用单片机系统与模数转换芯片、显示等模块组成数字电压表,A/D转换芯片将被测量电压输入端采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,最后单片机系统将计算好的被测电压值按一定的时序送入显示模块加以显示。
1.5设计原理图
单片机的简易数字直流电压表硬件电路原理图
图1-2单片机的简易数字直流电压表硬件电路原理图
电路的工作原理:
+5V模拟电压信号通过变阻器VR1分压后由ADC0809的IN0通道进入(由使用的IN0T通道,ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。
此外,AT89C51还控制ADC0809的工作。
第2章硬件设计
2.1AT89C51芯片的论述
AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
◆AT89C51功能性能:
✧与MCS-51成品指令系统完全兼容:
✧4KB可编程闪烁存储器;
✧寿命:
1000次写/擦循环;
✧数据保留时间:
10年;
✧全静态工作:
0-24MHz;
✧三级程序存储器锁定;
✧128*8B内部RAM;
✧32个可编程I/O口线;
✧2个16位定时/计数器;
✧5个中断源;
✧可编程串行UART通道;
✧片内震荡器和时钟电路。
◆AT89C51各引脚功能
AT89C51提供以下标准功能:
4KB的Flash闪速存储器;
128B内部RAM;
32个I/O口线;
两个16位定时/计数器;
一个5向量两级中断结构;
一个全双工串行通信口;
片内震荡器及时钟电路;
同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。
AT89C51采用PDIP封装形式,引脚配置如图2-1所示。
图2-1AT89C51引脚图
VCC:
供电电压。
GND:
接地。
P0口(P0.0--P0.7):
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口(P1.0--P1.7):
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口(P2.0--P2.7):
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口(P3.0--P3.7):
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下所示P3口第二功能:
端口引脚第二功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3INT1(外部中断1)
P3.4T0(定时/记数器0)
P3.5T1(定时/记数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
P3口还接受一些用于Flash闪速存储器编程和程序校验的控制信号。
Vss(20脚):
接地
VCC(40脚):
主电源+5V
XTAL1(19脚):
接外部晶体的一端。
在片内它是振荡电路反相放大器的输入端。
在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;
对于CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚):
接外部晶体的另一端。
在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。
若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;
对于CHMOS单片机,此引脚应悬浮。
RST(9脚):
单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)
PSEN(29脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。
不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。
PSEN端同样可驱动8个LSTTL负载。
我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。
ALE/PROG(30脚):
在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。
EA/VPP(31脚):
当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。
当地址超出4KB时,将自动执行片外程序存储器的程序。
当EA输入低电平时,CPU仅访问片外程序存储器。
在对87C51EPROM编程时,此引脚用于施加编程电压VPP。
2.2时钟电路设计
时钟电路如图2-2所示
图2-2时钟电路图
单片机内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入端与输出端,时钟可以有内部方式或外部方式产生。
内部方式如上图所示。
在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激震荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶振可以在1.2--12MHz之间选择,电容值在30PF--40PF之间选择,电容的大小可起频率微调作用。
外部方式的时钟很少用,如要用时,只要XTAL1接地,XTAL2接外部振荡器即可。
对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的放波信号。
2.3复位电路设计
单片机的复位电路如图2-3所示。
图2-3单片机的复位电路图
在RESTET(图中为RST)输入端出现高电平时实现复位和初始化。
在振荡运行的情况下,要实现复位操作,必须使RST引脚至少保持两个机器周期(24个振荡器周期)的高电平。
CPU在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。
复位期间不产生ALE及PSEN信号。
内部复位操作使堆栈指示器SP为07H,各端口都为1(P0--P3口的内容均为0FFH),特殊功能寄存器都复位为0,但不影响RAM的状态。
当RST引脚返回低电平以后,CPU从0开始执行程序。
加电自动复位电路加点瞬间,RST端的电位与Vcc相同,随着RC电路充电电流减小,RST的电位下降,只要RST端保持10毫秒以上的高电平就能使单片机有效复位,复位电路中的RC参数通常有实验调整。
2.4显示电路设计
2.4.1LED基本结构
LED是发光二极管显示器的缩写。
LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。
LED显示器是由若干个发光二极管组成显示字段的显示器件。
在单片机中使用最多的是七段数码显示器。
LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。
2.4.2LED数码管的选择
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数、尺寸、型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。
本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。
4-LED显示器引脚如图2-4所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。
图2-44-LED显示器引脚图
对于上图这种结构的LED显示器,它的体积和结构都符合设计要求由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。
译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。
硬件译码是指利用专门的硬件电路来实现显示字符码的转换。
软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。
本次设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。
由于本设计采用的是共阴极LED,其对应的字符和字段码如下表所示。
表2-1共阴极字段码表
显示字符
共阴极字段码
3FH
1
06H
2
5BH
3
4FH
4
66H
5
6DH
6
7DH
7
07H
8
7FH
9
6FH
2.4.3LED数码管与单片机接口设计
由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。
为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如下图所示。
图2-5LED与单片机接口间的设计图
2.5A/D转换电路设计
2.5.1ADC0809芯片
ADC0809是8位逐次逼近式A/D模数转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
是目前国内应用最广泛的8位通用A/D转换芯片。
8路模拟开关、地址锁存与译码:
8路模拟开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。
地址锁存与译码电路完成对A、B、C这3个地址进行锁存和译码,其译码输出用于通道选择。
通道选择的地址编码如表所示。
表2-2ADC0809的通道选择地址编码
地址码
选择模拟通道
C
B
A
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
2.5.2ADC0809引脚说明
ADC0809引脚图如下:
图2-6ADC0809引脚图
主要特性:
Ø
8路输入通道,8位A/D转换器,即分辨率为8位。
具有转换起停控制端。
转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz)
单个+5V电源供电
模拟输入电压范围0--5V,不需零点和满刻度校准。
工作温度范围为-40到85摄氏度
低功耗,约15mW。
外部特性(引脚功能):
INO-IN7:
8路模拟量输入端。
DB0-DB7:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路。
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)
使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,+5V。
GND:
第3章软件设计
3.1程序流程图
图3-1程序流程图
主程序主要负责各个模块的初始化工作:
设置定时器、寄存器的初值,启动A/D转换,读取转换结果,控制数码管显示等,其流程图如上所示。
3.2A/D转换程序
A/D转换程序的功能是采集数据。
在本次系统设计中占有很高的地位。
当系统设置好后,单片机扫描转换结束管脚P2.6的输入电平状态,当输入为高电平,则转换完成,将数值转换并显示输出。
若输入为低电平则继续扫描。
图3-2A/D流程图
3.3编写程序
#include<
reg51.h>
digvol.h>
#defineuintunsignedint
#defineucharunsignedchar
sbitst=P2^5;
sbiteoc=P2^6;
sbitoe=P2^7;
sbitCLOCK=P2^4;
sbitp21=P2^1;
sbitp22=P2^2;
sbitp23=P2^3;
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x7d,0x07,0x7f,0x6f};
voidtimer0()interrupt1using0
{
CLOCK=!
CLOCK;
}
voidmain(void)
uchardate;
ucharb,s,g;
uchari;
TMOD=0X02;
TH0=245;
TL0=0;
IE=0X82;
TR0=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电压表