5V简易数字电压表设计.docx

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

5V简易数字电压表设计.docx

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

5V简易数字电压表设计.docx

5V简易数字电压表设计

摘要

根据8051单片机的内部结构特点本文提出以MCS-51单片机为核心的电压测量系统。

该系统以8051和ADC0809核心内件,能够在单片机的控制下监测八路的输入电压值,用8位串行A/D转换器进行0-5V量程自动转换,并且测量的电压值可通过三位数码管显示同时用一位数码管显示选择通道。

整个系统的设计过程中主要采用了模块化的设计方法,完成了硬件电路的设计及软件程序的编写,还详细的给出了相关的硬件框图和软件流程图,通过最终硬件电路的调试,使该系统能够在要求的条件下达到正常的测量及显示功能。

单片机8051是整个系统的核心,实现输入端的分路选择,模数转换后数据的处理及在数码管上数据的显示等功能。

正文着重给出了软硬件系统的各部分电路,介绍了该系统的工作原理,MCS-51单片机特点,8051的功能和应用,ADC0809的功能和应用等。

关键词:

MCS-51单片机;8051;ADC0809;数码管

 

目录

1硬件设计1

1.1单片机件简介1

1.1.18031芯片1

1.1.28051芯片1

1.1.38751芯片1

1.28051单片机简介2

1.2.1中央处理器2

1.2.2数据存储器(RAM)2

1.2.3程序存储器(ROM)3

1.2.4定时/计数器(ROM)3

1.2.5并行输入输出(I/O)口3

1.2.6全双工串行口3

1.2.7中断系统3

1.2.8时钟电路3

1.3引脚极其功能4

1.3.1电源引脚Vcc和Vss4

1.3.2外接晶振引脚XTAL1和XTAL24

1.3.3控制信号或与其它电源复用引脚4

1.3.4输入/输出(I/O)引脚P口5

1.4ADC0809芯片简介6

1.4.1主要特性7

1.4.2内部结构7

1.4.3外部特性(引脚功能)7

1.58051中断系统8

1.5.18051单片机中断系统中的五个中断源8

1.5.28051中断系统的4个特殊功能寄存器9

1.5.3中断的优先排队与嵌套9

1.5.4MCS-51中断系统的初始化9

1.5.5各中断源与之对应的中断服务程序矢量地址如图示9

1.5.6LED工作原理10

1.6数字电压表的原理结构12

1.6.1数据采集接口电路12

1.6.2LED显示电路12

2软件设计13

2.1流程图13

2.2程序设计17

3设计总结18

参考文献19

附录A20

附录B23

附录C24

1硬件设计

1.1单片机件简介

MCS51系列单片机包括三个基本型8031、8051、8751

1.1.18031芯片

8031内部包括一个8位CPU、128个字节RAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口、2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。

1.1.28051芯片

8051是在8031的基础上,片内集成有4KROM,作为程序存储器,是一个程序不超过4K字节的小系统。

ROM内的程序是公司制作芯片时,代为用户烧制的,出厂的8051都是含有特殊用途的单片机。

所以8051适合与应用在程序已定,且批量大的单片机产品中。

1.1.38751芯片

8751是在8031基础上,增加了4K字节的EPROM,它构成了一个程序小于4KB的小系统。

用户可以将程序固化在EPROM中,可以反复修改程序。

但其价格相对8031较贵。

8031外扩一片4KBEPROM的就相当与8751,它的最大优点是价格低。

随着大规模集成电路技术的不断发展,能装入片内的外围接口电路也可以是大规模的。

下图是MCS-51系列单片机的内部结构:

 

图1.1MCS-51单片机内部结构

 

图1.2MCS-51内部结构框图

1.28051单片机简介

8051单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上[2]。

如果按功能划分,它由如下功能部件组成,即中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口、中断系统和时种电路,其基本结构依旧是CPU加上外围芯片的传统结构模式。

但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。

1.2.1中央处理器

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

1.2.2数据存储器(RAM)

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

1.2.3程序存储器(ROM)

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

1.2.4定时/计数器(ROM)

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

1.2.5并行输入输出(I/O)口

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

1.2.6全双工串行口

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

1.2.7中断系统

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

1.2.8时钟电路

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序但8051单片机需外置振荡电容。

由上可见,8051单片机的硬件结构具有功能部件种类全,功能强等特点。

特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。

1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。

MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。

1.3引脚极其功能

 

图1.380C51的管脚图

MCS—51系列单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。

下面按引脚功能分为4个部分叙述个引脚的功能。

1.3.1电源引脚Vcc和Vss

Vcc(40脚):

接+5V电源正端。

Vss(20脚):

接+5V电源正端。

1.3.2外接晶振引脚XTAL1和XTAL2

XTAL1(19脚):

接外部石英晶体的一端。

在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。

XTAL2(18脚):

接外部晶体的另一端。

在单片机内部,接至片内振荡器的反相放大器的输出端。

当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。

对于CHMOS芯片,该引脚悬空不接。

1.3.3控制信号或与其它电源复用引脚

控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。

1、RST/VPD(9脚):

RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。

当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。

当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。

图1.4上电自动复位图1.5手动复位电路图1.6内部时钟方式图1.7外部时钟方式

2、ALE/P(30脚):

当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低

3、PSEN(29脚):

片外程序存储器读选通输出端,低电平有效。

当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。

当访问外部数据存储器期间,PESN信号将不出现。

4、EA/Vpp(31脚):

EA为访问外部程序储器控制信号,低电平有效。

当EA端保持高电平时,单片机访问片内程序存储器4KB(MS—52子系列为8KB)。

若超出该范围时,自动转去执行外部程序存储器的程序。

当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。

对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。

1.3.4输入/输出(I/O)引脚P口

1、P0口(39脚~22脚),P0.0~P0.7统称为P0口。

当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。

当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。

它分时提供8位双向数据总线。

对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。

2、P1口(1脚~8脚),P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。

对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:

P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。

对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。

3、P2口(21脚~28脚),P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。

当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。

对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。

4、P3口(10脚~17脚),P3.0~P3.7统称为P3口。

它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。

P3口的第2功能见下表

表1.1单片机P3.0管脚含义

引脚

第2功能

P3.0

RXD(串行口输入端0)

P3.1

TXD(串行口输出端)

P3.2

INT0(部中断0请求输入端,低电平有效)

P3.3

INT1(中断1请求输入端,低电平有效)

P3.4

T0(时器/计数器0计数脉冲端)

P3.5

T1(时器/计数器1数脉冲端)

P3.6

WR(部数据存储器写选通信号输出端,低电平有效)

P3.7

RD(部数据存储器读选通信号输出端,低电平有效)

综上所述,MCS—51系列单片机的引脚作用可归纳为以下两点:

1、单片机功能多,引脚数少,因而许多引脚具有第2功能;

2、单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。

1.4ADC0809芯片简介

ADC0809是一种8路模拟输入8路数字输出的逐次比较型A/D转换器。

目前在8位单片机系统中有着广泛的使用。

ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。

1.4.1主要特性

1、8路8位A/D转换器,即分辨率8位。

2、具有转换起停控制端。

3、转换时间为100μs。

4、单个+5V电源供电。

5、模拟输入电压范围0~+5V,不需零点和满刻度校准。

6、工作温度范围为-40~+85摄氏度。

7、低功耗,约15mW。

1.4.2内部结构

ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8位模拟开关、地址锁存与译码器、比较器、8位开关输入A/D转换器、逐次逼近。

1.4.3外部特性(引脚功能)

ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能。

1、IN0~IN7:

8路模拟量输入端。

2、2-1~2-8:

8位数字量输出端。

3、ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路

4、ALE:

地址锁存允许信号,输入,高电平有效。

5、START:

A/D转换启动信号,输入,高电平有效。

6、EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

7、OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

8、CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

9、REF(+)、REF(-):

基准电压。

0、Vcc:

电源,单一+5V,GND:

地。

ADC0809的工作过程是:

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

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

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

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

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

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

表1.2通道选择表

C

B

A

选择的通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

1.58051中断系统

1.5.18051单片机中断系统中的五个中断源

1、INT0:

外部中断0请求,低电平有效。

2、INT1:

外部中断1请求,低电平有效。

3、T0:

定时/计数器0溢出中断请求。

4、T1:

定时/计数器1溢出中断请求。

5、TX/RX:

串行口通信中断请求,当串行口完成一帧数据的发送或接受时,便请求中断。

1.5.28051中断系统的4个特殊功能寄存器

1、定时计数控制器TCON

2、串行口控制器SCON

3、中断允许控制器IE

4、中断优先控制器IP

1.5.3中断的优先排队与嵌套

1、中断的优先排队。

自然优先级排列由高到低的顺序:

外部中断0、定时/计数器0溢出中断、外部中断1、定时/计数器1溢出中断、串行口中断。

2、中断嵌套。

CPU在响应中断时,先处理高级中断,再处理低级中断,若有多个同级中断请求时,则按自然优先级顺序处理。

1.5.4MCS-51中断系统的初始化

1、设定所有中断源的中断优先级;

2、若为外部中断,应规定低电平出发还是边沿出发方式;

3、开相应中断源中断。

1.5.5各中断源与之对应的中断服务程序矢量地址如图示

表1.3中断源及对应的矢量地址

中断源

中断矢量地址

外部中断0

0003H

定时器T0中断

000BH

外部中断1

0013H

定时器T1中断

001BH

串行口中断

0023H

1.5.6LED工作原理

LED显示是用发光二极管显示字段的显示器件,也可称为数码管,其外形结构如图所示,由图可见它由8个发光二极管构成,通过不同的组合可用来显示0~9、A~F及小数点。

图1.9管脚配置图1.10共阴极图1.11共阳极

LED显示器分为共阴极和共阳极,共阴极是将8个发光二极管阴极连接在一起作为公共端,而共阳极是将8个发光二极管的阳极连接在一起作为公共端。

如图1.7.2所示,LED显示器有静态和动态显示两种方式,静态显示是将共阴极联到一起接地,每位的显示段(a-dp)分别与一个8位的锁存器输出相连。

由于显示的各位可以相互独立,各位可以互相显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。

并且由于各位由一个8位锁存器控制段选线,故在同一时间内每一位显示的字符可以不同。

这种方式占用锁存器较多。

动态显示是将所有位的段选线相应的并联在一起,由一个8位的I/O口控制,形成段选线的多路复用。

而各位的阴极分别由相应的I/O口控制,实现各位的分时选通。

要LED能够显示相应的字符,就必须采用动态扫描方式,只要每位显示的时间足够短,则可造成多位同时显示的假象,达成显示的目的。

在数字电路中常常要把数据或运算结果通过半导体数码管、液晶数码和荧光数码管,用十进制数显示出来。

发光二极管的工作电压为1.5V-3.0V,工作电流为己毫安到几十毫安,寿命很长。

半导体数码管将十位数分成七个字段,每段为一个发光二极管,其字形结构如图1.7.2所示,选择不同的字段发光,可显示出不同的字型。

共阳极:

把发光二极管的阳极连在一起构成共阳极。

使用时公共端接Vcc,当某阳极为低电平时,该发光二极管就导通发光。

输出一个段码就可以控制LED显示器的字型,表1.4给出了段码与字型的关系,假定a、b、c、d、e、f、g、DP分别对应D0、D1、D2、D3、D4、D5、D6、D7。

 

表1.4段码与字型的关系

段码

D7

DP

D6

g

D5

F

D4

e

D3

d

D2

c

D2

b

D0

a

字形

3FH

0

0

1

1

1

1

1

1

0

06H

0

0

0

0

0

0

1

0

1

5BH

0

1

0

1

1

0

1

1

2

4FH

0

1

0

0

1

1

1

1

3

66H

0

1

1

0

0

1

1

0

4

6DH

0

1

1

0

1

1

0

1

5

7DH

0

1

1

1

1

1

0

1

6

07H

0

0

0

0

0

1

1

1

7

7FH

0

1

1

1

1

1

1

1

8

6FH

0

1

1

0

1

1

1

1

9

1.6数字电压表的原理结构

1.6.1数据采集接口电路

图1.12数据采集接口电路

1.6.2LED显示电路

图1.13数码管显示电路

2软件设计

2.1流程图

DELAY子程序:

图2.1DELAY子程序流程图

 

GETAD子程序:

图2.2GETAD子程序

 

电压变换子程序:

图2.3变换电压变换子程序流程图

主程序流程图:

图2.4主程序流程图

 

2.2程序设计

系统工作原理:

当从表笔给ADC0809输入一个0V-5.0V的电压值,经模数转换后输出一个八位二进制数,并将数值传入8051芯片内在经2803芯片在数码管显示出电压值。

中断服务程序:

CH_TRANS:

MOVTH0,#03CH

MOVTL0,#0B0H

DJNZBEISHU,T0_OUT

MOVBEISHU,#40

LCALLGETAD

RETI

拆分:

XS_CHAIFEN:

MOVA,DIS_BUF

MOVB,#10

DIVAB

MOV31H,A

MOV30H,B

RET

变换电压子程序:

CONVERT:

MOVA,AD_BUF

MOVCF_B_H,B

MOVCF_B_L,A

MOVCF_C_H,#27H

MOVCF_C_L,#10H;10000

LCALLDIV16

MOVDIS_BUF2,CF_S_L

MOVCF_B_H,CF_Y_H

MOVCF_B_L,CF_Y_L

MOVCF_C_H,#00H

MOVCF_C_L,#64H;100

LCALLDIV16

MOVDIS_BUF1,CF_S_L

RET

 

3设计总结

通过三周的课程设计,使我深刻地认识到学好专业知识的重要性,加深了对单片机理论的理解,也理解了理论联系实际的含义,并且检验了自己在大二下学期学习的单片机知识。

也使我认识到我对单片机方面的知识了解太少,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,虽然在这次设计中对于知识的运用和衔接还不够熟练,我会在以后的学习生活中弥补我的不足。

本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识很好地应用到实际生活当中去。

这个课题虽然看似很简单,但是实际上挺难,对我们的实际动手能力是一个相当大的考验,这也对我们今后的工作敲响了警钟:

掌握基础知识,且不能眼高手低。

这三周的课程设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。

在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的简易数字电压表的设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,更好地处理所遇到的问题,使自己适应于以后的竞争。

 

 

 

 

参考文献

[1]张有德.单片微型机原理、应用与实验.上海:

复旦大学出版社,2000.

[2]何立民.单片机应用系统设计.北京:

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

[3]李光飞.单片机课程设计实例指导.北京:

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

[4]雷思孝,冯育长.单片机系统设计及工程应用.西安:

西安电子科技大学出版社,2005.

[5]张俊谟.单片机中级教程原理与应用.北京:

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

附录A

程序清单:

WEIEQU80H

ADCH1EQU70H

DUANEQU0CH

DPH_BUFDATA38H;DPH缓冲

DISCNTDATA39H;用于显示计数

WEI_BUFDATA40H;位扫描暂存

AD_CNTDATA41H;用于通道计数

AD_BUFDATA42H;用于转换值暂存

DIS_BUF1DATA43H

DIS_BUF2DATA44H

CF_B_HDATA45H

CF_B_LDATA46H

CF_C_HDATA47H

CF_C_LDATA48H

CF_S_HDATA49H

CF_S_LDATA4AH

CF_Y_HDATA4BH

CF_Y_LDATA4CH

DIG0DATA30H

DIG1DATA31H

DIG2DATA32H

DIG3DATA33H

RUNLEDBITP1.2;端口定义

ORG0000H

LJMPMAIN

ORG000BH

LJMPCH_TRANS

ORG0100H

MAIN:

MOVDIS_BUF1,#88

MOVDIS_BUF2,#88

LCALLCHAIFEN

MOVDPL,#00H

MOVDPH,#WEI

MOVA,#0FFH

MOVX@DPTR,A

MOVTMOD,#01H;启动t0定时器F方式1,产生50毫秒定时

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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