基于单片机的数字电压表1.docx
- 文档编号:10933988
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:47
- 大小:305.68KB
基于单片机的数字电压表1.docx
《基于单片机的数字电压表1.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表1.docx(47页珍藏版)》请在冰豆网上搜索。
基于单片机的数字电压表1
基于单片机的数字电压表
摘 要
数字电压表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。
数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
本设计采用了以单片机为开发平台,控制系采用了AT89S52单片机,A/D转换采用ADC0804。
系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。
关键词:
单片机 AT89S52 A/D转换 ADC0804 数据处理
ThedesignofDigitalVoltageMeterbasedonSingle-chip
Abstract
Thebirthofdigitalvoltagemeterbreaksthetraditionalmodelofelectronicmeasuringinstrumentsandpatterns.Itshowstheclearandintuitive,accuratereadings,usinganadvanceddigitaldisplaytechnology,greatlyreducedduetohumanfactorsofthemeasurementerrorcausedbytheincident.Digitalvoltagemeterisarowofanalog(DCinputvoltage)intoanon-continuous,discretedigitalform,andtheinstrumentdisplay.Digitalvoltagemetertoelectronictechnology,computingtechnology,automationtechnologyandprecisionoftheresultsofelectricalmeasurementtechnologyclosertogetherandbecomeinstruments,metersandcompleteanindependentfieldofabranch,digitalvoltagemeterindicatesthatthefieldofelectronicdevicesarevolutionandalsopioneeredthemodernpioneerofelectronicmeasurementtechnology.
Thedesignusesasingle-chipplatformforthedevelopment,controloftheDepartmentoftheuseofAT89S52single-chip,A/DconversionusingADC0804.Inadditiontotherealizationofthesystemtoensurethattherequiredfunctionality,butalsofacilitatethe8otherA/Dconvertermeasurement,distancemeasurementfunctionoftransmissionexpansion.SimpledigitalvoltagemeasuringcircuitismadeoftheA/Dconversion,dataprocessing,displaycontrol,etc.
Keywords:
SCMAT89S52A/DconversionADC0804Dataprocessing
目 录
前 言1
第1章 课题概况2
第1.1节 系统总体方案选择与说明2
第1.2节 系统总体方案总结2
第1.3节 系统结构框图3
第1.4节 工作原理3
第1.5节 本章小结4
第2章系统硬件部分方案设计5
第2.1节 输入电路5
第2.2节 A/D转换及量程选择电路6
第2.3节 单片机部分12
第2.4节 电压显示电路19
第2.5节 锁存电路22
第2.6节 复位电路23
第2.7节 本章小结24
第3章 系统软件部分方案设计25
第3.1节 单片机C51语言25
第3.2节 程序设计26
第3.3节 本章小结30
第4章 系统调试31
第4.1节 硬件调试31
第4.2节 软件调试32
第4.3节 本章小结33
结 论34
附 录135
附 录236
参考文献44
致 谢45
前 言
数字电压表(DigitalVoltageMeter)简称DVM,它是一种采用数字化测量技术,把连续的模拟量(主要是直流电压)转换成不连续的、离散的数字形式并加以显示的仪表。
传统的模拟指针式电压表功能单一,测量精度低,已经不能适应当今数字时代的需求。
采用基于单片机的数字电压表,测量精度不但高,而且可扩展性强、集成方便,抗干扰性强。
目前由各种单片机、A/D转换器组成的数字电压表已经成为了新型的工业自动化检测仪表,广泛应用于电工电子测量、自动测试系统等智能测量领域。
由单片机扩展的各种数字仪器仪表把自动检测和自动控制技术提高到了一个新台阶。
本文重点介绍MCS-51系列单片机中的AT89S52、数模转换器ADC0804以及由它们组成的数字电压表的工作原理。
第1章 课题概况
第1.1节 系统总体方案选择与说明
实现数字电压表的方案很多,目前广泛采用的是基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。
方案设计此设计包含两个模块,通道转换和显示部分方案。
1.1.1通道转换方案设计
方案一:
考虑到ADC0804的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。
方案二:
利用手动开关实现通道转换。
该方案可简化控制程序,消减系统开销。
缩短反应时间,不足之处在于操作麻烦。
综上所述:
方案二所需元件少、成本低且易于实现,则选此方案。
1.1.2显示部分方案设计
方案一:
单片机的P0口接74HC573芯片来驱动四位数码管。
方案二:
直接用单片机的P1、P2口驱动数码管,此处把ADC0804的输出端接P1口,因为P1口能够驱动数码管。
综上所述,两个方案都可行,但方案一所需方便快捷,则选择此方案。
第1.2节 系统总体方案总结
根据数字电压表的功能实现要求,选用AT89S52单片机作控制系统,低电压经放大器选用OPA820实现放大10倍、高电压经大电阻分压从而控制输入ADC0804的信号在2V左右实现A/D转换经AT89S52接74HC573送入LED显示。
其精度和显示可以精确控制,且电路相对简单成本低,稳定性较高,故采用此设计。
第1.3节 系统结构框图
根据项目要求,确定该系统的设计方案,图1.1为该系统设计方案的结构框图。
硬件电路由5个部分组成,即测量电压输入电路、A/D转换及量程选择电路、单片机电路、锁存电路、电压显示电路。
图1.1 系统结构图
第1.4节 工作原理
对待测模拟电压值按不同的范围,分为200mv、2v、20v、200v四个档位,对于高于2V的档位,采用高电阻分压电路,等比例转换为0—5V的电压值,对于200mv档位,等比例放大10倍左右,再将电压送入AD进行转换,再将处理的信号送入单片机进行处理并显示。
AT89S52单片机的晶体振荡器振荡频率为12MHz。
4位LED数码管的采用动态显示方式显示。
两个74HC573控制4位LED数码管的段和位显示。
第1.5节 本章小结
数字电压表有多种方案,每种方案各有利弊,为了设计一个较为完备的系统,采用了以单片机为控制核心的数字电压表。
在此系统中,单片机起到了数据传输、数据处理等极为重要的作用,因此在下一章节中将重点介绍单片机的相关设计。
第2章系统硬件部分方案设计
第2.1节 输入电路
本设计的输入电路就是模拟电压检测电路,不论输入电路是何种形式,但对于本设计而言,其等效电路都是相同的,如图2.1所示。
输入电路的作用是把被测的模拟电压值送到模数转换器的模拟输入端,具体到本设计中,就是将滑动变阻器中某一点的对地电位值(参考电势为0)根据大小确定量程量程,然后选择合适的分压电路,最后将转换后的模拟电压送至ADC0804。
图2.1 等效电路
第2.2节 A/D转换及量程选择电路
2.2.1A/D转换的工作过程
A/D转换器需要将时间和幅值都连续的模拟量,转换为时间和幅值都离散的数字量,一般要经过取样、保持和量化、编码几个过程,下面分别予以讨论。
(1)取样与保持
取样电路可将输入模拟量转换为在时间模拟的离散量,由常识可以知道,取样信号的频率越高,取样后的信号经低通滤波器后就越能真实地复现输入信号。
合理的取样信号必须符合取样定理。
取样定理如下。
取样定理:
设取样信号的频率为
,输入模拟信号的最高频率分量的频率为
,则
与
必须满足下面的关系
≥2
(2·1)
一般取
>2
。
将取样所得信号转换为数字信号往往需要一定的时间,为了给后续的量化编码电路提供一个稳定值,取样电路的输出还须保持一段时间。
一般取样与保持过程都是同时完成的。
(2)量化与编码
数字量在数值上是离散的,任何数字量只能是某个最小数量单位的整数倍。
要实现A/D转换,还必须将取样、保持电路的输出表示为最小数量单位的整数倍。
将数值连续的模拟量转换为数字量的过程称为量化。
最小数量单位△称为量化单位,量化单位△是数字信号最低位为1时所对应的模拟量,即1LSB。
由于被取样电压是连续的,它的值不一定都能被△整除,所以在量化过程中,不可避免地存在误差,称为量化误差。
量化误差属于原理误差,它是无法消除的。
A/D转换器的位数越多,1LSB所对应的△值越小,量化误差的绝对值也越小。
量化的方法,一般有舍尾取整法和四舍五入法两种。
舍尾取整的处理方法是:
如果输入电压
在两个相邻的量化值之间时,即(n-1)△<
<n△时,取
的量化值为(n-1)△。
四舍五入的处理方法是:
当
的尾数不足△/2时,舍去尾数取整数,当
的尾数大于或等于△/2时,则其量化单位在原数上加一个△。
将量化后的结果用二进制码或其他代码表示出来的过程称为编码。
经编码输出的代码就是A/D转换器的转换结果。
2.2.2A/D转换器的主要技术指标
A/D转换器的主要技术指标有转换精度、转换速度等。
选择A/D转换器时除考虑这两项技术指标外,还应注意满足其输入电压的范围、输出数字的编码、工作温度范围和电压稳定度等方面的要求。
(1)分辨率
A/D转换器的分辨率用输出二进制(或十进制)数的位数表示。
它说明A/D转换器对输入信号的分辨能力。
从理论上讲,n位输出的A/D转换器能区分
个输入模拟电压信号的不同等级,能区分输入电压的最小值为满量程输入的1/
。
在最大输入电压一定时,输出位数愈多,量化单位愈小,分辨率愈高。
(2)转换时间
转换时间是指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。
A/D转换器的转换时间与转换电路的类型有关,不同类型的转换器转换速度相差甚远。
其中并行比较A/D转换器的转换速度最高,逐次比较型A/D转换器次之,间接A/D转换器的速度最慢。
在实际应用中应从系统数据总的位数、精度要求、输入模拟信号的范围及输入信号极性等方面综合考虑A/D转换器的选用。
2.2.3逐次比较型A/D转换器
如图2.2所示,模数转换开始前先将所有寄存器清零。
开始转换以后,时钟脉冲首先将寄存器最高位置成1,使输出数字为100…0。
这个数码被数模转换器转换成相应的模拟电压
,送到比较器中与
进行比较。
若
>
,说明数字过大了,故将最高位的1清除;若
<
,说明数字还不够大,应将最高位的1保留。
然后,再按同样的方式将次高位置成1,并且经过比较以后确定这个1是否应该保留。
这样逐位比较下去,一直到最低位为止。
比较完毕后,数据寄存器中的状态就是所要求的数字量输出。
图2.2 逐次比较型A/D转换器框图
逐次比较型A/D转换器的模拟量输入与数字量输出的对应关系如表2.1所示。
表2.1 逐次比较型A/D转换器输入与输出关系对照表
十六进制
二进制码
与满刻度的比率
相对电压值VREF=2.560V
高四位字节
低四位字节
高四位电压
低四位电压
F
1111
15/16
15/256
4.800
0.300
E
1110
14/16
14/256
4.480
0.280
D
1101
13/16
13/256
4.160
0.260
C
1100
12/16
12/256
3.840
0.240
B
1011
11/16
11/256
3.520
0.220
A
1010
10/16
10/256
3.200
0.200
9
1001
9/16
9/256
2.880
0.180
8
1000
8/16
8/256
2.560
0.160
续表
7
0111
7/16
7/256
2.240
0.140
6
0110
6/16
6/256
1.920
0.120
5
0101
5/16
5/256
1.600
0.100
4
0100
4/16
4/256
1.280
0.080
3
0011
3/16
3/256
0.960
0.060
2
0010
2/16
2/256
0.640
0.040
1
0001
1/16
1/256
0.320
0.020
0
0000
0
0
2.2.4ADC0804简介
A/D转换器的功能是将模拟量转换为与其大小成正比的数字量信号。
能实现这种转换的原理和方法很多,本设计采用ADC0804转换器。
ADC0804是属于并行比较型的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。
图2.3 ADC0804管脚图
(1)ADC0804的规格
8位COMS逐次比较型的A/D转换器
三态锁定输出
存取时间:
135μS
分辨率:
8位
转换时间:
100μS
总误差:
正负1LSB
工作温度:
ADC0804LCN---0~70度
(2)ADC0804的管脚
/CS:
芯片选择信号。
/RD:
外部读取转换结果的控制输出信号。
/RD为高电平时,DB0~DB7处理高阻抗;/RD为低电平时,数字数据才会输出。
/WR:
用来启动转换的控制输入,相当于ADC的转换开始(/CS=0时),当/WR由高电平变为低电平时,转换器被清除;当/WR回到低电平时,转换正式开始。
CLKIN,CLKR:
时钟输入或接振荡元件(R,C),频率约限制在100KHZ~1460KHZ,如果使用RC电路则其振荡频率为1/(1.1RC)。
/INTR:
中断请求信号输出,低电平动作。
VIN(+)VIN(-):
差动模拟电压输入.输入单端正电压时,VIN(-)接地:
而差动输入时,直接加入VIN(+)VIN(-)。
AGND,DGND:
模拟信号以及数字信号的接地。
VREF:
辅助参考电压。
DB0~DB7:
8位的数字输出。
VCC:
电源供应以及作为电路的参考电压。
2.2.5量程选择电路
被检测到的电压信号由集成模数转换芯片ADC0804模拟输入端输入,完成A/D转换后由数据总线送入单片机,经相应处理后输出显示。
针对量程选择的电路设计,将被测模拟电压值按不同的范围,分为200mV、2V、20V、200V四个档位。
对于高于2V档位内的电压,例如20V、200V两个档位,采用高电阻分压电路,等比例转换为0~5V的电压值;对于200mV档位内的电压,通过差分放大器将所测电压等比例放大10倍左右,再将电压送入AD进行转换,然后将处理的信号送入单片机进行处理并显示;对于2V档位内的电压,直接将模拟电压输入到ADC0804。
由于量程选择的范围不大,所以量程选择方式为手动。
具体电路如图2.4所示。
图2.4 A/D转换以及量程选择电路
2.2.6量程选择电路的工作原理
在本节中主要介绍了模数转换器ADC0804和量程选择电路。
在本部分电路中,ADC0804作为核心元件起到了重要作用。
由于ADC0804只有一个模拟通道,并且输入模拟电压的范围为0~5V,所以必须使用量程选择电路,使得初始的模拟电压经过相应的4路选择开关都转换到0~5V内。
ADC0804采用逐次逼近式的算法将模拟电压转换为相应的数字电压,该数字电压采用的是二进制编码(即BCD编码),此编码作为单片机AT89S52的输入,单片机的数据传送与数据处理就是围绕该编码展开的,下一节将是本论文的核心。
第2.3节 单片机部分
2.3.1单片机概述
图2.4 单片机结构图
上图是MCS-51系列单片机的基本组成框图,由此图可知,单片机在一块芯片上集成了CPU、存储器、寄存器组、定时器/计数器、中断逻辑、并行I/O接口、串行通信接口等构成计算机的基本功能模块。
单片机的这种体系结构、微处理器、指令系统、总线方式、管理模式等实际上就是嵌入到芯片中的专用计算机系统,简称嵌入式系统。
这种嵌入式系统能够实现高速采集外部数据、逻辑分析与处理、状态显示、输出等智能化控制的功能,它具有较强的控制能力与较高的可靠性。
因此,在需要数据传输、数据处理等智能控制类的产品中,大部分都应用到了单片机,其中单片机处于核心地位。
本设计的数字电压表是基于单片机实现的,其中单片机是目前比较常用的AT89S52,如图2.5所示。
2.3.2单片机AT89S52
图2.5 AT89S52引脚图
(1)AT89S52简介
MCS-51系列单片机有多种型号的产品,如基本型(51子系列)8051、8751、8031、80C51、87C51、80C31等型号,都可称为51系列;增强型(52子系列)8052、8752、8032、80C52、87C52、80C32等型号。
目前使用较多的还有89S51、89S52型单片机,它们也是51系列产品。
本设计使用的是由Atmel公司生产的AT89S52型单片机。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在线系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在线系统编程,亦适用于常规编程器。
在单个芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,这使得AT89S52为众多嵌入式控制应用系统提供高灵活、超级有效的解决方案。
AT89S52可降至0Hz静态逻辑操作,并且支持2种软件可选择节电模式。
在空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
在掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,其中AT89C2051是它的一种精简版本。
AT89S52的外形及引脚排列如图2.5所示。
(2)主要特性
与MCS-51兼容
8K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
256×8位内部RAM
32位可编程I/O线
三个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
(3)管脚说明
VCC:
电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8个TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于扩展外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
下面简要介绍P0口的具体功能。
①P0口作普通的I/O线
P0口作一般的I/O口使用时,是一个双向口。
其输入/输出操作如下:
P0口作输出口:
CPU向P0口输出数据时(执行输出指令MOVP0,A),写脉冲加在锁存器的时钟端上,此时输出锁存器的输出与引脚的输出状态是一致的。
由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。
P0口驱动MOS逻辑电路时上拉电阻值为4.7kΩ,驱动LED显示器时上拉电阻值为470Ω。
P0口的输出级可驱动8个LS型TTL负载。
P0口作输入口:
当P0口作为输入口使用时,应区分读引脚和读锁存器2种状态。
为此,在电路中有2个用于读入的三态缓冲器1和2,分别为读引脚和读锁存器。
①读引脚:
三态缓冲器1用于读引脚操作。
当CPU在执行“MOV”类指令时(如MOVA,P0),读引脚的脉冲将三态缓冲器1打开,于是P0.X引脚上的数据经过缓冲器读入内部总线。
②读锁存器:
三态缓冲器2用于读锁存器Q端的数据。
Q端的数据实际上与引脚处的数据是一致的,结构上的这种安排是为了适应CPU的“读-改-写”指令的需要。
这类指令的特点是:
先读端口,随之可以对读入的数据进行修改,然后再写到端口上。
例如,逻辑指令(ANLP0,A),此指令的功能是先把P0口的数据读入CPU,然后同累加器A中的数据按位进行逻辑与操作,最后将结果写回P0口。
在本设计中,P0口实现的是写操作。
②P0口作地址/数据总线
当CPU访问片外存储器时,P0口作分时复用地址/数据总线使用,此时,CPU的控制信号为高电平“1”,模拟开关MUX将反相器的输出与场效应管栅极接通,并打开与门。
输出的地址或数据信号通过与门驱动场效应管,同时通过反相器驱动另外一个场效应管,完成信息传送。
P0口在作为地址/数据总线使用时不用外接上拉电阻。
本设计中单片机的P0口还被当作地址/数据总线。
P1口:
P1口是唯一的单功能双向口,只作为通用I/O口使用。
P1口输出驱动部分接有内部上拉电阻。
与P0口相同,当用作输出口时,CPU向输出锁存器写“1”时,输出场效应管截止,输出线由内部上拉电阻拉成高电平;若向输出锁存器写“0”时,场效应管导通,输出低电平。
P1口的输出级可驱动4个LS型TTL负载。
CPU读P1口也是分为“读引脚”和“读锁存器”2种操作。
和P0口的操作类似,当P1口“读引脚”时,先向输出锁存器写入“1”,使场效应管截止,该口线由内部上拉电阻拉成高电平,从而读入正确的输入数据。
“读锁存器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 电压表