数字电压表设计.docx

上传人:b****3 文档编号:4136619 上传时间:2022-11-28 格式:DOCX 页数:16 大小:185.84KB
下载 相关 举报
数字电压表设计.docx_第1页
第1页 / 共16页
数字电压表设计.docx_第2页
第2页 / 共16页
数字电压表设计.docx_第3页
第3页 / 共16页
数字电压表设计.docx_第4页
第4页 / 共16页
数字电压表设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数字电压表设计.docx

《数字电压表设计.docx》由会员分享,可在线阅读,更多相关《数字电压表设计.docx(16页珍藏版)》请在冰豆网上搜索。

数字电压表设计.docx

数字电压表设计

《单片机课程设计》设计报告

设计题目:

姓名:

设计时间:

2010-12-28

备注:

1.引言···············································2

2.概述·······················································2

2.1实验要求··············································2

2.2实验目的··············································2

2.3实验器材··············································2

3.总体设计方案················································3

3.1系统的总体结构···········································3

3.2芯片的选择···············································4

3.3ADC0809的主要性能指标··································4

4.硬件电路设计················································6

4.1AT89S52单片机最小系统··································6

4.2ADC0809与AT89S52单片机接口电路设计····················6

4.3显示电路与AT89S52单片机接口电路设计·····················6

5.软件设计····················································7

5.1主程序图·················································7

5.2ADC0809电压采集程序框图································8

5.3显示程序框图·············································9

6.调试与测量结果分析···········································10

6.1实验系统连线图············································11

6.2程序调试··················································12

6.3仿真结果·················································13

6.4实验结果分析·············································14

7.程序清单和系统原理图·········································15

7.1程序清单··················································15

7.2系统原理图················································16

8.实验总结和实验收获···········································17

 

1.引言

本次课程设计要求完成是数字电压表的设计,随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。

本次课程设计我们小组xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx该电路设计新颖、功能强大、可扩展性强。

实验报告首先简要介绍了设计数字电压表的实验要求和目的;根据要求和目的设计出直流数字电压表的系统结构流程,以及硬件系统和软件系统的设计,并给出了硬件电路的设计细节,以及调试和仿真结果。

最后进行了实验和心得体会的总结。

通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。

2.概述

2.1实验要求

采用ADC0809和AT89S52单片机及显示电路完成0~5V直流电压的检测

2.2实验目的

(1)进一步熟悉和掌握单片机的结构和工作原理;

(2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法;

(3)通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;

(4)通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。

2.3实验器材

⑴主控CPU部分

⑵A/D转换器件

⑶数码管显示电路

所涉及的器件单元的信号连接端口:

IN0,AOUT1,CS4,FF80H,JX0,JX6,8MHZ,T

3.总体设计方案

3.1系统的总体结构

AT89S52单片机

ADC0809转换器

数码显示

模拟电压输入

8255并行I/O接口扩展

 

文字说明:

(多路数字电压表的系统软件程序由主程序、A/D转换子程序和显示子程序组成。

 

多路数字电压表的系统软件程序由主程序、A/D转换子程序和显示子程序组成。

主程序包含初始化部分、调用A/D转换子程序和调用显示程序,初始化部分包含存放通道数据缓冲区初始化和显示缓冲区初始化。

另外,对于单路显示和循环显示,系统设置了一个标志位00H控制。

初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示。

00H位通过单路/循环按键控制。

A/D转换子程序用于对ADC0809的8路输入模拟电压进行A/D转换,并将转换的数值存入8个相应的存储单元中,如图1—4所示。

A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。

LED数码管采用软件译码动态扫描方式。

在显示子程序中包含多路循环显示和单路显示程序。

多路循环显示把8个存储单元的数值依次取出送到4位数码管上显示,每一路显示1秒。

单路显示程序只对当前选中的一路数据进行显示。

每路数据显示需经过转换变成十进制BCD码,放于4个数码管的显示缓冲区中。

单路显示或多路循环显示通过标志位00H控制。

在显示控制程序中加入了对单路或多路循环按键和通道选择按键的判断。

3.2芯片的选择

1)AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,2个数据指针,三个16位定时器/计数器,5个中断优先级2层中断嵌套中断,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件,可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

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

它是逐次逼近式A/D转换器,可以和单片机直接接口。

3)8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

  8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分

3.3ADC0809的主要性能指标

 

1)8路输入通道,8位A/D转换器,即分辨率为8位。

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

  3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时) 

  4)单个+5V电源供电

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

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

7)低功耗,约15mW。

2.内部结构

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

3.外部特性(引脚功能)

  ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。

下面说明各引脚功能。

  IN0~IN7:

8路模拟量输入端。

  2-1~2-8:

8位数字量输出端。

  ADDA、ADDB、ADDC:

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

  ALE:

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

  START:

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

  EOC:

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

  OE:

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

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

  CLK:

时钟脉冲输入端。

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

  REF(+)、REF(-):

基准电压。

  Vcc:

电源,单一+5V。

  GND:

地。

ADC0809的工作过程

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

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

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

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

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

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

  转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。

数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。

为此可采用下述三种方式。

  

(1)定时传送方式

  对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。

例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。

可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。

  

(2)查询方式

  A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。

因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。

  (3)中断方式

  把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。

不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。

首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。

4.硬件系统的设计

4.1AT89S52单片机最小系统

51单片机最小系统电路介绍

1.51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。

2.51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

3.51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。

设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。

计数值N乘以机器周期Tcy就是定时时间t。

设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。

在每个机器周期的S5P2期间采样T0、T1引脚电平。

当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。

由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。

当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。

 

标识符号地址寄存器名称

P30B0HI/O口3寄存器

PCON87H电源控制及波特率选择寄存器

SCON98H串行口控制寄存器

SBUF99H串行数据缓冲寄存器

TCON88H定时控制寄存器

TMOD89H定时器方式选择寄存器

TL08AH定时器0低8位

TH08CH定时器0高8位

TL18BH定时器1低8位

TH18DH定时器1高8位

 

4.2ADC0809与AT89S52单片机接口电路设计

在连接时,ADC0809的数据线D0—D7与AT89S52的P0口相连接,ADC0809的地址引脚、地址锁存端ALE、启动信号START、数据输出允许控制端OE分别与AT89S52的P2口相连接,转换结束信号EOC与AT89S52的P3.2相连接。

时钟信号输入端CLOCK信号,由单片机的地址锁存信号ALE得到。

 

4.3显示电路与AT89S52单片机接口电路设计

LED数码管采用动态扫描方式连接,通过AT89S52的P0口和P3.2口控制。

8255的PA口为LED数码管的位选码输出端,PB口为LED数码管的字段码输出端,通过与非门反相。

 

5.软件设计

5.1主程序图

 

N

Y

开始

初始化

延时等待

显示数据

结束

转换结果存入(33H)~(36H)

启动A/D转换

采集电压值并数据转换

扫描数据并进行动态显示段选和位选

 

5.2ADC0809电压采集程序框图

 

5.3显示程序框图

 

6.调试与测量结果分析

6.1实验系统连线图(附页)

 

6.2程序调试

连线T-8MHZ时钟CS4-FF80H(片选)AOUT1-INT0电压输入\程序的改写

 

6.3仿真结果(附页打印)

6.4实验结果分析

 

7.实验总结和实验收获

 

8.附页

8.1程序清单

;*****************************

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

;*****************************

ORG0000H

LJMPSTART

ORG0003H

RETI

ORG000BH

RETI

ORG0013H

RETI

ORG001BH

RETI

ORG0023H

RETI

ORG002BH

RETI

START:

LCALLCLEARMEM;初始化

MAIN:

LCALLTEST;电压测量及转换

LCALLDISP;电压显示

NOP

NOP

NOP

LJMPSTART

;

;*****************************

;**初始化子程序**

;*****************************

CLEARMEM:

MOVR0,#31H;将31H~36H单元内容清零

MOVR2,#06H

MOVA,#00H

LOOPMEM:

MOV@R0,A

INCR0

DJNZR2,LOOPMEM

MOVDPTR,#0FF23H;8255初始化

MOVA,#80H

MOVX@DPTR,A

RET

;

;*****************************

;**电压测量并转换为BCD码子程序**

;*****************************

TEST:

MOVDPTR,#0FF80H;将地址FF80置0

MOVA,#00H

MOVX@DPTR,A;启动A/D转换

HERE:

NOP

MOVXA,@DPTR

MOVB,#51

DIVAB;商的整数部分存在A,余数部分存在B

MOV31H,A;个位数存入31H

MOVA,B

CLRF0;清0用户标识位

SUBBA,#1AH;余数是否大于19,若大于乘法溢出,结果加5

MOVF0,C

MOVA,#10

MULAB;低8位存入A,高8位存入B

MOVB,#51

DIVAB

JBF0,LOOP

ADDA,#5

LOOP:

MOV32H,A;小数后第1位放入32H

MOVA,B

ADDA,#01H

CLRF0

SUBBA,#1AH

MOVF0,C

MOVA,#10

MULAB

MOVB,#51

DIVAB

JBF0,LOOP1

ADDA,#5

LOOP1:

MOV33H,A;小数后第2位放入33H

RET

;

;*******************************

;**显示子程序**

;*******************************

DISP:

MOVR1,#33H

MOVR2,#03H

MOVR0,#36H

REP:

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV@R0,A

DECR1

DECR0

DJNZR2,REP

MOVA,@R0;显示小数点

ANLA,#7FH

MOV@R0,A

MOVR2,#0FFH;延时

DISP2:

LCALLDISP1

DJNZR2,DISP2

RET

DISP1:

MOVR0,#36H;扫描模式置初值

MOVR3,#0FEH

MOVA,R3

DISP3:

MOVDPTR,#0FF20H;动态显示位选

MOVX@DPTR,A

INCDPTR

MOVA,@R0;动态显示段选

MOVX@DPTR,A

LCALLDL1MS

DECR0

MOVA,R3

JNBACC.2,EEND

RLA

MOVR3,A

SJMPDISP3

EEND:

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,98H

DB88H,83H,0C6H,0A1H,86H,8EH

DL1MS:

MOVR7,#02H

DL1:

MOVR6,#0FFH

DL2:

DJNZR6,DL2

DJNZR7,DL1

RET

END

 

8.2系统连线图

 

 

系统原理图

 

表2.1七段LED段选码表

显示字符

共阴极段

显示字符

共阴极段

0

3FH

C

39H

1

06H

D

5EH

2

5BH

E

79H

3

4FH

F

71H

4

66H

P

73H

5

6DH

U

3EH

6

7DH

Γ

31H

7

07H

y

6EH

8

7FH

8.

FFH

9

6FH

“灭”

00H

A

77H

/

/

B

7CH

/

/

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1