数字电压表正文.docx

上传人:b****2 文档编号:2166097 上传时间:2023-05-02 格式:DOCX 页数:19 大小:231.29KB
下载 相关 举报
数字电压表正文.docx_第1页
第1页 / 共19页
数字电压表正文.docx_第2页
第2页 / 共19页
数字电压表正文.docx_第3页
第3页 / 共19页
数字电压表正文.docx_第4页
第4页 / 共19页
数字电压表正文.docx_第5页
第5页 / 共19页
数字电压表正文.docx_第6页
第6页 / 共19页
数字电压表正文.docx_第7页
第7页 / 共19页
数字电压表正文.docx_第8页
第8页 / 共19页
数字电压表正文.docx_第9页
第9页 / 共19页
数字电压表正文.docx_第10页
第10页 / 共19页
数字电压表正文.docx_第11页
第11页 / 共19页
数字电压表正文.docx_第12页
第12页 / 共19页
数字电压表正文.docx_第13页
第13页 / 共19页
数字电压表正文.docx_第14页
第14页 / 共19页
数字电压表正文.docx_第15页
第15页 / 共19页
数字电压表正文.docx_第16页
第16页 / 共19页
数字电压表正文.docx_第17页
第17页 / 共19页
数字电压表正文.docx_第18页
第18页 / 共19页
数字电压表正文.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字电压表正文.docx

《数字电压表正文.docx》由会员分享,可在线阅读,更多相关《数字电压表正文.docx(19页珍藏版)》请在冰点文库上搜索。

数字电压表正文.docx

数字电压表正文

目录

 

1.课程设计的目的1

2.数字电压表课程设计的要求2

2.1课程设计的要求2

3.设计的内容2

3.1课程设计的内容2

3.2电压表实现的功能2

3.3总体设计方案2

3.4设计方案3

3.4.1复位电路4

3.4.2采用直流稳压电源5

3.5单片机部分5

3.6A/D转换部分7

3.7功放芯片LM3868

3.8编程思路与程序流图8

3.8.1主程序8

3.8.2显示子程序10

4.设计总结16

参考书目16

附录17

1.课程设计的目的

1.1学习与掌握单片机的应用能综合应用所学知识,并在实践的基本技能方面进行一次系统的训练。

1.2了解单片机芯片的功能,并初步掌握小型单片机系统设计的基本方法。

1.3了解数字电压表的工作流程与AT89S52的功能。

1.4培养查阅资料以及撰写技术报告的能力。

2.数字电压表课程设计的要求

2.1课程设计的要求

(1)可以测量0-10V的8路输入电压值。

(2)能用LED数码管或LCD显示测量结果。

(3)测量范围可达0~20V,最小分辨率为0.1V。

(4)电压表具有超量程的报警功能。

(5)系统具有复原功能。

3.设计的内容

3.1课程设计的内容

(1)数字电压表总体电路设计及论证。

(2)分析设计要求,明确性能指标;查阅资料、进行设计方案论证。

(3)论证并确定合理的总体设计方案,绘制总体机构框图,分析工作原理。

(4)完成数字电压表的电路设计:

单片机部分、A/D转换、显示等各单元具电路设计,包括芯片选择、计算电路元参数,分析工作原理。

3.2电压表实现的功能

该数字电压表可以测量0~10V的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。

测量最小分辨率为0.1V。

3.3总体设计方案

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

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

数字电压表系统设计方案框图如下图。

图3.3.1数字电压表统计设计方案

3.4设计方案

按照设计要求简易数字电压测量电路由电压采集、A/D转换、复位电路、数据处理及显示控制等组成,电路原理图如图3.4.1所示。

单片机选用AT89S51,该芯片具有低功耗、高性能的特点。

A/D转换由集成电路0809完成。

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

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

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

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

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

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

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

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

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

功放芯片LM386是专为低损耗电源所设计的功率放大器集成电路。

此设计电源为直流稳压电源。

 

图3.4.1简易数字电压测量原理图

3.4.1复位电路

如下图所示,本设计采用按键式复位电路,它的上电复位利用电容器充电来实现,同时通过按键实现复位,按下键后,通过R1和R2形成回路,使RESET端产生高电平。

按键的时间决定了复位时间。

 

图3.4.2复位电路

3.4.2采用直流稳压电源

直流稳压电源如图所示:

 

图3.4.3直流稳压电源

3.5单片机部分

单片机选用的是AT89S51,如下图3.5.1所示。

该芯片具有低功耗、高性能的特点,是采用CMOS工艺的8位单片机。

最常见的AT89S51是采用40Pin封装的双列直接PDIP封装,芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口左边那列引脚逆时针数起,依次为1、2、3、4。

40,其中芯片的1脚顶上有个凹点。

在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。

(1)主电源引脚(2根)

VCC(Pin40):

电源输入,接+5V电源。

GND(Pin20):

接地线。

 

图3.5.1AT89S51引脚图

(2)外接晶振引脚(2根)

XTAL1(Pin19):

片内振荡电路的输入端。

XTAL2(Pin20):

片内振荡电路的输出端。

(3)控制引脚(4根)

RST/VPP(Pin9):

复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):

地址锁存允许信号。

PSEN(Pin29):

外部存储器读选通信号。

EA/VPP(Pin31):

程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指3、控制引脚(4根)。

RST/VPP(Pin9):

复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):

地址锁存允许信号。

PSEN(Pin29):

外部存储器读选通信号。

EA/VPP(Pin31):

程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

(4)可编程输入/输出引脚(32根)

AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

每一根引脚都可以编程。

PO口(Pin39~Pin32):

8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):

8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):

8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):

8位准双向I/O口线,名称为P3.0~P3.7

3.6A/D转换部分

A/D转换部分采用ADC0809,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

(1)ADC0809的内部逻辑结构如图3.6.1

 

图3.6.1内部逻辑结构图

由图3.6.1可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

(2)ADC0809的引脚结构见图3.6.2

图3.6.2ADC0809的引脚结构

 3.7功放芯片LM386

是专为低损耗电源所设计的功率放大器集成电路。

它的内建增益为20,透过pin1和pin8脚位间电容的搭配,增益最高可达200。

LM386可使用电池为供应电源,输入电压范围可由4V~12V,无作动时仅消耗4mA电流,且失真低。

LM386的内部电路图及引脚排列图3.7.1所示。

 

图3.7.1LM386引脚图

3.8编程思路与程序流图

3.8.1主程序

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

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

主程序在调用显示子程序和测试之程序之间循环,主程序流程图见图。

 

图3.8.1主程序流程图

(1)主程序和中断程序入口:

ORG0000H

LJMPSTART

ORG0003H

RETI

ORG000BH

RETI

ORG0013H

RETI

ORG001BH

RETI

ORG0023H

RETI

ORG002BH

RETI;

(2)初始化程序中的变量:

CLEARMEMIO:

CLRA

MOVP2,A

MOVR0,#70H

MOVR2,#0DH

LOOPMEM:

MOV@R0A

INCR0

DJNZR2,LOOPMEM

MOV20H,#00H

MOVA,#0FFH

MOVP0.A

MOVP1,A

MOVP3,A

RET;

(3)主程序:

START:

LCALLCLEARMEMIO

MAINLCALLTEST

LCALLDISPLAY

AJMPMAIN

NOP

NOP

NOP

NOPLJMPSTART;

3.8.2显示子程序

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

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

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

 

 

图3.8.2显示子流程图

(1)显示控制程序:

DISPLAY:

JB00H,DISP11

MOVR3.#08H

MOVR0,#00H

MOV7BH,#00H

DISLOOP1:

LCALLTUNBCD

MOVR2,#0FFH

DISLOOP2:

LCALLDISP

LCALLKEYWORK1

DJNZR2,DISLOOP2

INCR0

INC7BH

DJNZR3,DISLOOP1

RET

DISP11:

MOVA,7BH

SUBBA,#01H

MOV7BH,A

ADDA,#70H

MOVR0,A

DISLOOP11:

LCALLTUNBCD

MOVR2,#0FFH

DISLOOP22:

LCALLDISP

LCALLKEYWORK2

DJNZR2,DISPLOOP22

INC7BH

RET;

(2)显示数据转为三位BCD码子程序:

TUNBCDMOVA,@R0

MOVB,#51

DIVAB

MOV7AH,A

MOVA,B

CLRF0

SUBBA,#1AH

MOVF0,C

MOVA,#10

MULAB

MOVB,51

DIVAB

JBF0,LOOP2

ADDA,#5

LOOP2:

MOV79H,A

MOVA,B

CLRF0

SUBBA,#1AH

MOVF0,C

MOVA,#10

MUNAB

MOVB,#51

DIVAB

JBF0,LOOP3

ADDA,#5

LOOP3MOV78H,A

RET;

(3)显示子程序:

DISP:

MOVR1,#78H

MOVR5,#0FEH

PLAY:

MOVP1,#0FFH

MOVA,R5

ANLP3,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP1,A

JBP3.2,PLAY1

CLRP1.7

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,82H,80H,90H,0FFH;

(4)延时程序:

DL10MS:

MOVR6,#0D0H

DL1MOVR7,#19H

DL2:

DJNZR7,DL2

DJNZR6,DL1

RET;

DL1MS:

MOVR4,#0FFH;

LOOP11:

DJNZR4,LOOP11

MOVR4,#0FFH

LOOP22:

DJNZR4,LOOP22

RET;

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

TERT:

CLRA

MOVP2,A

MOVR0,#70H

MOVR7,#08H

LCALLTESTART

WAIT:

JBP3.7MOVD

AJMPWAIT;

TESTART:

SETBP2.3

NOP

NOP

CLRP2.3

SETBP2.4

NOP

NOP

CLRP2.4

NOP

NOP

NOP

NOP

RET;

MOVDSETBP2.5

MOVA,P0

MOV@R0,A

CLRP2.5

INCR0

MOVA,P2

INCA

MOVP2,A

CJNEA,#08H,TESTEND;

TESTEND:

JCTESTCON

CLRA;

MOVP2,A

MOVA,#0FFH

MOVP0,A

MOVP1,A

MOVP3,A

RET;

TESTCON:

LCALLTESTART

LJMPWAIT;

(6)安键子程序:

KEYWORK1:

JNBP3.5,KEY1

KEYOUT:

RET;

KEY1:

LCALLDISP

JBP3.5,KEYOUT

WAIT11:

JNBP3.5,WAIT12

CPL00H

MOVR2,#01H

MOVR3,#01H

RET;

WAIT12:

LCALLDISP

AJMPWAIT11;

KEYWORK2:

JNBP3.5,KEY1

JNBP3.6,KEY2

RET;

KEY2:

LCALLDISP

JBP3.6,KEYOUT

WAIT22:

JNBP3.6,WAIT21

INC7BH

MOVA,78H

CJNEA,#08H,KEYOUT11

KEY0UT11:

JCKEYOUT1

MOV7BH,#00H

KEYOUT1:

RET;

WAIT21:

LCALLDISP

AJMPWAIT22;

END

4.设计总结

通过本次的课程设计,知道了学好单片机的重要性。

每个程序的设计流程相当复杂。

经过几天的课程设计和对相关资料的查阅,我在此过程中不断增长了编程方面的知识,提高了自己的编程的水平也掌握了一些单片机芯片的基本功能,达到了课程设计的基本目的,同时也认识到了自己还有很多不足之处。

参考书目

[1]徐爱钧.《智能化测量控制仪表原理与设计》(第二版)[M].北京:

北京航天航空大学出版社,2004.

[2]郭庭吉.《8051单片机实践与应用》[M].北京:

清华大学出版社,2002.

[3]高峰.《单片微型计算机与接口技术》[M].北京:

科学出版社,2003.

[4]赵俊逸.黄勇.《2003年全国单片机及嵌如入式系统学术年会论文集(下册)》[C].北京:

北京航空航天大学出版社,2003.

 

附录

 

图数字电压表总原理图

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

当前位置:首页 > 医药卫生 > 基础医学

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

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