数字电压表设计_第1页
数字电压表设计_第2页
数字电压表设计_第3页
数字电压表设计_第4页
数字电压表设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

一.摘要

二数字电压表简介:......................................

三.数字电压设计方案简介:................................

1.由内置A/D转换器单片机构建...................................

四.单片机简介及本设计单片机的选择.......................

1.常用单片机的特点比拟及本设计单片机的选择.....................

2.本设计使用的单片机的简介......................................

五.模数〔A/D〕转换芯片的选择...........错误!未定义书签。

1.常用的A/D芯片简介..........................错误!未定义书签。

六.总体设计.............................................

七,硬件电路系统模块的设计...............................5

八.系统软件的设计.......................................

2.主程序设计....................................................

九.系统的调试...........................................

1.硬件调试.....................................................

2.软件调试.....................................................

十.总结.................................................

参考文献.................................................

一•摘要

本文介绍的是数字电压表的开展背景和利用内置A/D转换器单片机结合的方法设计一

个直流数字电压表。它的具体功能是:对2路0〜5V的模拟电压进行循环采集,每路连续

采集3次,取平均值,采集的数存入内存并显示;其测量范围为0〜5V,小数点后保存两

位,误差小于等于正负0.02WLCD液晶显示或用LED数码管进行循环显示,其中最高位显

示通道提示符A〜B:采用键盘控制,可查看指定通道的电压值;将将1.25V和2.5作为两

路输入的报警值,当A/D转换结果超过报警值时,指示灯闪烁和蜂鸣器发声,以示警告

数字电压表简介

数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称DVM,它采用

的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加

以数字处理然后再通过显示器件显示。这种电子测量的仪表之所以出现,一方面是由于电

子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或

被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计

算机的开展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,

数字化测理仪表的产生与开展与电子计算机的开展是密切相关的;同时,为革新电子测量

中的烦锁和陈旧方式也催促了它的飞速开展,如今,它又成为向智能化仪表开展的必要桥

梁。

如今,数字电压表已绝大局部己取代了传统的模拟指针式电压表。因为传统的模拟指

针式电压表功能单一,精度低,读数的时候也非常不方便,很容易出错。而采用单片机的

数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强

等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测

量领域。显示出强大的生命力。

数字电压表最初是伺服步进电子管比拟式,其优点是准确度比拟高,但是采样速度慢,

重量达几十公斤,体积大。继之出现了斜波式电压表,它的速度方面稍有提高,但是准确

度低,稳定性差,再后来出现了比拟式仪表改良逐次渐近式结构,它不仅保持了比拟式准

确度高的优点,而且速度也有了很大的提高,但它有一缺点是抗干扰能力差,很容易受到

外界各种因素的影响。随后,在斜波式的根底上双引伸出阶梯波式,它的唯一的进步是本

钱降低了,可是准确宽,速以及抗干扰能力都未能提高。而现在,数字电压表的开展已经

是非常的成熟,就原理来讲,它从原来的一,二种已开展到多种,在功能上讲,那么从测

单一参数开展到能测多种参数:从制作元件来看,开展到了集成电路,准确度已经有了很

大的提高,精度高达1NV;读数每秒几万次,而相对以前,它的价格也有了降低了很多。

目前实现电压数字化测量的方法仍然模-数(A/D)转换的方法。而数字电压表种类繁多,

型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下儿种:

L按用途来分:有直流数字电压表,交、直流数字电压表,交直流万用表等。

2.按显示位数来分:有4位,5位,6位,7位,8位等。

3.按测量速度来分:有低准确度,中准确度,高准确度等。

4.按测量速度来分:有低速,中速,高速,超高速等。

但在日常生活中,数字电压表一般是按照原理不同进行分类的,目前大致分为以下几类:

比拟式,电压一一时间变换式,积分式等。

在电量的测量中,电压、电流和频率是最根本的三个被测量。其中,电压量的测量最

为经常。而且随着电子技术的开展,更是经常需要测量高精度的电压,所以数字电压表就

成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差

小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐,数字式电压表就是基于这

种需求而开展起来的,是一种必不可少的电子测量仪表。

三.数字电压设计方案简介

设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯

片的高速开展,各种数字芯片品种多样,导致对模拟数据的采集局部的不一致性,进而乂

便对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程

范围是比拟大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范

围不同,那么各种方案的分段也不同。下面介绍两种数字电压表的设计方案。

1.由内置A/D转换器单片机构建

这种方案是利用单片机系统、显示模块等的结合构建数字电压表。由于单片机的开展

己经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理

是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。

模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,

然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,

通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定

的时序送入显示电路模块加以显示。

2.单片机简介及本设计单片机的选择

1.常用单片机的特点比拟及本设计单片机的选择

综合上一章提到的设计方案的各方面优点及其在现在的所设计电压表的实用性,我们

选择该电压表设计方案,即由单片机系统及数字芯片构建的方法来我们本次设计。

在这一设计中,我们涉及到了一个关键系统模块一一单片机系统模块,而目前单片机

的种类是很繁多的,主要有主流的8位单片机和高性能的32位单片机,结合本设计各方面

因素,8位单片机对于本设计己经是绰绰有余了,但将用哪一种类8的单片机呢。在这里,

不得不先简单的介绍一下几种常用的8单片机。

单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的

大局部部件:CPU,内存,总线系统等。

四.总体设计

1.技术要求:

1)对2路0至5v的模拟电压进行循环采集,每路连续采集三次,取平均值,采集的数据

存入内存并显示

2)测量范围为0至5V,小数点后保存两位,误差小于等于正负0.02V

3)LCD液晶限售股或用4位LED数码管进行循环显示,其中最高位显示通道提示符A至B,

低3位显示实际电压值,每秒切换一个通道轮流显示;

4)键盘控制,可查看指定通道的电压值:

5)将•1.25V和2.5V作为两路输入的报警值,当A/D转化结果超过报警值时,指示灯闪烁

和蜂鸣器发声,以示警告。

2.设计方案:

根据上述,我们选择单片机与A/D转换芯片结合的方法实现木设计。使用的根木元器

件是:内置A/D转换器单片机,开关,按键,电容,电阻,晶振,标准电源等等。方

案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。由于单片机的

开展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的

原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电

压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字

信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时厅来采集这些数

字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压

值按一定的时序送入显示电路模块加以显示。

图1—1系统总体方案设计

此设计介绍的数字电压表是以STC89LE516AD单片机为核,由电压采集电路、单片机、

电压显示电路等几局部组成。该系统的先进性在于可以数字化显示电压。该系统的数字电

压表电路简单,所用的元件较少,本钱低,调节工作可实现自动化。数字电压表可以测量。〜

5v的2路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。

五.硬件电路系统模块的设计

根据上述选择的各元器件,各电路模块的电路图如下描述。

1.芯片系统

1.STC89LE516AD单片机

STC89LE516AD

40

P1.0/ADC0VCC

39

P1.1/ADC1P0.0

38

P1.2/ADC2P0.1

37

P1.3/ADC3P0.2

36

P1.4/ADC4P0.3

635

P1.5/ADC5P0.4

734

PI.6/ADC6P0.5

833

PI.7/ADC7P0.6

932

RSTP0J_

10P3.0/RXDE?31

1130

P3.1/TXDALE

1229

P3.24NT0PSEN

1328

P334NT1P2.7

14_27

P3.4/T0P2.6

73~26

P3.5/BP2.5

1625

P3.6匝kP2.4

1724

P3.7而)P2.3

1823

XTAL2P2.2

1922

XTALIP2.I

2021

VSSP2.0

图2-1STC89LE516AD

•高速:1个时钟/机器周期,RISC型8051内核,速度比普通8051快12倍

・宽电压:5.5〜3.4V,2.0-3.8V(STC12LE5410AD系列)

•低功耗设计:空闲模式,掉电模式(可由外部中断唤醒)

■工作频率:0〜35MHz,相当于普通8051:0〜420MHz

-—实际可到48MHz,相当于8051:0〜576MHz

•时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置

・12K/10K/8K/6K/4K/2K字节片内Flash程序存储器,擦写次数10万次以上

・512字节片内RAM数据存储器

•芯片内E2PR0M功能

•ISP/IAP,在系统可编程/在应用可编程,无需仿真器

■10位ADC,8通道,STC12c2052AD系列为8位ADC

•4通道捕获/比拟单元(PWM/PCA/CCU),STC12C2052AD系列为2通道

--也可用来再实现4个定时器或4个外部中断(支持上升沿/下降沿中断)

・2个硬件16位定时器,兼容普通8051的定时器。4路PCA还可再实现4个定时器

•硬件看门狗(WDT)

•高速SPI通信端口

•全双工异步串行口(UART),兼容普通8051的串口

•先进的指令集结构,兼容普通8051指令集

4组8个8位通用工作存放器(共32个通用存放器)

•通用I/O口(27/23/15个),复位后为:准双向口/弱上拉(普通8051传统I/O口)

可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏

每个I/O口驱动能力均可到达20mA,但整个芯片最大不得超过55mA

2.74HC573+74HC138+单片机方案

3.复位电路

图2-6复位电路

按键手动电平复位是通过RST端经电阻与电源vcc接通来实现的,复位引脚RST通过一个施密

将触发器与复位电路相连,施密特触发器用来抑制噪声,在每一个S5P2,施密特触发器出

电平由复位电路采样一次,然后才能得到内部复位操作所需的复位信号,

4.晶振电路

二F2

旧一301>卜

12MHz

图2-7晶振电路

采用内部时钟方式使用现成的外部振荡器产生脉冲信号,晶体的频率越高,系统的时钟频

率越高,单片机的运行速度越快。晶体和电容应尽量安装的与单片机接近,减少寄生电容。

更好的保证振荡器的稳定工作。

5.键盘电路

+5

图2-8键盘电路

由于采用两路进行采集,而且要进行查看指定通道的电压值。所以采用两个按键进行查看

其电压值。一键一线,各键相互独立,每个键各连一条I/O口线,通过检测输入线的电平状

态就可以判断那个键被按下。

表3T键的定义

6.

报按键键名功能

警S1选择A通道LED显示A通道电压

电S2选择B通道LED显示B通道电压

路S3复位键系统复位

雷R7A

5.IK

图2-9报警电路

利用三极管进行放大驱动LED或蜂鸣器进行工作,将在L25V和2.5V作为两路输入的报警

值,当结果超过报警值时,指示灯闪烁和蜂鸣器发声,以示警告。在数字电路中,是以脉

冲信号驱动蜂鸣器以产生声音,假设要以C51产生声音,可利用程序产生频率,送到10口,

再从该点连接到蜂鸣器的驱动电路,即可驱动蜂鸣器,这里采用的是以PNP晶体管放大电路。

数字微处理电路输出高电位时,由IC内部流出的电流很小。虽然我们可以利用高增益品

体管,在连接上拉电阻,以提供较大的驱动电流,以驱动蜂鸣器或其他负载。而数字微处

理电路输出低电位时,IC可吸入较大电路,连接PNP晶体管构成的简单放大电路,即可提供

足够的驱动能力。

六.系统软件设计

1.汇编语言和c语言的特点及选择

本设计是硬件电路和软件编程相结合的设计方案,选择适宜的编程语言是一个重要的

环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。汇编语言的特点是

占用内存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程序可读性和可移

相性比拟差。而C语言虽然执行效率没有汇编语言高,但语言简洁,便用方便,灵活,运

算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由

度大,有很好的可重用性,可移植性等特点。

由于现在单片机的开展已经到达了很高的水平,内部的各种资源相当的丰富,CPU的

处理速度非常的快。用c语言来控制单片机无疑是一个理想的选择。所以在本设计中采用

C语言编写软件程序。

2.流程图

1主流程图

2.显示电路流程图

3.报警电路流程图

子程耿口

蒯电压值

T--

蜂鸣器檐血碉檐

七.系统的调试

完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,

必须进行系统调试。调试分了硬件和软件调试。

1.硬件调试

硬件调试的主要任务是抨除硬件故障,其中包括设计的错误和工艺性故障等。

1)检查所设计的硬件电路板所有的器件和引脚是否正确,尤其是电源的连接是否正确;

检查各总线是否有短路的故障。检查开关/按键是否正常,是否连接正确,为了保护

芯片,应先对各IC座电位进行检查,确认无误后再插入芯片。

2)将40芯片的仿真插头插入单片机插座进行调试,检查各接口是否满足设L的要求,

有正常的程序测试硬件电路的好坏。

2.软件调试

软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的错误,同时也

能发现硬件的故障。软件调试是一个模块一个模块进行的。首先单独调试各子程序是否能

够按照预期的功能,接口电路的控制是否正常。最后调试整个程序。尤其注意的是各模块

间能否正确的传递参数。

八,总结

此设计是单片机应用系统的开发性实验。通过此设计可知在单片机系统开发过程应注

意以下事项。

1)硬件的选择。选择适合设计目地的元器件是一个重要的方设计环节。不能以元器件

是否是最高性能作为选择元器件的标准。往往高性能器件的价格也是较高的。应根据工程

设计的需要选择元涔件,能够满足设计需要作为标准选择元器件。

2)因为单片机系统设计是硬件和软件相结合的设计,所以系统和硬件和软件必须紧密

配合,协调一致。应不断调整硬软件设计,以提高系统工作效率。

单片机的应用如今已经是在工业,电子等方面展示出了它的优越性,利用单片机在设

计电路逐渐成了趋势,它与外围电路再加上软件程序就可以构建任意的产品,使得本设计

成为现实。随着单片机的日益开展,它必将在未来显示出更大的活力,为电子设计更多精

彩。对于数字电压表而言,功能将会越来越强大。

参考文献

1)陈洪中。数字电压表。水利电力出版社,1989

2)周立功.单片机实验与实践.北京:北京航空航天大学出版社

3)吴国经.单片机应用技术北京:中国电力出版社,2003.

4)阎石.数字电子技术根底.北京:高等教育出版社,2006

5)谭浩强.C程序设计.北京:清华大学出版社,2005年.

6)侯振鹏.嵌入式C语言程序设计.北京:人民邮电出扳社,2006.

7)李光飞李良儿单片机C程序设计•.北京:北京航空航天大学出版社,2005

8)王港元.电工电子实践指导.江西:江西科学技术出版社,2005年

附录

总电路图

程序

1.读取AD转换值操作函数

uintread_AD(ucharcon_way)〃读取AD转换值操作函数

{

uintdat=0;

uchari;

cs=0;

clk=0;

con_way<<=4;

for(i=0;i<12;i++)

(

con_way〈〈=l;/*选择0通道,在输入该控制数据的同时输出前一次AD转结果*/

input=CY;

dat«=l;

if(output)/*输出AD转换结果*/

dat=dat10x01;

delay(2);

clk=l;

delay(5);

clk=0;}

cs=l;

returndat;}

uintread_value()

(

longfloatdq;

longfloatdat_v;

dq-read_AD(0);〃把读取得的AD转换值给变量dq

if(!flag_3)

dat_v=(5*dq)/4096*100;〃二档,

elseif(!flag_l)

dat_v=(5*dq)/4096*100;〃一档,

returndat_v;

}

2.定时计数器。初值化函数

voidinit_timerO()〃定时计数器0初值化函数,

(

TM0D=0x01;〃方式一

TH0=(65536-50000)/256;〃每50ms中断一次

TLO=(65536-50000)%256;

IE=0x82;//翻开中断

TR0=0;〃定时器首先不可工作

3.键盘扫描函数

voidrcad_kcy()〃键盘扫描函数

{

staticucharkey_state=O;

switch(key_state)

(

casekey_stateO:

if(key==0)

keystate-keystatel;

break;

casekcy_statel:

if(key—0)

{TRO=1;

displayzifu(1,0,tab3);

key_state=key_state2;}

else

key_state=key_stateO;break;

casekey_state2:

if(key)

keystale-KeystaleO;

break;}

}

voidmain()

(

longfloatdat;

longfloatdat_aver,catl,dat2,dat3,dat4,dat5;〃定义5个随机电压值变量

ucharflag;〃后五秒取随机电压的标志

inittimerOO;

init_1602();

delay(10);

while(1)

(

dat=readvalue();

if(dat>=100)〃当电压值大于IV时,用V显示,

否那么用mV显示

(

display_zifu(0,1,tab2);

display(0,7,dat);

display_zifu(0,13,tabO);

)

else

(

display_zifu(0,1,tab2);

display(0,7,dat*1000);

display_zifu(0,13,tabi);

}

read_key();〃当键盘按下时,计算后五秒的平均

电压值

if(t==20)

{t=0;

flag++;

)

if(flag==l)

datl=dat;

if(flag==2)

dal2-dat;

if(flag-3)

dat3=dat;

if(flag==4)

dat4=dat;

if(flag==5)

{dat5=dat;

dat_aver=(datl+dat2+dat3+dat4+dat5)/5;

display(1,7,dataver);

display_zifu(1,13,tabO);

dat_aver=0;}

if(flag==8)

{flag=O;

writecom(OxOl);TRO=O;}

}}voidtimerOOinterrupt1〃定时器中断函数

{THO=(65536-50000)/256;〃重新放入初始值

TLO=(65536-50000)%256;

t++;}

4.报警函数程序

voidSK()〃报警函数

(intHtcmp,Ltomp,Ntcmp;〃定义上下限电压

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论