文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的数字电压表设计毕设论文

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

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

本科课程设计

论文题目:基于单片机的数字电压表设计

姓名:

学号:

院(系、部):

专业:自动化

班级:

指导教师:

完成时间: 2014 年 11 月

物理与电子工程学院课程设计任务书

专业:自动化班级:

学生姓名学号

课程名称电子课程设计设计题目基于单片机的数字电压表设计

设计目的、主要内容(参数、方法)及要求一、项目的目的:

基于AT89C51单片机的数字电压表设计,强化动手能力,为毕业设计做准备。二、项目任务的主要内容和要求:

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

以AT89C51为对象,对单片机知识进行梳理,设计出快捷精确的数字电压表装置。

三、项目设计(研究)思路:

网上查找资料,熟悉数字电压表基本原理和研究方法。通过仿真软件PROTUES实现要求的硬件电路图,实现测量电路电压的功能。

四、具体成果形式和要求

通过PROTUES仿真电路图展示项目主要功能。

工作量2周时间,每天3学时,共计42学时

进度安排第1天:召开课程设计会议,下达设计任务。针对课程设计题目进行设计思路、设计过程,设计要求说明。

第2-3天:根据自己选题情况,查阅相关文献资料。

第4-5天:确定总体方案。

第6-10天:仿真/制作。

第11-14:编写课程设计报告。

主要参考资料[1] 蒋廷彪,刘电霆,高富强,方华.单片机原理及应用.出版社:重庆大学出版社.出版时间:2005年1月第2次印刷

[2] 8051实验指导书电子电气综合实训系统.出版社:北京精仪达盛科技有限公司

[3] 徐爱钧.智能化测量控制仪表原理与设计(第二版)[M].北京:北京航空航天大学出版社,2004

[4] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2002

[5] 张国勋.缩短ICL7135A/D采样程序时间的一种方法[J].电子技术应用.1993.第一期

[6] 高峰.单片微型计算机与接口技术[M].北京科学出版社,2003.

指导教师

签字

教研室主任签字

数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。

随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本文介绍一种基于AT89C51单片机的一种电压测量电路。该电路采用高精度、双积分A/D转换电路,测量范围为直流0-+5伏,使用LED数码管显示。论文简单介绍了双积分电路的原理、ADC0808的引脚及功能介绍、74LS373芯片的引脚及功能,重点描述了高精度数字电压表的设计思想,分析了软、硬件各部分电路的工作原理、设计过程和调试过程,最后给出详细的测试数据并且进行了分析。

关键词:数字电压表;AT89C51单片机;高精度

The basic working principle of digital voltmeter is an analog signal by A/D conversion circuit to be measured is converted into digital signal, through the corresponding conversion will test a voltmeter results displayed in digital form. Compared with the general analog voltage meter, digital voltage meter has the advantages of high precision, accurate measurement, visual reading, convenient use etc..

With the development of electronic technology, electronic measuring a large number of electronic workers must master the means, the measurement accuracy and functional requirements are increasingly high, while the voltage measurement is very prominent, because the voltage measurement is most common. This paper introduces a kind of voltage measurement circuit based on AT89C51 mcu. The circuit uses the high precision, the double integral A/D conversion circuit, the measuring range is 0-+5 DC volts, the use of LED digital tube display. The paper briefly introduced the pins and pin function, ADC0808 function and the principle of double integral circuit is introduced, 74LS373 chip, describes the focus of design ideas for a high precision digital voltage meter, analyzed the soft, the hardware circuit of the working principle, design and debugging process, finally has given the detailed test data and analysis. Keywords: digital voltage meter; AT89C51 SCM; high precision

目录

1 引言 (1)

2设计原理及要求 (2)

2.1数字电压表的实现原理 (2)

2.2数字电压表的设计要求 (2)

3软件仿真电路设计 (3)

3.1设计思路 (3)

3.2电路原理图 (3)

3.3设计过程 (4)

3.4 AT89C51的功能介绍 (4)

3.4.1简单概述 (4)

3.4.2主要功能特性 (5)

3.4.3 AT89C51的引脚介绍 (5)

3.5 ADC0808的引脚及功能介绍 (6)

3.5.1芯片概述 (6)

3.5.2 引脚简介 (7)

3.5.3 ADC0808的转换原理 (7)

3.6 74LS373芯片的引脚及功能 (7)

3.6.1芯片概述 (7)

3.6.2引脚介绍 (8)

3.7 LED数码管的控制显示 (8)

3.7.1 LED数码管的模型 (8)

3.7.2 LED数码管的接口简介 (8)

4系统软件程序的设计 (10)

4.1 主程序 (10)

4.2 A/D转换子程序 (10)

4.3 中断显示程序 (11)

5电压表的调试及性能分析 (13)

5.1 调试与测试 (13)

5.2 性能分析 (13)

6电路仿真图 (14)

7总结 (15)

参考文献......................................... 错误!未定义书签。附录源程序..................................... 错误!未定义书签。

1 引言

随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

数字电压表(DigitalV oltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力理。

本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流0~5V 的4路输入电压值,并在四位LED数码管上显示或单路选择显示。测量最小分辨率为0.019V,测量误差约为正负0.02V。

2 设计原理及要求

本设计是利用单片机AT89C51与ADC0808设计一个数字电压表,测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。

2.1数字电压表的实现原理

ADC0808是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。ADC0808具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8 路输入电压进行测量。LED 数码管显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。

2.2数字电压表的设计要求

可以测量0~5V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V~5.00V,1位LED数码管显示路数,3路分别为0-2。要求测量的最小分辨率为0.02V。

3 软件仿真电路设计

3.1设计思路

多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路组成,由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0808的CLK直接由外部电源提供为500kHz的方波。由于ADC0808的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF) ADC0808采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压0~5V进行采集,所以D对应的电压为V0 ,我们的目的就是要把V0显示在LED显示器上,因为单片机不好进行小数点计算,所以有:V0=2*D扩大了100倍,扩大100倍后的结果高八位放寄存器B,低八位放寄存器A,分寄存器B为0或不为0的情况进行存取数据,得到的结果个位放入R0,十位放入R1,通过查表使之显示在LED显示器。

3.2电路原理图

电路原理图如图3-1所示。

图3-1 电路原理图

3.3设计过程

简易数字电压测量电路由A/D 转换、数据处理及显示控制等组成。电路原理图见附录2。A/D 转换由集成电路0808完成。0808具有8路模拟输入端口,地址(23-25)脚可决定对哪路模拟输入作A/D 转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2us 宽高电平脉冲时,就开始A/D 转换。7脚为A/D 转换结束标志,当A/D 转换结束时7脚输出高电平。9脚为A/D 转换数据输出允许控制,当OE 脚为高电平时,A/D 转换数据从该端口输出。10脚为0808的时钟输入端,由外部信号源提供。单片机的P1、P3.0-P3.3端口作为四位LED 数码管现实控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D 转换数据读入用,P2端口用作0808的A/D 转换控制。

3.4 AT89C51的功能介绍

3.4.1简单概述

AT89C51是一种带4K 字节闪存可编程可擦除只读存储器

(FPEROM —Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示。

图3-2 AT89C51芯片模型

XTAL2

18

XTAL1

19ALE 30EA

31

PSEN 29RST

9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

3.4.2主要功能特性

(1) 4K字节可编程闪烁存储器。

(2) 32个双向I/O口;128×8位内部RAM 。

(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。

(4) 可编程串行通道。

(5) 5个中断源。

(6) 2个读写中断口线。

(7) 低功耗的闲置和掉电模式。

(8) 片内振荡器和时钟电路。

3.4.3 AT89C51的引脚介绍

89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。

(1)电源引脚

电源引脚接入单片机的工作电源。

Vcc(40引脚):+5V电源。

GND(20引脚):接地。

(2)时钟引脚

XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。

XTAL2(20引脚):片内振荡器反相放大器的输出端。

图3-3 电源接入方式

(3)复位RST(9引脚)

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

(4)EA/Vpp(31引脚)

EA为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000H~FFFFH。Vpp为该引脚的第二功能,为编程电压输入端。

(5)ALE/PROG(30引脚)

ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳沿江P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。PROG为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。

(6)PSEN(29引脚)

片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。

(7) pin39-pin32为P0.0-P0.7输入输出脚,称为P0口。

P0是一个8位漏极开路型双向I/O口。内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。

(8)Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻的8位双向I/0口。P1口能驱动4个LSTTL负载。

(9)Pin21-Pin28为P2.0-P2.7输入输出脚,称为P2口。

P2口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。

(10)Pin10-Pin17为P3.0-P3.7输入输出脚,称为P3口。

P3口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。

3.5 ADC0808的引脚及功能介绍

3.5.1芯片概述

ADC0808是一种典型的A/D转换器。它是由8位A/D转换器,一个8路模拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成;+5V 单电源供电,转化时间在100us左右;内部没有时钟电路,故需外部提供时钟

信号。芯片模型如图3-4所示。

图3-4ADC0808芯片模型

3.5.2 引脚简介

(1) IN0~IN7:8路模拟量输入端。

(2) D0~D7:8位数字量输出端口。

(3) START:A/D转换启动信号输入端。

(4) ALE:地址锁存允许信号,高电平有效。

(5) EOC:输出允许控制信号,高电平有效。

(6) OE:输出允许控制信号,高电平有效。

(7) CLK:时钟信号输入端。

(8)A、B、C:转换通道地址,控制8路模拟通道的切换。A、B、C分别与地址线或数据线相连,三位编码对应8个通道地址端口,A、B、C=000~111分别对应IN0~IN7通道的地址端口。

3.5.3 ADC0808的转换原理

ADC 0808 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。ADC0809完成一次转换需100μs左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。通过适当的外接电路,ADC0808可对0~5V 的模拟信号进行转换。

3.674LS373芯片的引脚及功能

3.6.1芯片概述

74LS373是一种带有三态门的8D锁存器,其在本设计中是锁存P0口的低8位地址,芯片模型如图3-5所示。

3.6.2引脚介绍

(1) D0~D7:8位数据输入线;

(2) Q0~Q7:8位数据输出线

(3) G:数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。

(4)OE:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中的数据输出到数据输出线上,当该信号为高电平时,输出线为高阻态。

3.7 LED数码管的控制显示

3.7.1 LED数码管的模型

LED数码管模型如图3-6所示。

图3-6 LED数码管模型

3.7.2 LED数码管的接口简介

LED 的段码端口A~G分别接至AT89C51的P1.0~P1.7口,位选端1~4分别接至P3.5、P3.4、P3.1、P3.0,如图3-7所示。

图3-7LED与A T89C51的硬件连线

4 系统软件程序的设计

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

4.1 主程序

主程序包含初始化部分、调用A/D转换子程序和相应外部0中断显示电压数值程序,初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示控制,00H位通过单路、循环按键控制。流程图如图4-1所示。

开始

初始化

A/D转换子程序

显示子程序

图4-1主程序流程图

4.2 A/D转换子程序

A/D转换子程序用于对ADC0808的4路输入模拟电压进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图4-2所示。

相关文档