数字电压表单片机原理Word下载.docx
《数字电压表单片机原理Word下载.docx》由会员分享,可在线阅读,更多相关《数字电压表单片机原理Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
1.3单片机的发展趋势
单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:
1.低功耗CMOS化2.微型单片化3.主流与多品种共存
第2章数字电压表
2.1数字电压表的简介
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
一、数字电压表的特点
1.显示清晰直观,读数准确
传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免的会引入人为的测量误差。
数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳读现象,测量结果就是唯一的。
2.显示位数
显示位数通常为31/2位、32/3位、33/4/位、41/2位、43/4位、51/2位、61/2位、71/2位、81/2位共9种。
判定数字仪表的位数有两条原则:
①能显示0~9所有数字的位是整数位;
②分数位的数值是以最大显示值中最高位数字为分子,用满量程时最高数字作分母。
例如,某数字仪表的最大显示值为1999,满量程计数值为2000,这表明该仪表有3个整数位,而分数位的分子为1,分母是2,故称之为31/2位,读作三位半。
3.准确度高
准确度是测量结果中系统误差与随机误差的综合。
4.分辨率高
数字电压表在最低电压量程上末位1个字所代表的电压值,称为仪表的分辨力,它反映仪表灵敏度的高低。
分辨力随显示位数的增加而提高。
分辨率是指所能显示的最小数字(零除外)与最大数字的百分比。
例如31/2位DVM的分辨率为1/1999≈0.05%。
需要指出,分辨力与准确度属于两个不同的观念。
从测量角度看,分辨力是"
虚"
指标(与测量误差无关),准确度才是"
实"
指标(代表测量误差的大小)。
5.测量范围宽
多量程DVM一般可测量0~1000V直流电压,配上高压探头还可测上万伏的高压。
6.扩展能力强
在数字电压表的基础上,还可扩展成各种通用及专用数字仪表、数字多用表(DMM)和智能仪表,以满足不同的需要。
7.抗干扰能力强
51/2位以下的DVM大多采用积分式A/D转换器,其串模抑制比、共模抑制比各别可达100dB、80~120dB。
高档DVM还采用数字滤波、浮地保护等先进技术,进一步提高了抗干扰能力,共模抑制比可达180dB。
2.2用于数字电压表内的AD转化器分类
A/D转换器是数字电压表、数字多用表及测量系统的"
心脏"
。
目前国内外生产的A/D转换器已达数百种,大致可分为五大类:
①单片A/D转换器;
②单片DMM专用IC;
③多重显示仪表专用IC;
④专供数字仪表使用的特制IC(ASIC);
⑤其他通用型A/D转换器,这种芯片仅能完成模/数转换,不能直接配数字仪表。
1.单片A/D转换器
所谓"
单片A/D转换器"
,是采用CMOS工艺将DVM的基本电路(含模拟电路和数字电路)集成在同一芯片上,配以LCD或LED数显器件后能显示A/D转换结果的集成电路。
它们均属大规模集成电路,能以最简单方式构成DVM。
若对其外围电路进行扩展,增加各种功能转换器,还可构成DVM。
2.单片DMM专用IC
单片DMM专用IC是CMOS大规模集成电路和仪表技术的结晶,使用一片IC即可构成功能完善的自动量程数字多用表。
特别是专配μP的DVM集成电路的问世,为开发具有高性价比的智能仪表和测试系统创造了有利条件。
3.多重显示仪表专用集成电路
多重显示仪表包括二重、三重、四重显示仪表,是国际90年代流行产品。
2.3数字仪表的发展趋势
采用新技术、新工艺,由LSI和VLSI构成的新型数字仪表及高档智能仪器的大量问世,标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
1.广泛采用新技术,不断开发新产品
2.模块化的发展方向
新一代数字仪表正朝着标准模块化的方向发展。
预计在不久的将来,许多数字仪表将由标准化、通用化、系列化的模块所构成,给电路设计和安装调试、维修带来极大方便。
表面安装技术(SMT)和表面安装元器件(SMD)将获得普遍应用。
这项技术被誉为世界电子工艺技术的一项重要突破。
所谓表面安装是将微型化的表面安装集成电路(SMIC)和表面安装元件,用粘贴工艺直接安装在印刷板
上,再用波峰焊接机焊接,由此取代传统的打孔焊接工艺,使印刷板安装密度大为增加,可靠性得到明显提高。
3.多重显示仪表
为彻底解决数字仪表不便于观察连续变化量的技术难题,"
数字/模拟条图"
双显示仪表已成为国际流行款式,它兼有数字仪表准确度高、模拟式仪表便于观察被测量的变化过程及变化趋势的两大优点。
4.安全性
仪器仪表在设计和使用中的安全性,对于生产厂家和广大用户都是至关重要的问题。
一方面厂家必须为仪表设计安全保护电路,并使之符合国际标准(例如美国UL认证,欧洲GS认证,ISO9001国际标准质量认证);
另一方面用户必须安全操作,时刻注意仪表上的各种安全警告指示。
仪表的保护电路在于最大限度的减小或防止因误操作而造成的危害。
以DMM为例,常见的误操作是用电流档或电阻档去测量电压。
5.操作简单化。
第3章主要硬件功能及介绍
3.1完成AD转换的ADC0804
3.1.1ADC0804主要规格性能
所谓AD转换器就是模拟和数字转换器(ADC),是将输入的模拟信号转换成数字信号的器件。
信号输入端可以是传感器或转换器的输入端,而ADC的数字信号也可能提供给微处理器,以便广泛应用。
ADC0804的主要规格为:
(1)高阻抗状态输出
(2)分辨率:
8位(0~255)
(3)存取时间:
135ms
(4)转换时间:
100ms
(5)总误差:
-1~+1LSB
(6)工作温度:
ADC0804C为0度~70度;
ADC0804L为-40度~85度
(7)模拟输入电压范围:
0V~5V
(8)参考电压:
2.5V
(9)工作电压:
5V
(10)输出为三态结构
3.1.2ADC0804引脚图及接口电路
ADC0804引脚图如下:
图3-1ADC0804引脚图
引脚功能及应用特性如下:
1.CS、RD、WR(引脚1、2、3):
是数字控制输入端,满足标准TTL逻辑电
平。
其中CS和WR用来控制A/D转换的启动信号。
CS、RD用来读A/D转换的结果,当它们同时为低电平时,输出数据锁存器DB0~DB7各端上出现8位并行二进制数码。
2.CLKI(引脚4)和CLKR(引脚19):
ADC0801~0805片内有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生A/D转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。
其典型应用参数为:
R=10KΩ,C=150PF,fCLK≈640KHZ,转换速度为100μs。
3.INTR(引脚5):
INTR是转换结束信号输出端,输出跳转为低电平表示本次转换已经完成,可作为微处理器的中断或查询信号。
如果将CS和WR端与INTR端相连,则ADC0804就处于自动循环转换状态。
CS=0时,允许进行A/D转换。
WR由低跳高时A/D转换开始,8位逐次比较需8×
8=64个时钟周期,再加上控制逻辑操作,一次转换需要66~73个时钟周期。
4.VIN(+)(引脚)和VIN(-)(引脚7):
被转换的电压信号从VIN(+)和VIN(-)输入,允许此信号是差动的或不共地的电压信号。
AGND(引脚8)和DGND(引脚10):
A/D转换器一般都有这两个引脚。
模拟地
AGND和数字地DGND分别设置引入端,使数字电路的地电流不影响模拟信号回路,以防止寄生耦合造成的干扰。
VREF/2(引脚9):
参考电压VREF/2可以由外部电路供给,从“VREF/2”端直接送入,VREF/2端电压值应是输入电压范围的二分之一。
所以输入电压的范围可以通过调整VREF/2引脚处的电压加以改变,转换器的零点无需调整。
ADC0804电压输入与数字输出关系如表所示:
图3-2ADC0804电压输入与数字关系表
十六进制
二进制码
与满刻度的比率
相对电应值VREF=2.560伏
高四位字节
低四位字节
高四位字节电压
低四位字节电压
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
AD转换器的设计接口电路图:
图3-3AD转换器的设计接口电路图
图中,ADC0804数据输出线与AT89C51的数据总线直接相连,AT89C51的RD、WR和INT1直接连到ADC0804,由于用P1.0线来产生片选信号,故无需外加地址译码器。
当AT89C51向ADC0804发WR(启动转换)、RD(读取结果)信号时,只要虚拟一个系统不占用的数据存储器地址即可。
3.2系统控制核心AT89C51
3.2.1AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51主要性能:
1.与MCS-51兼容
2.4K字节可编程闪烁存储器
3.寿命:
1000写/擦循环
4.数据保留时间:
10年
5.全静态工作:
0Hz-24MHz
6.三级程序存储器锁定
7.128×
8位内部RAM
8.32可编程I/O线
9.两个16位定时器/计数器
10.5个中断源
11.可编程串行通道
12.低功耗的闲置和掉电模式
13.片内振荡器和时钟电路
3.2.2AT89C51外部管脚分布及功能介绍
AT89C51外部管脚分布图:
图3-4AT89C51外部管脚图
管脚功能介绍:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.3译码驱动芯片74LS47
74LS47的功能:
在数字系统中常要将测量或处理直接显示成十进制数字。
因此,首先将以二进制码表示的结果送译码器译码,用它的输出去驱动显示器件。
由于显示器件的工作方式不同,译码器的要求不同,译码器的电路也不同。
在此电路中将倒计时的数据显示出来。
74LS47的外部管脚图:
图3-574LS47外部管脚图
74LS47管脚介绍:
A0
:
二进制数码
A1
A2
A3
GND
接地信号
VCC
接电源
Abcdefg
输出信号
LT
试灯信号输入。
当该端加低电平,BI=1时,各段都亮。
否则说明显示器有故障。
正常运行时LT应处于高电平
BI/RBO
灭零输入信号。
用来熄灭不需要显示的0,对其他数字不起熄灭作用。
高电平有效。
RBI
将RBO和RBI配合使用很容易实现多位数码显示的灭零控制。
第4章直流电压表的系统设计
4.1数字电压表系统设计框图
直流数字电压表的电路组成图:
图4-1直流电压表设计框图
数字电压表主要由模/数转换电路、单片机控制电路、显示电路等三部分组成。
其中ADC0804等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换的数字信号送进单片机。
单片机控制电路主要实现对数据进行程序处理;
显示电路主要用于将单片机的信号数据转换后显示测量结果。
模拟信号产生模块:
输入电源电路(变压器、整流电路、滤波电路、稳压电路组成)和分压电路(9万欧姆和1万欧姆的电阻分压)。
模数转换模块组成部分:
ADC0804芯片
程序处理的单片机控制模块:
AT89C51芯片
电压结果显示部分:
74LS47译码驱动芯片,七段LED显示管
4.2设计目标和功能实现情况
基于51的数字直流电压表的设计总体目标:
将电源电路提供给的连续的模拟直流电压通过数模转化模块转换成间断不连续的数字量,便于单片机对此电压输出的显示控制(单片机对于模拟输入的电压不能发挥控制作用):
最终能够在LED显示管中显示测量的电压(如:
008.8V)
功能的实现情况:
系统功能:
1)从将测试端输入的0~51V电压,经电阻R1、R2分压(设计中R1和R2的电阻设计分别是9万欧姆和1万欧姆,使得输入的模拟电压处于实际电压的十分之一),所以ADC0804输入电压Uin大约只有测试端输入电压(0~51V)的十分之一(原则上满足ADC0804数模转换芯片的工作电压),经过AT89C51程序处理,最后将测量结果显示在数码管D4、D3、D2、D1上。
2)本电路中ADC0804的输入电压Uin是可变电阻器的模拟待测电压,电压最高赋值没有超出ADC0804的工作极限电压。
3)若ADC0804芯片输出最大转换值为0FFH(255),即最大显示电压为51V。
4)若测试端输入电压为8V,由于R1和R2的分压作用,实际输入数模转换模块的电压为实际输入电压的十分之一,则ADC0804的实际采样输入电压只有0.8V。
○1.输入的模拟电压值经A/D转换后为28H。
○2.14H经十进制调整为0040,则令寄存器(R4)=00,(R5)=40。
○3.再将此0040×
2=0080,再使(R4)=00;
(R5)=80。
○4.经译码器译码后在数码管上显示0080。
5)数点设在D2上,并将其分别显示为:
008.0
D4D3D2D1
4.3系统硬件电路设计
4.3.1电源电路
由于电路中涉及到的集成电路有74LS47、ADC0804、AT89C51,根据它们的技术参数要求,正常工作时均为5V供电(R1和R2分压电路将ADC转换模块的输入模拟电压控制在5V以内),且电路工作静态电流较小,因此对电源的要求并不高。
本电路采用LM7805集成稳压电路,它的输出电压为5V,输出电流可达1.5A。
电路由变压器、整流电路、滤波电路、稳压电路组成。
4.3.2模/数转换电路
数字电压表电路首先要对待测电压信号进行采样,而采样的电压信号是模拟信号,而单片机的控制只能是数字信号,因此要将采样的模拟电压信号转换成数字信号,本电路选用了模/数转换集成电路,而众多的模/数转换集成电路中ADC0804的性能要求最符合本设计中的要求,所以设计模/数转换电路选用了ADC0804作为转换芯片,其引脚图如图3所示。
ADC0804是用CMOS集成工艺制成的逐次比较型摸数转换芯片。
分辨率8位,转换时间100μs,输入电压范围为0-5V,增加某些外部电路后,输入模拟电压可为5V。
该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线。
该芯片为单一+5V供电,时钟脉冲CLK由CPU提供或自身产生。
利用CPU时钟脉冲时,将CPU的CLK分频接至ADC0804芯片的CLKIN端(管脚4)。
模/数转换电路如图所示:
图4-2模数转换电路图
电路对待测模拟电压信号进行采样,输入电压Uin(+)(0~51V)经过电阻R1、R2分压,由ADC0804(○6脚)输入,作为ADC0804的输入转换电压,电阻R1、R2的作用