基于51单片机的数字万用表设计.docx
- 文档编号:24624513
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:25
- 大小:621.65KB
基于51单片机的数字万用表设计.docx
《基于51单片机的数字万用表设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的数字万用表设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于51单片机的数字万用表设计
基于51单片机的数字万用表设计
摘要
本文介绍一种以AT89S52单片机为核心的智能型数字式多用表,该系统采纳AD0808为采样元件,对待测交直流电压信号进行实时采样,数据处置,输出显示,并能够直流电流和电阻,且具有键盘选择测量对象、量程和自动量程转换功能。
关键词:
A/D转换器,单片机,模拟开关,自动量程转换
第一章前言
功能:
实现交直流测量,量程自动转换,过电压自动报警。
仿真及编译软件:
Proteus,Keil,Wave
要紧元件:
AT89C52,CD4511,AD0808,7段数码管(8个),蜂鸣器
预定性能指标:
直流电压:
范围-40—+50V,精度20mv,实时无中断测量,4%。
交流信号:
测量范围-5—+5V,频率范围:
300Hz到100Khz误差5%。
初步方案及进展:
小组成员及任务分派:
组长:
陈文豹硬件电路设计参数确信与调试
组员:
庞明软件程序设计
邓玉龙资料查询并辅助电路设计
数字万用表设计分析
本设计能够分为直流电压测量电路;交流/直流转换电路;电流/电压转换电路;电阻/电压转换电路;功能操纵和数据显示电路这五个的要紧电路模块。
在设计直流电压测量电路时,利用反相较例运算电路,加上自己设计的四选一模拟开关,组成了一个直流电压测量电路。
但该电路在实践中存在问题,不能实现预期的结果。
做了适当的修改,改成由电阻、模拟开关和运放组成放大倍数可调的比例电路。
由于不管是指针式万用表仍是一般的真有效值或平均值响应的数字万用表,其交流电压档的频率特性都较差,一样只能测量几十赫兹到几千赫兹的低频电压。
我发觉关于指针式万用表造成频率特性较差的缘故主若是万用表的分压电阻采纳周密电阻器,其本身的散布电容较大,在对高频电压信号进行测量时,由于散布电容的容抗大为减少使得测量值明显低于实际电压值,而关于数字万用表除上述缘故之外,另一要紧缘故是受平均值响应,转换器本身频率特性的限制。
但此缺点可通过采纳宽频带运算放大器加以改善。
因此,排除分压电阻器散布电容的阻碍就能够够提高万用表工作频率的上限,大大改善其频率特性。
数字万用表简介
数字万用表(DMM)亦称数字多用表,是目前在电子检测及维修工作中最经常使用、最得力的一种工具类数字仪表。
它采纳的数字化测量技术,通过对持续的模拟量(直流输入电压)的采样将其转换成不持续、离散的数字量,并以十进制数字形式显示出来。
由于内部采纳了运放电路,内阻能够做得专门大,往往在1M欧或更大(即能够取得更高的灵敏度)。
这使得对被测电路的阻碍能够更小,测量精度较高。
传统的指针式万用表功能单一、精度低,已经不能知足数字化时期的需求,而采纳单片A/D转换器组成的数字万用表,具有读数方便、精度高,测试功能强、集成度高、微功耗、抗干扰能力强等特点,另外带有单片机的智能型数字万用表更是具有自动校准,自动测量,自动数据处置和实时通信等多种功能。
目前,数字万用表已被普遍用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出壮大的生命力。
与此同时,由DMM扩展而成的各类通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
第二章电路设计
§系统整体方案选择
系统整体框图如下:
系统框图
以下图为系统整体硬件电路:
总原理图
§AD转换电路
本设计采纳直通方式如以下图:
AD0808连接图
其中v0,v1,v2,v3别离作为待测信号,通过ABC选通并输入AD。
§信号及其处置
直流电压测量电路:
由于待测电压范围太大,高的可到500v,而AD只能参考输入为+-5V,因此关于未知信号,能够先衰减再测量。
信号分压与放大电路
由于输入信号幅值未知,因此考虑平安因素,尽可能的将待测信号Vx经电阻分压后输入放大器进行范围判定。
因此,应尽可能大的利用大功率的分压电阻。
V1是VI经U3放大十倍后的信号,v2是VI经U5放大后的信号。
V0即为VI。
VI是待测信号衰减一百倍的信号,将VI输入给电压比较电路,进行范围判定。
电压比较阵列电路
衰减后的信号通过以上比较器,能够大致划分为:
0—5V,5—50V和50V以上等三个范围,即能够组成1档,10档,100档三个档位,将比较器的结果输入到单片机中,进行判定处置,当比较器C输出为逻辑0时,能够确信待测范围为0—5V,将v2送入AD测量。
当比较器C输出为1,比较器B输出为0时,能够确信待测信号范围为5—50V,将v1送入AD测量。
当比较器C和B输出为1时,能够确信待测信号范围为50v以上,将v0送入AD测量。
在处置数据时候,别离对转换结果乘以1,10和100,即可还原真实值。
大电压衰减测量:
经单片机判定后,需对AD0808的ABC引脚进行操作,选择通道输入。
关于0—5V信号,选择v2作为输入
关于5—50V电路,选择v1作为输入
关于50V以上的信号,选择v0作为输入
关于50V以上信号可将输入比较器阵列的VI信号作为输入进行测量。
交流电压测量电路:
交流/直流转换电路
方案一:
半波整流电路。
利用二极管的单向导电性,能够很容易的取得直流电压,且能知足设计要求。
方案二:
采纳真有效值转换芯片,性能参数方面也都能知足设计要求,而且还能测量非正弦波,但一样真有效值转换芯片价钱比较贵。
鉴于此,故采纳方案一。
如下图所示,那个电路是利用低漂移单运算放大器741与二极管D1N4148组成平均值周密半波整流电路。
该电路可幸免二极管在小信号整理时所引发的非线性误差,使交流/直流转换电路的输入电压与输出电压成线性关系,适合测量40-400Hz的正弦电压,测量准确度优于±1%。
交直流转换电路
仿真图:
周密半波检波仿真结果
将信号进行半波整理,然后进行峰值检波,求出信号峰值,依照波峰因素等电路原理,进行处置,通过软件方式,求出有效值,进行显示。
电流/电压转换电路
如下图,一般模拟开关能够通过的电流很微小,因此通过单片机操纵继电器来操纵线路导通断开,将被测电流信号(0-500mA)转换为相应的电压信号(0-200mV),然后通过OP07将信号放大10倍,最后输入A/D转换器MC14433的Vin端。
1A/250V的熔丝管FU为限流爱惜电路,两个二极管1N4007组成爱惜为过压爱惜电路。
阻值为90Ω、9Ω的电阻采纳误差为±%的周密金属膜电阻,而阻值为Ω、Ω的电阻通过的电流专门大必需采纳误差为±%的周密绕线电阻。
图电流/电压转换电路图[1]
电阻/电压转换电路
方案一:
利用运算放大器采纳反相较例运算的方式进行测量。
该方式实现比较简单,且能知足设计要求。
方案二:
采纳分压原理,利用流过标准电阻R0和被测电阻Rx的电流大体相等来取得电压与电阻的关系,但当电阻很小时电流过大。
鉴于此,故采纳方案一。
如下图。
稳压二极管1N4730A的稳压值为(即B点处电压值),采纳运算放大器反相较例运算的方式,将B点处的电压值衰减到2V(即A点处电压值),单片机通过操纵模拟开关MAX4618(超低导通电阻)选择适当的标准参照电阻R1,再利用运算放大器反相较例运算的方式,将被测电阻RX的阻值转换成与之相对应的电压量,输入A/D转换电路。
电阻/电压转换电路的计算公式:
UA/R1=Uin/Rx,推得:
Rx=R1*Uin/UA。
图电阻/电压转换电路图[2]
[1][2]图参考湖北经济学院郑娇毕业论文数字万用表设计
§单片机操纵与显示电路
单片机及其外电路
单片机及其外围电路主若是为系统提供稳固的时钟源和复位操作,详细电路如图:
单片机及其外围电路
显示电路
4511用于对输出的数字信号译码,传送给4个共阴数码管,以进行动态显示。
§报警及电源端电路
报警电路:
蜂鸣器报警电路
单片机经判定后,若是超过待测信号范围(即比较器ABC输出为111),用P3^7脚操纵三极管的截止与开通,从而引发蜂鸣器开启,实现报警。
直流正负电压判定电路:
正负电压判定电路
将VI输入过零比较器比较器,输出结果给P00口,实现正负号判定,并显示
第三章要紧元器件介绍
模数转换器ADC0808
ADC0808是带有8位A/D转换器、8路多路开关和微处置机兼容的操纵逻辑的CMOS组件。
它是逐次逼近式A/D转换器,能够和单片机直接接口。
的内部逻辑结构
由以下图可知,ADC0808由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,许诺8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平常,才能够从三态输出锁存器取走转换完的数据。
2.ADC0808引脚结构
ADC0808各脚功能如下:
D7-D0:
8位数字量输出引脚。
IN0-IN7:
8位模拟量输入引脚。
VCC:
+5V工作电压。
GND:
地。
REF(+):
参考电压正端。
REF(-):
参考电压负端。
START:
A/D转换启动信号输入端。
ALE:
地址锁存许诺信号输入端。
(以上两种信号用于启动A/D转换).
EOC:
转换终止信号输出引脚,开始转换时为低电平,当转换终止时为高电平。
OE:
输出许诺操纵端,用以打开三态数据输出锁存器。
CLK:
时钟信号输入端(一样为500KHz)。
A、B、C:
地址输入线。
ADC0808对输入模拟量要求:
信号单极性,电压范围是0-5V,假设信号过小,必需进行放大;输入的模拟量在转换进程中应该维持不变,如假设模拟量转变太快,那么需在输入前增加采样维持电路。
地址输入和操纵线:
4条ALE为地址锁存许诺输入线,高电平有效。
当ALE线为高电平常,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
数字量输出及操纵线:
11条
VREF(+),VREF(-)为参考电压输入。
3.ADC0808应用说明
(1).ADC0808内部带有输出锁存器,能够与AT89S51单片机直接相连。
(2).初始化时,使ST和OE信号全为低电平。
(3).送要转换的哪一通道的地址到A,B,C端口上。
(4).在ST端给出一个至少有100ns宽的正脉冲信号。
(5).是不是转换完毕,咱们依照EOC信号来判定。
(6).当EOC变成高电平常,这时给OE为高电平,转换的数据就输出给单片机了。
4.
(1).进行A/D转换时,采纳查询EOC的标志信号来检测A/D转换是不是完毕,假设完毕那么把数据通过P0端口读入,通过数据处置以后在数码管上显示。
(2).进行A/D转换之前,要启动转换的方式:
ABC=110选择第三通道
ST=0,ST=1,ST=0产生启动转换的正脉冲信号.
AD0808时序图
主控芯片AT89C52
单片机选择的是较为熟悉的AT89C52,AT89C52是一种低功耗、高性能CMOS8位微操纵器,具有8K在系统可编程Flash存储器。
利用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash许诺程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式操纵应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗按时器,2个数据指针,三个16位按时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,许诺RAM、按时器/计数器、串口、中断继续工作。
掉电爱惜方式下,RAM内容被保留,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
CD4511资料
CD4511是BCD锁存/7段译码器/驱动器,经常使用的显示译码器件,MAX7219和他功能差不多。
CD4511引脚功能:
BI:
4脚是消隐输入控制端,当BI=0时,不管其它输入端状态是怎么样的,七段数码管都会处于消隐也就是不显示的状态。
LE:
锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
LT:
3脚是测试信号的输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮全部显示。
它主要用来检测数7段码管是否有物理损坏。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:
为译码输出端,输出为高电平1有效。
CD4511的里面有上拉电阻,可直接或接一个电阻与七段数码管接口。
数字电路CD4511的原理(引脚及功能)
CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,特点:
具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。
可直接驱动LED示器。
CD4511是一片CMOSBCD—锁存/7段译码/驱动器,引脚排列如图2所示。
其中abcd为BCD码输入,a为最低位。
LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。
BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时,B1端应加高电平。
另外CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。
LE是锁存控制端,高电平时锁存,低电平时传输数据。
a~g是7段输出,可驱动共阴LED数码管。
另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观图3是CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只CD4511和LED数码管即可。
所谓共阴LED数码管是指7段LED的阴极是连在一起的,在应用中应接地。
限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。
其功能介绍如下:
BI:
4脚是消隐输入控制端,当BI=0时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:
3脚是测试输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:
锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:
为译码输出端,输出为高电平1有效。
CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。
其引脚图如3-2所示。
各引脚的名称:
其中7、1、2、6分别表示A、B、C、D;5、4、3分别表示LE、BI、LT;13、12、11、10、9、15、14分别表示a、b、c、d、e、f、g。
左边的引脚表示输入,右边表示输出,还有两个引脚8、16分别表示的是VDD、VSS。
CD4511的工作原理
的工作真值表如表3-2
输 入
输 出
LE
BI
LI
D
C
B
A
a
b
c
d
e
f
g
显示
X
X
0
X
X
X
X
1
1
1
1
1
1
1
8
X
0
1
X
X
X
X
0
0
0
0
0
0
0
消隐
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
2
0
1
1
0
0
1
1
1
1
1
1
0
0
1
3
0
1
1
0
1
0
0
0
1
1
0
0
1
1
4
0
1
1
0
1
0
1
1
0
1
1
0
1
1
5
0
1
1
0
1
1
0
0
0
1
1
1
1
1
6
0
1
1
0
1
1
1
1
1
1
0
0
0
0
7
0
1
1
1
0
0
0
1
1
1
1
1
1
1
8
0
1
1
1
0
0
1
1
1
1
0
0
1
1
9
0
1
1
1
0
1
0
0
0
0
0
0
0
0
消隐
0
1
1
1
0
1
1
0
0
0
0
0
0
0
消隐
0
1
1
1
1
0
0
0
0
0
0
0
0
0
消隐
0
1
1
1
1
0
1
0
0
0
0
0
0
0
消隐
0
1
1
1
1
1
0
0
0
0
0
0
0
0
消隐
0
1
1
1
1
1
1
0
0
0
0
0
0
消隐
1
1
1
X
X
X
X
锁 存
锁存
表3-2CD4511的真值表
第四章系统软件设计
事项注意:
由于本设计,在纯软件坏境中完成,因此对干扰等因素考虑较少,但在实际设计中,这些因素不可幸免,对一些小的方面注意事项,总结如下:
关于数字电源端,需在电源与地之间加一个去耦电容,如以下图:
数字电源端
关于模拟电源端:
关于接地端,应采纳,数字地接在一路,模拟地接在一路,最后同时接在公共地上,而且公共地线应尽可能粗一些。
数字芯片电源及地引脚:
由于在proteus环境下,各类芯片电源及地端配置为为默许值,因此在原理图上部份引脚未标明。
小结
本系统估量完成任务书的所有内容,如下:
一、测量对象、范围及误差范围:
电压DC:
0~20V误差<±4%±2个字
AC:
~20V(正弦信号)误差<±5%±2个字
电流DC:
0~500mA误差<±2%±2个字
电阻0~200KΩ误差<±3%±2个字
二、采纳LED数码显示,分辨率优于%,具有符号判别和过量程显示
3、直流电压档最小输入阻抗≥1MΩ。
4、具有自动量程转换功能。
由于条件和时刻有限,设计里并未将数字智能万用表做的很复杂。
在proteus仿真环境下,库元件不够齐全,致使器件选型受到限制,如AD只用到了8位,直接阻碍设计的分辨率和精度,在实际设计中,能够考虑采纳精度更高的ADC,提高分辨率,而交流测量中,由于没有交直流转换芯片库元件,本设计采纳了简单的半波整理电路,对交流信号的精准测量会有必然阻碍。
整体来讲,整个设计正能算是一个简易万用表,如假设作为应用,方案仍需改良。
进展情形:
以上电路和大体程序设计完成,经Proteus仿真,结果如下:
原信号为5V,经分压(电阻器50%)后本为作为待测信号,显示结果如图,(第二个小数点问题解决中)。
可测得最小值如图(分压比为1%时),。
参考文献
[1]吴金戌、沈庆阳、郭庭吉《8051单片机实践与应用》[M].北京:
清华大学出版社,2002年;
[2]杨立、邓振杰、荆淑霞《微型运算机原理与接口技术》[M].中国铁道出版社,2006年;
[3]顶峰,《单片微型运算机与接口技术》[M].北京:
科学出版社,2003;
[4]华成英、童诗白主编,《模拟电子技术基础》(第四版)[M].高等教育出版社,2006年.
[5]阎石,《数字电子技术基础》[M].高等教育出版社,1983年
[6]张永瑞《电子测量技术》[M].西安电子科技大学出版社,2000年3月
[7]黄海萍、陈用昌编《微机原理与接口技术实验指导》[M].北京:
国防工业出版社,2004年
[8]李华,《MCS-51系列单片机有效接口技术》[M].北京航空航天大学出版社,1993年
[9]余孟尝主编,《数字电子技术基础简明教程》(第二版)北京:
高等教育出版社1999(2006重印)
附:
1总原理图
2以上功能程序:
#include""
#include<>
#defineucharunsignedchar
#defineDatP1//转换的数据由P1口传入
sbitST=P2^0;
sbitEOC=P2^1;
sbitOE=P2^2;
sbitDot=P2^3;
sbitS0=P3^4;
sbitS1=P3^5;
sbitS3=P3^6;
charv0,v1,v2,v3;
voiddelay(uchart)
{
uchari;
for(i=100;i>0;i--)
while(t--);
}
voidInit_0808()
{
ST=0;
OE=0;
}
voidADC_0808()
{
ST=0;
ST=1;
ST=0;
//OE=0;
while(EOC==0);//自动发送
OE=1;
}
voidCal()//输入计算处置
{
floatVol;
inttem;
Vol=Dat*;//=
Vol=Vol*;
tem=(int)(Vol);
v0=tem/1000;v0=v0+(7<<4);
v1=(tem/100)%10;v1=v1+176;
v2=(tem/10)%10;v2=v2+208;
v3=tem%10;v3=v3+224;
}
voidVol_dip()//P3口动态显示
{
while
(1)
{
P3=v0;Dot=1;
P3=v2;Dot=0;
P3=v1;Dot=0;
P3=v3;Dot=0;
}
}
voidmain()
{
delay(10);
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
TR0=1;
ET0=1;
EA=1;
Init_0808();
while
(1)
{
ADC_0808();
while
(1)
{
Vol_dip();
}
}
}
voidTimer0()interrupt1//按时采样
{
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
EA=0;
ADC_0808();
Cal();
EA=1;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 数字 万用表 设计