题 目:基于51单片机的简易数字电压表的设计
系 专 业:班 级:学生姓名:学 号:指导老师: 日部:
期:
目 录
毕业设计任务书 ............................................................................................................ 1 开题报告 ........................................................................................ 错误!未定义书签。 摘 要 .......................................................................................... 错误!未定义书签。 关键词 ............................................................................................................................ 2 引 言 ............................................................................................................................ 2 第一章A/D转换器 ....................................................................................................... 4
1.1A/D转换原理 ................................................................................................. 4 1.2 ADC性能参数 .............................................................................................. 6
1.2.1 转换精度 .......................................................................................... 6 1.2.2. 转换时间 ......................................................... 错误!未定义书签。 1.3 常用ADC芯片概述 .................................................................................... 8 第二章 8OC51单片机引脚 ......................................................................................... 9 第三章 ADC0809 ....................................................................................................... 11
3.1 ADC0809引脚功能 ....................................................................................... 11 3.2 ADC0809内部结构 ....................................................................................... 13 3.3ADC0809与80C51的接口 ........................................................................... 14 3.4 ADC0809的应用指导 ................................................................................... 15
3.4.1 ADC0809应用说明 ............................................................................. 15 3.4.2 ADC0809转换结束的判断方法 ......................................................... 15 3.4.3 ADC0809编程方法 ............................................................................. 16
第四章 硬件设计分析 ................................................................................................ 17
4.1 电源设计 ........................................................................................................ 17 4.2 关于74LS02,74LS04 ................................................................................. 17 4.3 74LS373概述 ................................................................................................. 18 4.3.1 引脚图 ......................................................................................................... 18
4.3.2工作原理 ............................................................................................... 18 4.4简易数字电压表的硬件设计 ......................................................................... 19 结 论 .......................................................................................................................... 20 参考文献 ...................................................................................................................... 20 附 录 .......................................................................................... 错误!未定义书签。 致 谢 ........................................................................................................................ 24
毕业设计任务书 学生姓名 论文题目 专业班级 信息工程技术08.2 指导教师 基于51单片机的简易数字电压表的设计 目标:基于MCS—51单片机,对设计硬件电路和软件程序应用的设计,使用发光二极管来显示所要测试模拟电压的数字电压值。 内容:设计符合要求的原理图,完成硬件电路设计,设计符合要求的软件。 方法:分阶段,分模块设计,先自己查找相关资料,熟悉设计要达到的目标,然研后进行硬件电路的设计,最后实现软件设计,并且书写规范的设计论文。 究的目标、内容及方法 分阶段完成的工作 1、2010年9月1日之前查阅资料,进行功能分析、完成总体方案设计。 2、2010年9月15日之前完成各单元电路的设计。 3、2010年10月1日之前完成各模块软件的设计。 4、2010年10月15日之前完成系统仿真及调试。 5、2009年10月25日之前进行排错、改进,完成设计报告的撰写。 6、离校顶岗实习之前进行设计答辩。 系(部)主 任意 见 1
随着我国现代化技术建设的发展,电子检测技术日新月异,本此设计基于80C51单片机的一种8路输入电压测量电路,该电路采用ADC0809 A/D转换元件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单, 可以测量0~5V的电压值,并在四位LED数码管上轮流显示或单路选择显示。所用的元件较少,成本低,调节工作可实现自动化。还可以方便地进行8路A/D转换量的测量,远程测量结果传送等功能。
With the construction of modern technology, electronic detection technology advances, the 80C51 microcontroller for this design is based on an 8-input voltage measurement circuit that uses ADC0809 A / D conversion components, digital voltage meter hardware and software design . The system's digital voltmeter circuit is simple, can measure the voltage 0 ~ 5V, and the four turns on the LED digital display or a single select Show. Fewer components used in low cost, regulation work can be automated. You can also easily 8 A / D conversion volume measurement,
remote measurement transfer functions.
关键词
数字电压表 单片机 A/D转换 AT80C51
Digital voltmeter microcontroller A / D conversion AT80C51
2
引 言
数字电压表简称DVM,它是采用了数字化测量技术,把连续模拟量(直流输入电压)转换成不连续,离散的数字形式加以现实的仪表。传统的指针是电压表功能单一,精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高,抗干扰能力强,可扩展性强,集成方便,不可与PC进行实时通信。目前由各种单片机A/D转换器构成的数字电压表,已被广泛的应用为电子及其电工的测量,工业自动化仪表,自动测试系统等智能化测量领域,显示出强大的生命力。数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式,并加以显示,这有别于传统的指针加刻度盘进行读数的方法,避免了读数的视差和视觉的疲劳,目前数字电压表的核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压表的准确度。本设计主要分为两部分:硬件电路及软件程序。而硬件电路又大体可分为单片机小系统电路、A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用纬福软件对其编译,详细的设计算法将会在程序设计部分详细介绍。
3
第一章A/D转换器
1.1A/D转换原理
模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。
A/D转换器的工作原理 主要介绍以下三种方法: (1). 逐次逼近法
逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。
图1.1 逐次逼近法原理
逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为 Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的 Vo再与Vi比较,若Vo<Vi,该位1被保留,否则被清除。
(2)双积分法
采用双积分法的A/D转换器由电子开关、积分器、比较器和控制逻辑等部件组成。如图1.2所示。基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。
双积分法
图1.2 双积分式A/D转换的原理框
双积分法A/D转换的过程是:先将开关接通待转换的模拟量Vi,Vi采样输入到积分器,积分器从零开始进行固定时间T的正向积分,时间T到后,开关再接通与Vi极性相反的基准电压VREF,将VREF输入到积分器,进行反向积分,直到输出为0V时停止积分。Vi越大,积分器输出电压越大,反向积分时间也越长。计数器在反向积分时间内所计的数值,就是输入模拟电压Vi所对应的数字量,实现了A/D转换。
(3)电压频率转换法
采用电压频率转换法的A/D转换器,由计数器、控制门及一个具有恒定的 时钟门控制信号组成,如图1.3所示:
图1.3电压频率转换法原理
电压频率转换法的工作过程是:当模拟电压V/I加到V/F的输入端,便产生频率F与Vi成正比的脉冲,在一定的时间内对该脉冲信号计数,时间到,统计到计数器的计数值正比于输入电压Vi,从而完成A/D转换。
5
1.2 ADC性能参数
目前的实时信号处理机要求ADC尽量靠近视频、中频甚至射频,以获取尽可能多的目标信息。因而,ADC的性能好坏直接影响整个系统指标的高低和性能好坏,从而使得ADC的性能测试变得十分重要,表征ADC性能的参数,由于尚无统一的标准,各主要器件生产厂家在其产品参数特性表中给出的也不完全一致。一般来说,可以分为静态特性和动态特性参数。 1.2.1 ADC静态特性
ADC的静态特性是指其与时间特性无关的特性,主要包括以下几类: 1) 分辨率
ADC的分辨率定位为二进制末位变化1所需的最小输入电压与参考电压的比值,即ADC能够分辨的最小的模拟量的变化。 2) 量化误差
量化电平定义为满量程电压(或满度信号值)UFSR与2的N次幂的比值,其中N位被数字化的数字信号的二进制位数。量化电平一般用Q表示。 3) 全输入范围和动态范围
全输入范围是指允许输入模拟信号的最大值与最小值之差;动态范围是指全输入范围与ADC最小可分辨的量值之比。 4) 偏置误差和增益误差
ADC的偏置误差定义为使最低位被置成“1”状态时ADC的输入电压与理论上使最低位被置成“1”状态时的输入电压之差。当偏置误差高速为零之后,输出为全1时对应的实际输入电压与理想输入电压之差。
6
1.2.2 ADC动态特性
高速ADC的动态特性是指输入为交变简谐信号时的性能技术指标,它是与ADC的操作速度有关的特性。其主要技术指标如下: 1) 转换时间、采集时间
转换时间是指从信号开始转换到可获得完整的信号输出所用的时间,它是高速ADC的一项重要指标。
采集时间是指采样保持电路在采样模式下能够保证其在随之到来的保持模式输出在采样保持转换时,相对该时刻存在的输入电平之间的误差将会在一定的误差范围内所需的时间。 2) 频率响应
它是冲击响应的傅立叶变换,其最佳表达方式是幅频与相频曲线,从系统辨识的角度看这是在频域对ADC动态线性特性的非参数模型描述。 3) 动态积分非线性误差和动态微分非线性误差
动态积分非线性误差(INL)定义为在动态情况下(一般输入信号为正弦信号),ADC实际转换特性曲线之间的最大偏差。每个数码的偏差都是由那个数码的中心值来度量的。
动态微分非线性误差(DNL)定义为在动态情况下(一般输入信号为正弦信号),ADC实际转换特性的码宽(1LSB)与理想代码宽度之间的最大偏差,单位为LSB。为了保证ADC不失码,通常规定在25oC时最大DNL为 1/2LSB。 4) 信噪比、信噪失真比和有效位数
7
信噪比(SNR)是信号电平的有效值与各种噪声(包括量化噪声、热噪声、白噪声等)有效值之比的分贝数。其中信号是指基波分量的有效值,噪声指奈奎斯特频率以下的全部非基波分量的有效值(除谐波分量和直流分量外)。 5) 小信号带宽和全功率带宽
ADC的模拟带宽是指输入扫描频率基波在ADC输出端用FFT分析得到的基波频谱下降到3dB处的带宽(不考虑谐波失真和噪声影响)。根据输入信号幅值不同,模拟带宽又可以分为小信号带宽(SSBW,一般指1/10满量程)和全功率带宽(FPBW,指满量程)。 1.2.3 ADC性能测试
ADC测试方法主要有两种:模拟方法和数字方法。前者是将A/D采集的数字信号经D/A转换位模拟信号再用传统的测试方法对其进行测试,优点是易于理解,缺点是许多A/D采集卡本身不带D/A,即或有,D/A的性能也将影响A/D指标的测试;
1.3 常用ADC芯片概述
A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。
8
第二章 8OC51单片机引脚
图2.1 80C51引脚
总线型DIP40引脚封装 电源引脚(2个) VCC:接+5V电源。 GND:接地端。 外接晶体引脚(2个)
XTAL1:外接晶振输入端(采用外部振荡器时,此引脚接地)。
XTAL2:外接晶振输入端(采用外部振荡器时,此引脚作为外部振荡信号输入端)。
并行输入/输出引脚(32个) P0.0~P0.7:通用I/O引脚。 P1.0~P1.7:通用I/O引脚。
P2.0~P2.7:通用I/O引脚或数据低8位地址总线复用引脚。
P3.0~P3.7:通用I/O引脚或第二功能引脚(RXD、TXD、INT0、INT1、T0、T1、WR 、 RD)。
9
控制引脚(4个)
RST/VPD:复位信号输入引脚/备用电源输入引脚。
ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚。
EA/VPP:内、外存储器选择引脚/片内EPROM(或Flatiron)编程电压输入引脚。
PSEN:片外程序存储器读选通信号输出引脚。
10
第三章 ADC0809
3.1 ADC0809引脚功能
ADC0809的引脚如图所示,下面对引脚功能做简要说明:
图3.1 ADC0809引脚
IN0~IN7:8个模拟量的输入端。 D0~D7:8位数字量输出端。
START:启动A/D转换,加正脉冲后A/D转换开始。
EOC:转换结束信号。转换开始时,EOC信号变低电平;转换结束时,EOC信号返回高电平。该信号可以作为CPU查询A/D转换是否完成的信号,也可以作为向CPU发出中断申请的信号。
OE:输出允许信号,输入高电平有效。OE端的电平由低变高时,转换结果被送到数据线上。此信号有效时,CPU可以从ADC0809中读取数据,同时也可以作为ADC0809的片选信号。
CLK:实时时钟,频率范围为10KHZ~1280KHZ,典型值为0KHZ。 ALE:通道地址锁存允许信号,输入高电平有效。在ALE=1时,锁存ADDA~ADDC,选中模拟量输入。
ADDC~ADDC:通道地址选择输入,其排列顺序从低到高依次为ADDA 、ADDB、 ADDC。该地址与8个模拟量输入,通道的对应关系如表1所示:
11
VREF+、VREF-正负参考电压。一般情况下,VREF+接+5V,VREF-接地。此时的转换关系如表2所示:
VCC\\GND:工作电源和接地
表1 ADC0809的输入输出关系
输入模拟电压 0 ... 2.5 输出数字量 0000 0000B ... 1000 0000B 输入模拟量 ... 5 输出数字量 ... 1111 表2 地址与模拟量通道之间的对应关系
ADDC 0 0 0 0 1 1 1 1 ADDB 0 0 1 1 0 0 1 1 ADDA 0 1 0 1 0 1 0 1 选中通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 12
3.2 ADC0809内部结构
START CLK 模拟量输入IN0`IN7 8路模拟量选择开关 控制与时序 EOC 转换结束 A 逐次逼近寄存器SAR 电压比较器 树状开关 ADDA ADDB ADDC地址 选择 地址锁存 与译码 8位A/D转换器 三态输出锁存缓冲器 数字量输出D0~D7 内部 电阻网络 地址锁存ALE
Vcc GND +
-
OE输出允许 图3.2 ADC0809内部结构
ADC0809的内部结构如图所示,它包含以下几部分: (1)8路模拟量选择开关
根据地址锁存与译码装置所提供的地址,从8个输入的0V~5V模拟量中选择一个输出。
(2)8位A/D转换器
能对所选择的模拟量进行A/D转换。 (3)3位地址码的锁存与译码装置
对所输入的3位地址码进行锁存和译码,并将地址选择结果送给8路模拟量选择开关。
(4)三态输出的锁存缓冲器
是TTL结构,负责输出转换的最终结果。此结果可直接连接到单片机的数据总线上。
13
3.3ADC0809与80C51的接口
图3.3 80C51与ADC0809的接口图
ADC0809与80C51的接口满足ADC0809转换时序的要求,电路如图3.3所示:
(1) 地址线与数据线的连接
ADC0809内部输出电路有三态缓冲器,所以8位输出数据线可以直接和80C51的P0口相连。
它的通道地址选择信号ADDA~ADDC均经过74LS373锁存,与80C51的P0口中的任意3根I/O口线连接(图中与P0.0、P0.1、P0.2相连)。
(2) 时钟信号的连接
ADC0809必须外接时钟。该电路中借用80C51的ALE输出。如果80C51的晶振频率太高,则需要对ALE所输出的脉冲进行分频处理。例如,晶振频率采用12MHz时,ALE的频率为2MHz,经过4分频后为500KHz,才能与ADC0809的CLK时钟端相连。
(3) 控制信号的连接
由于ADC0809的ALE和START均为正脉冲,而且基本同步,所以可以由80C51的P2.0和WR“或非”而成。同理,OE信号也可以由80C51的P2.0和
14
RD“或非”而成。EOC信号经“非”门与80C51的INTI相连,可申请中断。
3.4 ADC0809的应用指导
3.4.1 ADC0809应用说明
(1)ADC0809内部带有输出锁存器,可以与ATS51单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
3.4.2 ADC0809转换结束的判断方法
在ADC0809编写程序时,首要问题是如何判断一次A/D转换何时结束,在此基础上才能正确读取转换结果。常用的判断一次A/D转换结束时间的方法有三种。
(1)软件延时法
软件延时法是指用软件延时等待一次A/D转换结束。延时时间取决于计算和调试而获得的ADC完成一次转换所需要的时间。
(2)中断法
中断法利用EOC作为向80C51申请中断信号。在主程序中启动A/D转换,在继续执行主程序。在中断服务程序中读取转换结果。
(3)查询法
查询法将EOC接至80C51的某端口I/O口线。启动A/D转换后,利用查询该I/O口线引脚电平是否为0的方法读取转换结果。
15
3.4.3 ADC0809编程方法
应用ADC0809进行程序设计时,一般要包含以下基本步骤: (1)初始化
设置ADC0809的IN0~IN7通道地址,设置存放结果的首单元地址和通道数。 (2)启动ADC0809
先送通道地址到ADDA~ADDC,由ALE锁存通道号地址,再让START有效启动A/D转换,
即执行一条“MOVX @DPTR,A”指令产生WR信号,使ALE、START有效,锁存通道号并启动A/D转换。 (3)判断A/D转换是否结束 (4)读取转换结果
A/D转换完成后,EOC端会发出一个正脉冲,接着执行“MOVX A,@DPTR”指令产生RD信号,使OE端有效,打开锁存器三态门,8位数据就读入单片机中。
16
第四章 硬件设计分析
4.1 电源设计
本次设计中利用桥式整流和电容滤波以及7805集成稳压来输出+5V电压,以满足80C51,ADC0809,74LS373等器件的工作需求,原理如下:
图4.1 电源原理
4.2 关于74LS02,74LS04
图4.2 (a) 74LS02引脚 (b) 74LS04引脚
四-2输入或非门74LS02和六反相器74LS04均是基本的集成门电路,输出幅度大,带负载能力强,抗干扰能力强,其工作电压为3~18V。
17
4.3 74LS373概述
4.3.1 引脚图
图4.3 74LS373引脚
4.3.2工作原理
(1)1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q1)、5(Q2)、6(Q3)、9(Q4)、12(Q5)、15(Q6)、16(Q7)、19(Q8)全部呈现高阻状态(或者叫浮空状态)。
(2)当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q1)、5(Q2)、6(Q3)、9(Q4)、12(Q5)、15(Q6)、16(Q7)、19(Q8)立即呈现输入脚3、4、7、8、13、14、17、18的状态.
锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。 当三态门使能信号OE为低电平时,三态门导通,允许Q1~Q8输出,OE为高电平时,输出悬空。
(3)74LS373真值表 G 0 1 X 0 0 1 输出Q 保持原输入 输出=输入 高阻状态 18
0——低电平; 1——高电平; X——不定态;
Q0——建立稳态前Q的电平;
G——数据锁存控制端,与80C51ALE连高电平,畅通无阻低电平,关门锁存。OE——使能端,接地。
当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。
(4) 74ls373在单片机系统中的应用
当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q1~Q8 状态与输入端D1~8状态相同;当C发生负的跳变时,输入端D1~D8 数据锁入Q1~Q8。51单片机的ALE信号可以直接与74LS373的C连接。在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用,其连接方法如上图所示。其中输入端D1~D8接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。
4.4简易数字电压表的硬件设计
用一片ADC0809和必要的外围器件与80C51进行接口连接,要求对IN0所输入的模拟电压进行识别,将其转换成相应的二进制数并以发光二极管的形式显示。原理图见附录。
19
结 论
通过这次比较完整的设计,使我们摆脱了单纯的理论知识学习状态,达到了理论与实践的结合锻炼了我的综合运用所学的专业基础知识,解决实际设计问题的能力,同时,也提高了我们查阅文献资料、设计手册、设计规范以及电脑制图等专业能力水平,而且通过整体的掌握对布局的取舍以及对细节的斟酌处理,都使我们能力得到了锻炼、经验得到了丰富,抗压能力以及耐力在不同程度上得到了提高,这是我们都想看到的也是我们进行毕业设计的目的所在。虽然这次毕业设计内容繁多、过程繁琐但我们收获很多,在这次设计过程中我们不仅对A/D转换芯片ADC0809有了进一步熟悉,随着设计的不断深入对它的工作原理、启动设置、转换结束判断及输出等都基本掌握,在和老师的沟通交流的过程中我们对设计有了新的认识,并且对实物的连接与布局有了新的看法,对我们的专业有了进一步的认识,希望在以后的实验中吸取更多地经验学会更多的实践知识。
20
参考文献
张友德:单片微型机原理、应用和实验、电子工业出版社。 吴经国:单片机应用技术,中国电力出版社。
李群芳:单片机微型计算机与接口技术,电工业出版社。 王吉鹏等:微机原理与接口技术,高等教育出版社。 张晔等:单片机应用技术,高等教育出版社。
李建忠:单片机原理及应用.西安:西安电子科技大学出版社。2004年 谢自美.电子线路设计·实验·测试(第二版).武汉:华中理工出版社,2000
21
. 软件设计程序 ORG 0000H LJMP START ORG 0013H LJMP INT_1 ORG 0100H START: MOV R7, #00H MOV DPTR, #0FEF8H SETB 1T1 SETB EA SETB EX1 A_D: MOV R0, #00H MOV A, R0 MOVX @DPTR, A CJNE R7, #00H, $ MOV A, B MOV P1, A MOV R7, #0FFH SJMP A_D INT_1: MOVX A,@DPTR MOV B, A MOV R7, #00H RET1
END
22
2..硬件原理
23
致 谢
经过为期两个月的设计,从查阅资料到设计草案的确定,百忙之中张老师在各个环节给予了我们悉心教导,使我得以最终完成毕业设计。
在论文的设计过程中,由于我们知识匮乏,经验不足,出现了很多问题,但张老师仍很认真的对我们进行细心的指导帮助我们改正错误,在学习中,张老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及诲人不倦的师者风范深深的感染和激励着我,是我在以后的生活和学习过程中不断学习的楷模,在此我衷心的感谢张老师,同时也要感谢我的合作伙伴。最后我要向在百忙之中抽出时间对我的的论文进行审阅,评议和参与我的论文答辩的各位老师表示感谢
内部资料 仅供参考 内部资料 仅供参考
24
25
因篇幅问题不能全部显示,请点此查看更多更全内容