基于单片机数字电压表的方案设计书.docx

上传人:b****8 文档编号:9903439 上传时间:2023-05-21 格式:DOCX 页数:24 大小:437KB
下载 相关 举报
基于单片机数字电压表的方案设计书.docx_第1页
第1页 / 共24页
基于单片机数字电压表的方案设计书.docx_第2页
第2页 / 共24页
基于单片机数字电压表的方案设计书.docx_第3页
第3页 / 共24页
基于单片机数字电压表的方案设计书.docx_第4页
第4页 / 共24页
基于单片机数字电压表的方案设计书.docx_第5页
第5页 / 共24页
基于单片机数字电压表的方案设计书.docx_第6页
第6页 / 共24页
基于单片机数字电压表的方案设计书.docx_第7页
第7页 / 共24页
基于单片机数字电压表的方案设计书.docx_第8页
第8页 / 共24页
基于单片机数字电压表的方案设计书.docx_第9页
第9页 / 共24页
基于单片机数字电压表的方案设计书.docx_第10页
第10页 / 共24页
基于单片机数字电压表的方案设计书.docx_第11页
第11页 / 共24页
基于单片机数字电压表的方案设计书.docx_第12页
第12页 / 共24页
基于单片机数字电压表的方案设计书.docx_第13页
第13页 / 共24页
基于单片机数字电压表的方案设计书.docx_第14页
第14页 / 共24页
基于单片机数字电压表的方案设计书.docx_第15页
第15页 / 共24页
基于单片机数字电压表的方案设计书.docx_第16页
第16页 / 共24页
基于单片机数字电压表的方案设计书.docx_第17页
第17页 / 共24页
基于单片机数字电压表的方案设计书.docx_第18页
第18页 / 共24页
基于单片机数字电压表的方案设计书.docx_第19页
第19页 / 共24页
基于单片机数字电压表的方案设计书.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机数字电压表的方案设计书.docx

《基于单片机数字电压表的方案设计书.docx》由会员分享,可在线阅读,更多相关《基于单片机数字电压表的方案设计书.docx(24页珍藏版)》请在冰点文库上搜索。

基于单片机数字电压表的方案设计书.docx

基于单片机数字电压表的方案设计书

***********

学生毕业设计(论文)

 

课题名称

基于单片机数字电压表的设计

姓名

**

学号

0712301-12

院系

********************

专业

电子信息工程技术

指导教师

*************

 

2010年3月25日

 

**********本科毕业设计(论文)诚信声明

本人郑重声明:

所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

本人完全意识到本声明的法律结果由本人承担。

 

本科毕业设计(论文)作者签名:

(亲笔签名)

二○一零年月日(打印)

 

 

摘要……………………………………………………………………………………4

关键词…………………………………………………………………………………4

Abstract………………………………………………………………………………4

Keywords………………………………………………………………………………5

前言……………………………………………………………………………………5

1、总体结构…………………………………………………………………………5

2、系统硬件电路的设计……………………………………………………………6

2.1、10倍放大器电路…………………………………………………………6

2.2、A/D转换电路……………………………………………………………7

2.3、电桥输入电路………………………………………………………………8

2.4、测试电路……………………………………………………………………8

3、系统程序的设计…………………………………………………………………11

3.1、初始化程序………………………………………………………………11

3.2、主程序……………………………………………………………………11

3.3、显示子程序………………………………………………………………11

3.4、A/D转换测量子程序…………………………………………………11

4、调试与性能分析…………………………………………………………………12

4.1、调试与测试………………………………………………………………12

4.2、性能分析…………………………………………………………………13

5、结语……………………………………………………………………………14

6、单片机汇编程序清………………………………………………………………14

参考文献………………………………………………………………………………21

致谢……………………………………………………………………………………22

附录……………………………………………………………………………………22

基于单片机数字电压表的设计

**

(*****************2010届电子信息工程技术专业,*********)

摘要:

数字电压表的诞生打破了传统电子测量仪器的模式和格局。

它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。

数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。

数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。

本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0809。

系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。

简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。

关键词:

单片机;AT89C52;A/D转换;ADC0809;数据处理

DesignofDigitalVoltageMeterbasedonSingle-chipMicrocomputer

******

(2010YearStudentofElectronicsandInformationEngineeringMajorof********************************************)

Abstract:

Thebirthofdigitalvoltagemeterbreakthetraditionalmodelofelectronicmeasuringinstrumentsandpatterns.Itshowstheclearandintuitive,accuratereadings,usinganadvanceddigitaldisplaytechnology,greatlyreducedduetohumanfactorsofthemeasurementerrorcausedbytheincident.Digitalvoltagemeterisarowofanalog(DCinputvoltage)intoanon-continuous,discretedigitalform,andtheinstrumentdisplay.Digitalvoltagemetertoelectronictechnology,computingtechnology,automationtechnologyandprecisionoftheresultsofelectricalmeasurementtechnologyclosertogetherandbecomeinstruments,metersandcompleteanindependentfieldofabranch,digitalvoltagemeterindicatesthatthefieldofelectronicdevicesarevolutionandalsopioneeredthemodernpioneerofelectronicmeasurementtechnology.Thedesignusesasingle-chipplatformforthedevelopment,controloftheDepartmentoftheuseofAT89C52single-chip,A/DconversionusingADC0809.Inadditiontotherealizationofthesystemtoensurethattherequiredfunctionality,butalsofacilitatethe8otherA/Dconvertermeasurement,distancemeasurementfunctionoftransmissionexpansion.SimpledigitalvoltagemeasuringcircuitismadeoftheA/Dconversion,dataprocessing,displaycontrol,etc.

Keywords:

SCM。

AT89C52。

A/Dconversion。

ADC0809。

dataprocessing

引言

数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。

目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

新型数字电压表以其高准确度、高可靠性、高分辨率、高性价比等优良特性倍受人们的青睐。

目前,数字电压表作为数字化仪表的基础与核心,已被广泛用于电子和电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。

与此同时,由电压表扩展而成的各种通用及专用仪表(含数字万用表),也将电量及非电量测量技术提高到崭新水平本文重点介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。

1、总体结构

数字电压表的组成(图1)

图1数字电压表的组成框图

DVM(DigitalVoltageMeter)的核心是A/D转换器。

按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。

系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。

数字电压表系统设计方案框图如图2所示。

图2数字电压表系统设计方案框图

2、系统硬件电路的设计

2.1、10倍放大器电路

下图是一个最简单的10倍放大电路,运算放大器使用的是精度比较高的OP07,利用它,可以把0~200mV的电压放大到0~2.000V。

在使用的数字电压表量程为2.000V时,特别有用。

如果把它应用在基本量程为±200.0mV的数字电压表上,就相当于把分辨力提高了10倍,在一些测量领域中,传感器的信号往往觉得太小了,这时,可以考虑在数字压表前面加上这种放大器来提高分辨力。

图310倍放大器电路

2.2、A/D转换电路

在电流或者电压的测量中,经常遇见测量的并不是直流而是交流,这时候,绝对不可以把交流信号直接输入到数字电压表去,必须先把被测的交流信号变成直流信号后,才可以送入数字电压表进行测量。

下图就是一个把交流信号转换成为直流信号的参考电路。

(说明:

更好的交流转换成为直流的电路是一种“真有效值”转换电路,但是由于其专用芯片价格昂贵,多应用在一些高档场合。

本电路中,输入的是0~200.0mV的交流信号,输出的是0~200.0mV的直流信号,从信号幅度来看,并不要求电路进行任何放大,但是,正是电路本身具有的放大作用,才保证了其几乎没有损失地进行AC-DC的信号转换。

因此,这里使用的是低功耗的高阻输入运算放大器,其不灵敏区仅仅只有2mV左右,在普通数字万用表中大量使用,电路大同小异。

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

图4AC-DC转换电路

2.3、电桥输入电路

在温度测量和其他物理及化学量的测量中,经常会出现“零点”的时候信号不是零的情况,这时候,下面的“电桥输入”电路就被优先采用了。

可以根据被测信号的特点,用传感器替换电桥回路中的某一个电阻元件。

数字电压表的两个输入端也不再有接地点,作为一种典型的“差分”输入来使用了。

图5电桥输入(差分输入,比例输入)电路

2.4、测量电路

电桥输入电路的变种还可以延伸到下面的电路,这是一个把4~20mA电流转换为数字显示的电路。

它的零点就是4mA而不是0mA。

当输入零点电流为4mA的时候,利用IN-上面建立起来的电压,抵消掉IN+由于4mA出现的无用信号,使得数字电压表差分输入=0,就实现了4mA输入时显示为0的要求。

随着信号的继续增大,例如到了20mA,对数字电压表来说,相当于差分输入电流为20-4=16mA,这个16mA在62.5R电阻上的压降,就是数字电压表的最大输入信号。

这时候,把数字电压表的基准电压调整到与16*62.5=1000mV相等,显示就是1000个字。

图6测量电路

简易数字电压表测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图8所示。

A/D转换有集成电路ADC0809完成。

ADC0809具有8路模拟输入端口,地址线(第23-25脚)可决定对哪一路模拟输入作A/D转换。

第22脚位地址锁存控制,当输入为高电平时,对地址信号进行锁存。

第6脚位测试控制,当输入一个2μs宽高电平脉冲时,就开始A/D转换。

第7脚为A/D转换结束标志,当A/D转换结束时,第7脚输出高电平。

第9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。

第10脚为ADC0809的时钟输入端,利用单片机第30脚嘚分频晶振频率,再通过14024二分频得到1MHz时钟。

单片机的P1、P3.0-P3.3端口作为4位LED数码管显示控制。

P3.5端口用作单路显示/循环显示转换按钮。

P3.6端口用作单路显示时选择显示的通道。

P0端口用作A/D转换数据读入,P2端口用作ADC0809的A/D转换控制。

3、系统程序的设计

3.1初始化程序

系统上电时,初始化程序主要用来执行70H-77H内存单元清0和P2口置0等准备工作。

3.2主程序

在刚上电时,系统默认为循环显示8个通道的电压值状态。

当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间在1s左右。

主程序在调用显示子程序与测量子程序之间循环。

主程序流程图如图7所示。

初始化

调用A/D转换测量子程序

调用显示子程序

开始

结束

图7主程序流程图

3.3显示子程序

显示子程序采用动态扫描法实现4位数码管的数值显示。

测量所得的A/D转换数据放在70H-77H内存单元中,测量数据在显示时须经过转换成为十进制BCD码放在78H-7BH单元中,其中7BH存放通道标志数。

寄存器R3用作8路循环控制,R0用作显示数据地址指针。

3.4A/D转换测量子程序

A/D转换测量子程序用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H-77H内存单元。

A/D转换测量子程序流程图如图9所示

图9A/D转换测量子程序流程图

4、调试及性能分析

4.1调试与测量

采用Wave或KeilC51编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作,烧录好程序后进行软硬件联调,最后进行端口电压的对比测试。

测试对比表如表1所列。

表中标准电压值采用UT56数字万用表测得。

表1简易数字电压表与“标准”数字电压表对比测试表

标准电压值/V

简易电压表测得值/V

绝对误差/V

0.00

0.00

0.00

0.15

0.17

+0.02

0.85

0.86

+0.01

1.00

1.02

+0.02

1.25

1.26

+0.01

1.75

1.76

+0.01

1.89

2.00

+0.02

2.32

2.33

+0.01

2.65

2.65

+0.01

从表1中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.02V以内,这与采用8位A/D转换器所能到达到的理论误差精度相一致,在一般的应用场合完全可以满足要求。

4.2性能分析

图10数字电压表工作过程波形图

图10示出的是数字电压表工作过程波形图,启动脉冲位于斜坡脉冲起点,关门脉冲位于斜坡脉冲与被测电压Ux的交点,图10(d)表示在这个时间间隔内通过T门的标准时间脉冲个数。

数字电压表的准确度首先取决于标准时间脉冲发生器所发脉冲频率的稳定程度,因为若单位时间发出的脉冲个数发生波动,必然影响读数。

其次决定于斜坡上升的线性,若斜坡呈线性上升,则可保证电压上升值与时间间隔成正比。

目前这两方面的技术都比较成熟,所以数字电压表准确度也比较高。

(1)由于单片机为8位处理器,当输入电压为5.00V时,ADC0809输出数据值为255(FFH),因此单片机最高的数值分辨率为0.0196V(5/255)。

这就决定了该电压表的最高分辨率(精度)只能达到0.0196V,测试时电压一般以0.02V的幅度变化。

如果要获得更高的精度要求,则应采用12位、13位的A/D转换器。

(2)从表1中可以看出,简易数字电压表测得的值基本上均比标准电压值偏大0.01-0.01V。

这可以通过校正ADC0809的基准电压来解决。

因为该电压表设计时直接用5V的供电电源作为基准电压,所以电压有可能有偏差。

另外,还可以用软件编程来校正测量值。

(3)ADC0809的直流输入阻抗为1MΩ,能满足常用的电压测试需要。

另外,经测试ADC0809可直接在2MHz的时钟频率下工作,这样可省去二进制分频器14024集成块。

(4)当要测量大于5的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。

但是量程越大,测量的精度会越低。

5、结语

基于单片机AT89C52,A/D转换器ADC0809的数字电压表,它代表着数字仪表的基础。

也标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。

数字电压表具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。

6、单片机汇编源程序清单

简易数字电压表。

测量电压最大为5V,显示最大值为5.00V

70H—77H存放采样值,78H—7BH存放显示数据,依次为个位、十位、百位、通道标志

P3.5作单路显示/循环显示转换用,P3.6作单路显示时选择通道按键用

*主程序和中断程序入口*

ORG0000H

LJMPSTART

ORG0003H

RETI

ORG000BH

RETI

ORG0013H

RETI

ORG001BH

RETI

ORG0023H

RETI

ORG002BH

RETI

*初始化程序中的各变量*

CLEARMEMIO:

CLRA

MOVP2,A

MOVR0,#70H

MOVR2,#0DH

LOOPMEM:

MOV@R0,A

INCR0

DJNZR2,LOOPMEM

MOV20H,#00H

MOVA,#0FFH

MOVP0,A

MOVP1,A

MOVP3,A

RET

*主程序*

START:

LCALLCLEARMEMIO。

初始化

MAIN:

LCALLTEST。

测量一次

LCALLDISPLAY。

显示数据一次

AJMPMAIN

NOP。

PC值出错处理

NOP

NOP

LJMPSTART

*显示控制程序*

DISPLAY:

JB00H,DISP11。

MOVR3,#08H。

8路信号循环显示控制

MOVR0,#70H。

显示数据初址70H~77H

MOV7BH,#00H。

显示通道路数初值

DISLOOP1:

LCALLTUNBCD。

显示数据转为三位BCD码存入7AH、79H、78HMOVR2,#0FFH。

每路显示时间控制4MS*255

DISLOOP2:

LCALLDISP。

调四位显示程序

LCALLKEYWORK1。

DJNZR2,DISLOOP2。

INCR0。

显示下一路

INC7BH。

通道显示数加一

DJNZR3,DISLOOP1

RET

DISP11:

MOVA,7BH。

单路显示控制子程序

SUBBA,#01H。

MOV7BH,A。

ADDA,#70H。

MOVR0,A。

DISLOOP11:

LCALLTUNBCD。

显示数据转为三位BCD码存入7AH、79H、78H(最大5.00v)

MOVR2,#0FFH。

每路显示时间控制4MS*25

DISLOOP22:

LCALLDISP。

调四位显示程序

LCALLKEYWORK2。

按键检测

DJNZR2,DISLOOP22

INC7BH。

通道显示数加一

RET

*显示数据转为三位BCD码程序*

显示数据转为三位BCD码存入7AH、79H、78H(最大值5.00v);

TUNBCD:

MOVA,@R0。

255/51=5.00V运算

MOVB,#51。

DIVAB。

MOV7AH,A。

个位数放入7AH

MOVA,B。

余数大于19H,F0为1,乘法溢出,结果加5

CLRF0

SUBBA,#1AH

MOVF0,C

MOVA,#10。

MULAB。

MOVB,#51。

DIVAB

JBF0,LOOP2。

ADDA,#5

LOOP2:

MOV79H,A。

小数后第一位放入79H

MOVA,B

CLRF0

SUBBA,#1AH

MOVF0,C

MOVA,#10。

MULAB。

MOVB,#51。

DIVAB

JBF0,LOOP3。

ADDA,#5

LOOP3:

MOV78H,A。

小数后第二位放入78H

RET

*显示子程序*

共阳显示子程序,显示内容在78H—7BH;

DISP:

MOVR1,#78H。

共阳显示子程序,显示内容在78H—7BH

MOVR5,#0FEH。

数据在P1输出,列扫描在P3.0-P3.3

PLAY:

MOVP1,#0FFH

MOVA,R5

ANLP3,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP1,A

JBP3.2,PLAY1。

小数点处理

CLRP1.7。

小数点显示(显示格式为XX.XX)

PLAY1:

LCALLDL1MS

INCR1

MOVA,P3

JNBACC.3,ENDOUT

RLA

MOVR5,A

MOVP3,#0FFH

AJMPPLAY

ENDOUT:

MOVP3,#0FFH

MOVP1,#0FFH

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH。

断码表

*延时程序*

DL10MS:

MOVR6,#0D0H。

10MS延时子程序

DL1:

MOVR7,#19H

DL2:

DJNZR7,DL2

DJNZR6,DL1

RET

DL1MS:

MOVR4,#0FFH。

(513+513)ms=1MS

LOOP11:

DJNZR4,LOOP11

MOVR4,#0FFH

LOOP22:

DJNZR4,LOOP22

RET

*电压测量(A/D)子程序*

一次测量数据8个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2