51单片机简单数字电压表

单片机硬件实习任务书

通信工程教研室指导教师:_

基于单片机的简易数字电压表的设计

目录

1 引言 (1)

2 设计总体方案 (2)

2.1设计要求 (2)

2.2 设计思路 (2)

2.3 设计方案 (2)

3 硬件电路设计 (3)

3.1 A/D转换模块 (3)

3.2 单片机系统 (6)

3.3 复位电路和时钟电路 (8)

3.4 LED显示系统设计 (8)

3.5 总体电路设计 (11)

4 程序设计 (13)

4.1 程序设计总方案 (13)

4.2 系统子程序设计 (13)

5 仿真 (15)

5.1 软件调试 (15)

5.2 显示结果及误差分析 (17)

结论 (20)

参考文献 (21)

附录程序代码和实物图 (24)

心得体会 ......................................................... 错误!未定义书签。

1引言

在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[11]。

2设计总体方案

2.1设计要求

⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。

⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。

⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。

⑷尽量使用较少的元器件。

2.2设计思路

⑴根据设计要求,选择AT89C51单片机为核心控制器件。

⑵A/D转换采用ADC0809实现,与单片机的接口为P1口和P2口的高四位引脚。

⑶电压显示采用4位一体的LED数码管。

⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。

2.3设计方案

硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED 显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。

图1 数字电压表系统硬件设计框图

3 硬件电路设计

3.1A/D转换模块

现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式A/D 转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用[1]。

3.1.1逐次逼近型A/D转换器原理

逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。

转换过程如下:

开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量[5]。其原理框图如图2所示:

图2 逐次逼近式A/D转换器原理图

3.1.2ADC0809主要特性

ADC0809是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0809设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域[5]。

ADC0809主要特性:8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128μs;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- +5V,无需外部零点和满度调整;低功耗,约15mW[6]。

3.1.3ADC0809的外部引脚特征

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

图3 ADC0809引脚图

下面说明各个引脚功能:

IN0-IN7(8条):8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制(4条):

ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。

ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示:

表1 ADC0809通道选择表

送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。

EOC: EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。

D1-D8:数字量输出端,D1为高位。

OE:OE为输出允许端,高电平能使D1-D8引脚上输出转换后的数字量。

REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。

Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起.

CLK:时钟输入端。

3.1.4 ADC0809的内部结构及工作流程

ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图4所示。

图4 ADC0809的内部结构

其中:

(1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。

(2)地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。

(3)比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。

(4)三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。

ADC0809的工作流程为:

(1)输入3位地址,并使A LE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。

(2)送START一高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D 转换,并使EOC信号为低电平。

(3)当转换结束时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换结束。

(4)当CPU执行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。

3.2单片机系统

3.2.1 AT89C51性能

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51功能性能:与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式[6]。

3.2.2 AT89C51各引脚功能

AT89C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图5所示[7]。

图5 A T89C51的引脚图

AT89C51芯片的各引脚功能为:

P0口:这组引脚共有8条,P0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先

传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。

P1口:这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。

P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。

P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:

Vcc

ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。

/EA:片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,

若/EA=1,则允许使用片内ROM, 若/EA=0,则只使用片外ROM。

/PSEN:片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN 线上产生一个负脉冲,作为片外ROM芯片的读选通信号。

RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。

XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。

3.3 复位电路和时钟电路

3.3.1 复位电路设计

单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位[1]。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作[1]。

图6 复位电路

3.3.2 时钟电路设计

单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路[1]。

本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图7所示。

图7 时钟电路

电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了33pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。

3.4 LED显示系统设计

3.4.1 LED基本结构

LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片

机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件[6]。在单片机中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED引脚排列如下图8所示:

图8 LED引脚排列

3.4.2 LED显示器的选择

在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。

4-LED显示器引脚如图9所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。

图9 4位LED引脚

对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。

3.4.3 LED译码方式

译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。

硬件译码是指利用专门的硬件电路来实现显示字符码的转换。

软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序[3]。

本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表3.3所示。

3.4.4 LED显示器与单片机接口设计

由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作[7]。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。

为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP 小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图10所示。

图10 LED与单片机接口间的设计

3.5 总体电路设计

经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图11所示。

图11 简易数字电压表电路图

此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6

发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来[3]。

简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。

4 程序设计

4.1 程序设计总方案

根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图12所示。

图12 数字式直流电压表主程序框图

4.2 系统子程序设计

4.2.1 初始化程序

所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等[9]。

4.2.2 A/D转换子程序

A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图13所示。

图13 A/D转换流程图

4.2.3 显示子程序

显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms[10]。

在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11μs定时,通过软件延时程序来实现5ms的延时。

5 仿真

5.1 软件调试

软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。Proteus 软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。Proteus支持的微处理芯片包括8051系列、A VR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与u Visions3 IDE工具软件结合进行编程仿真调试[8]。

本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序写入单片机。

5.2显示结果及误差分析

5.2.1 显示结果

1.当IN0口输入电压值为0.05V时,显示结果如图14所示,测量误差为0.1V。

基于51单片机的直流数字电压表设计

基于51单片机的直流数字电压表设计 概述: 直流数字电压表是一种用于测量直流电压的仪器,它通过将电压信号转换为数字形式,并显示在数码管上,实现对电压的准确测量。本文将介绍基于51单片机的直流数字电压表的设计原理和实现方法。 一、设计原理: 1.1 电压信号采集: 直流数字电压表的第一步是采集待测电压信号。常用的采集方法是使用一个分压电路将待测电压降低到合适的范围,再通过运算放大器将其放大到合适的电平。51单片机的模拟输入引脚可以接受0-5V的模拟电压信号,因此可以直接将放大后的信号接入单片机进行采集。 1.2 模数转换: 采集到的模拟电压信号需要经过模数转换(A/D转换)才能被单片机读取和处理。51单片机内部集成了一个10位的A/D转换器,可以将输入的模拟电压转换为相应的数字量。通过设置不同的参考电压和采样精度,可以实现对不同电压范围的准确测量。 1.3 数码管显示: 经过模数转换后,得到的数字量需要通过数码管进行显示。51单片

机的IO口可以通过控制段选和位选的方式,将数字量转换为相应的数码管显示。可以根据需要选择常用的七段数码管或者液晶显示屏进行显示。 二、设计实现: 2.1 硬件设计: 硬件设计包括电路原理图设计和PCB布局设计两个部分。电路原理图设计主要包括电压采集电路、运算放大器、A/D转换器和数码管驱动电路等部分。PCB布局设计需要考虑信号的走线和电源的分布,以保证电压信号的准确采集和显示。在设计过程中,需要注意地线和信号线的分离,以减少干扰。 2.2 软件设计: 软件设计主要包括单片机的程序编写和调试。首先需要编写采集模拟电压信号和进行A/D转换的程序,将转换后的数字量存储在单片机的内部存储器中。然后编写数码管驱动程序,将存储的数字量转换为相应的数码管显示。最后,通过按键或者旋转编码器等方式,可以实现对量程和精度的选择。 三、设计优化: 3.1 精度优化: 为了提高直流数字电压表的测量精度,可以采用更高精度的A/D转换器,增加参考电压的精度,或者通过校准电路对测量误差进行校

基于51单片机的简易数字电压表的设计原理1

题目:基于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)

基于51单片机的简易数字电压表的设计单片机

基于51单片机的简易数字电压表的设计单片机

————————————————————————————————作者:————————————————————————————————日期: 2

个人收集整理勿做商业用途 甘肃畜牧工程职业技术学院 毕业设计 题目:基于51单片机的简易数字电压表的设计 系部:电子信息工程系 专业:信息工程技术 班级: 学生姓名: 学号: 指导老师: 日期:

目录 毕业设计任务书 (1) 开题报告 (3) 摘要 (6) 关键词 (7) 引言 (7) 第一章A/D转换器 (9) 1.1A/D转换原理 (9) 1.2 ADC性能参数 (11) 1.2.1 转换精度 (11) 1.2.2。转换时间......................................... 错误!未定义书签。 1.3 常用ADC芯片概述 (13) 第二章8OC51单片机引脚 (14) 第三章ADC0809 (16) 3。1 ADC0809引脚功能 (16) 3。2 ADC0809内部结构 (18) 3.3ADC0809与80C51的接口 (19) 3.4 ADC0809的应用指导 (20) 3.4。1 ADC0809应用说明 (20) 3.4.2 ADC0809转换结束的判断方法 (20) 3。4.3 ADC0809编程方法 (21) 第四章硬件设计分析 (22) 4。1电源设计 (22) 4.2 关于74LS02,74LS04 (22) 4。3 74LS373概述 (23) 4。3。1 引脚图 (23) 4。3。2工作原理 (23) 4.4简易数字电压表的硬件设计 (24) 结论 (25) 参考文献 (25) 附录.......................................................................................... 错误!未定义书签。致谢 (29)

基于51单片机的ADC0832数字电压表(仿真+程序)

仿真图: /*********************************包含头文件********************************/ #include #include /*********************************端口定义**********************************/ sbit CS = P3^5; sbit Clk = P3^3; sbit DATI = P3^4; sbit DATO = P3^4; sbit P20=P2^0 ; /*******************************定义全局变量********************************/ unsigned char dat = 0x00; //AD值 unsigned char count = 0x00; //定时器计数

unsigned char CH; //通道变量 unsigned char dis[] = {0x00, 0x00, 0x00}; //显示数值 /*******************************共阳LED段码表*******************************/ unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; char code tablewe[]={ 0xfd,0xfb,0xf7,0xef,0xdf,0xfe }; /**************************************************************************** 函数功能:AD转换子程序 入口参数:CH 出口参数:dat ****************************************************************************/ unsigned char adc0832(unsigned char CH) { unsigned char i,test,adval; adval = 0x00; test = 0x00; Clk = 0; //初始化 DATI = 1; _nop_(); CS = 0; _nop_(); Clk = 1; _nop_(); if ( CH == 0x00 ) //通道选择

基于MCS51单片机数字电压表设计.doc

1 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。 2 设计总体方案 2.1设计要求 ⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。 ⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。 ⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 ⑷尽量使用较少的元器件。 2.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。 ⑶电压显示采用4位一体的LED数码管。 ⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。

51单片机简单数字电压表

单片机硬件实习任务书

通信工程教研室指导教师:_

基于单片机的简易数字电压表的设计 目录 1 引言 (1) 2 设计总体方案 (2) 2.1设计要求 (2) 2.2 设计思路 (2) 2.3 设计方案 (2) 3 硬件电路设计 (3) 3.1 A/D转换模块 (3) 3.2 单片机系统 (6) 3.3 复位电路和时钟电路 (8) 3.4 LED显示系统设计 (8) 3.5 总体电路设计 (11) 4 程序设计 (13) 4.1 程序设计总方案 (13) 4.2 系统子程序设计 (13) 5 仿真 (15) 5.1 软件调试 (15) 5.2 显示结果及误差分析 (17) 结论 (20)

参考文献 (21) 附录程序代码和实物图 (24) 心得体会 ......................................................... 错误!未定义书签。

1引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[11]。

基于51单片机的数字电压表的设计

目录 目录 1 课程设计 (1) 1.1课程设计目的1.1.1熟悉51单片机功能 (1) 1.1.2提高编程,排错,仪器设备知识 (1) 1.1.3熟悉元件工作原理 (1) 1.2 设计要求 (1) 1.2.1显示 (1) 1.2.2编程 (1) 1.2.3仿真 (1) 2 主要元件介绍 (1) 2.1模数转换芯片ADC0808 (1) 2.1.1简介 (2) 2.1.2引脚功能 (2) 2.2控制芯片AT89C51 (3) 2.2.1概述 (3) 2.2.2管脚说明 (4) 2.3LED数码管 (6) 3 电压表原理系统硬件电路设计与实现 (6) 3.1系统设计原理说明 (6) 3.2系统功能阐述 (7) 4 课程设计心得 (7) 参考文献: (8) 附录 (9) 附录1整体程序 (9) 附录2系统电路图 (12)

1 课程设计 1.1 课程设计目的 1.1.1 熟悉51单片机功能 熟悉51单片机的功能,积累一定的单片机开发经验。 1.1.2 提高编程,排错,仪器设备知识 锻炼和提高在软件编程、排错调试、相关仪器设备的使用技能等方面的知识。 1.1.3 熟悉元件工作原理 熟悉数字电压表和A/D转换器,液晶显示屏的工作原理。 1.1.4加深知识 进一步加深对电子电路、电子元器件、印制电路板等方面知识的认识,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。 1.2 设计要求 1.2.1显示 可以测量0-5V范围内的输入电压值1.2.2将采集到的电压值显示在4位数码管上。 1.2.2编程 采用汇编或C语言编程; 1.2.3仿真 采用Proteus、KeilC等软件实现系统的仿真调试 2 主要元件介绍 2.1 模数转换芯片ADC0808

基于51单片机数字电压表

基于51单片机的数字电压表 作品简介 本制作是基于51单片机的简易数字电压表。 1、制作背景 对于学电子的同学,电压表是必不可少的仪表。但是市场上的万用表的价格都不低,而且市场上的万用表量程过宽,大量程对于学电子的同学并不经常用到。而这款数字电压表,既能满足大学生一些基本项目中的要求,而且成本比较低廉。 2、实现的功能 测量5V以内的正电压(精度为0.02V)。 3、工作原理 通过8位A/D转换器ADC0804采样模拟电压,经过芯片内部转换,将转换出来的8位数字信号送至单片机进行处理,经过运算后输出。 调试与制作 1、系统整体结构 本系统主要包括数据采集电路,单片机最小数据处理系统,和数码管显示部分等。系统的电路图如下: 2、硬件设计 本电路采用模块化设计,主要由A/D转换模块、控制模块和LED显示模块组成(如图2.1)。

系统总体硬件框图 3、 软件设计 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU ,其汇编语言可能有所差异,所以不易移植。 C 语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。而C 语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C 语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C 语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C 语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C 语言进行程序设计已成为软件开发的一个主流。所以,本软件设计采用C 语言编写。 4、 安装与调试 在设计这款电压表时,我们先做了Proteus 仿真,其中就遇到一些问题。由于仿真都是基于一些比较理想化的元器件的仿真。我们按照实际电路来设计仿真电路,结果发现有的元器件没找到,然后找了类似的代替。而我们知道,单片机的拉电流能力是很弱的,只有微安的数量级,而数码管要显示比较明显的话,需要几十毫安,所以需要放大电流,我们采用的是NPN 型的8050三极管放大(我们采用的是共阴数码管),把电流放大到几十毫安。而在Proteus 仿真时,发现,不需要三极管放大就可以点亮数码管。而刚开始,我们按照实际电路图的时候却发现我们 控制不了四个数码管。由于采用三极管放大接地,所有的数码管均是全部点亮,外 部 电 压

51单片机的数字电压表设计

51单片机的数字电压表设计 随着科技的快速发展,单片机在许多领域得到了广泛应用。51单片机作为一种常见的单片机,具有功能强大、易于编程等优点,因此在数字电压表设计中具有独特优势。本文将介绍如何利用51单片机设计数字电压表。 数字电压表的电源电路通常采用直流电源,可以通过变压器将交流电转换为直流电,再经过滤波和稳压电路,将电压稳定在单片机所需的电压范围内。 数字电压表的信号采集电路可以采用电阻分压的方式,将待测电压分压后送入单片机进行测量。为了提高测量精度,可以采用差分放大器对信号进行放大和差分输出。 51单片机内置ADC模块,可以将模拟信号转换为数字信号。在数字电压表中,可以使用ADC模块对放大后的模拟信号进行转换,得到数字信号后进行处理和显示。 数字电压表的显示电路可以采用液晶显示屏或LED数码管,将测量结果以数字形式显示出来。液晶显示屏具有显示清晰、亮度高、视角广等优点,但价格较高;LED数码管价格便宜、亮度高、寿命长,但显

示内容有限。 数字电压表的主程序主要完成电压的采集、A/D转换和显示等功能。主程序首先进行系统初始化,包括设置ADC模块参数、初始化显示等;然后不断循环采集电压信号,将采集到的模拟信号转换为数字信号后进行处理和显示。 51单片机的ADC模块可以通过特殊功能寄存器进行配置和控制。在数字电压表的软件设计中,需要编写ADC模块驱动程序,以控制ADC 模块完成模拟信号到数字信号的转换。具体实现可以参考51单片机的ADC模块寄存器定义和操作指南。 数字电压表的显示程序需要根据显示硬件选择合适的显示库或驱动 程序。在编写显示程序时,需要将采集到的数字信号转换为合适的数值,并将其显示在显示屏上。具体实现可以参考所选显示库或驱动程序的文档说明。 精度问题:数字电压表的精度直接影响到测量结果的质量。为了提高测量精度,可以采用高精度的ADC模块和合适的信号处理技术。同时,需要注意信号采集电路中电阻的精度和稳定性。 抗干扰问题:在实际应用中,往往存在各种干扰因素,如电源波动、

基于51单片机的电压表的设计

引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[3]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[4]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[5]。

基于51单片机的简易数字电压表的设计

基于stc89c52单片机的数字电压表 班级:智能电网 111 学生:喻卫 湖南铁道职业技术学院电气工程系 目录 1控制要求 2设计目的意义 3 系统原理框图 4 89C52单片机 5 ADC0809 的工作原理 6 系统原理图和PCB图 7程序流程图 8 C语言程序

9数字电压表工作原理 10设计体会 1控制要求 利用STC89C52单片机和ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。然后由单片机给数码管数字信号,控制其发光,从而显示数字。2设计目的意义 1.通过亲身的设计使用电路,将所用的理论知识使用到实践中,增强实践动手能力,进而促进理论知识的强化。 2.通过数字电压表的设计系统掌握51单片机的使用。掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入STC89C52单片机并进行调试等。 3 系统原理框图

4 89C52引脚资料 89C51引脚图 总线型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 )。 STC89C52 P1 P0 P3 P2 AD0809 D0~D7 IN0~IN7 VREF+ VREF- CLK OE ST 、ALE 四位数码管 位选 段选 控制线 数据 待测电压 系统原理框图

毕业设计(论文)-基于51单片机数字电压表的设计

基于51单片机数字电压表的设计 目录 一、系统总体方案选择与说明 (1) 1.1设计要求 (1) 1.2 设计思路 (1) 1.3 设计方案 (1) 二、硬件电路设计 (2) 2.1 AT89C51的功能介绍 (2) 2.1.1简单概述 (2) 2.1.2主要功能特性 (3) 2.1.3 AT89C51的引脚介绍 (3) 2.2 ADC0808的引脚及功能介绍 (5) 2.2.1芯片概述 (5) ADC0808芯片模型 (5) 2.2.2 引脚简介 (5) 2.2.3 ADC0808的转换原理 (6) 2.2.4 ADC0808的内部结构 (6) 2.2.5 ADC0808电路接线图 (6) 2.3 显示电路 (7) 2.3.1 LM016L的结构及功能 (7) 2.3.2 LM016L的引脚功能介绍 (7) 2.3.3 LM016L的电路接线图 (13) 2.4 复位电路设计 (13) 2.5振荡电路设计 (14) 三、软件设计与说明 (10) 四、系统仿真与调试 (12) 五、总结 (13) 参考文献 (14) 附录 (15) 附录A 系统原理图 (15) 附录B 程序清单 (16)

一、系统总体方案选择与说明 1.1设计要求 (1)使用51单片机,AD0809,数码管等元件组成 (2)能测量0-5V的直流电压 (3)能连续、稳定显示所测电压 (4)测量误差<0.02V) 1.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现。 ⑶电压显示采用LCD显示。 1.3 设计方案 数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。 数字电压表系统硬件设计框图

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

毕业设计(论文)-基于51单片机数字电压表的设计

基于51单片机数字电压表的设计 目录 一、系统总体方案选择与说明 (1) 1.1设计要求 (1) 1.2 设计思路 (1) 1.3 设计方案 (1) 二、硬件电路设计 (2) 2.1 AT89C51的功能介绍 (2) 2.1.1简单概述 (2) 2.1.2主要功能特性 (3) 2.1.3 AT89C51的引脚介绍 (3) 2.2 ADC0808的引脚及功能介绍 (5) 2.2.1芯片概述 (5) ADC0808芯片模型 (5) 2.2.2 引脚简介 (5) 2.2.3 ADC0808的转换原理 (6) 2.2.4 ADC0808的内部结构 (6) 2.2.5 ADC0808电路接线图 (6) 2.3 显示电路 (7) 2.3.1 LM016L的结构及功能 (7) 2.3.2 LM016L的引脚功能介绍 (7) 2.3.3 LM016L的电路接线图 (10) 2.4 复位电路设计 (10) 2.5振荡电路设计 (11) 三、软件设计与说明 (10) 四、系统仿真与调试 (12) 五、总结 (13) 参考文献 (14) 附录 (15) 附录A 系统原理图 (15) 附录B 程序清单 (16)

一、系统总体方案选择与说明 1.1设计要求 (1)使用51单片机,AD0809,数码管等元件组成 (2)能测量0-5V的直流电压 (3)能连续、稳定显示所测电压 (4)测量误差<0.02V) 1.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现。 ⑶电压显示采用LCD显示。 1.3 设计方案 数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。 时钟复位 A/D转测量电 显示 AT89C5 1 P2

基于51单片机的数字电压表

摘要: 在介绍基于51单片机的数字电压表的结构和工作原理的基础上,讨论了ZLG7289与51单片机的接口技术,中断操纵,A/D转换技术,结果显示等。数字电压表测量大体思想是先将模拟量转变成直流电压,再经A/D转换器转换为数字量,用数码管显示测量结果。 AD7705具有两个全差分输入通道的ADC,16位无丢失代码,%非线性,能直接将传感器测量到的多路微小信号进行A/D转换。本文利用 AD7705进行A/D转换,利用ZLG7289对结果进行显示,ZLG7289利用功率电路能够方便地驱动1英尺以上的大型数码管,直接驱动8位共阴式数码管(1英寸以下)或64只独立的LED;能够治理多达64只按键,自动排除抖动;具有左移、右移、闪烁、消隐、断点亮等壮大功能。 关键词: 数字电压表; AD7705; 51单片机;A/D转换;ZLG7289

目录 第一章序论 2 第二章系统的硬件设计 3 单片机AT89C52 4 .1 AT89C52简介 4 2.1.2 结构图及外部引脚说明 4 .3 AT89C52的节能运行方式 5 .4 中断系统 6 .5 操纵器部件及振荡器8 .6 按时器/计数器8 AD7705 9 . 要紧特点9 .2 AD7705 引脚排列及功能9 2.2.3 时钟和振荡器电路10 .4 片内寄放器10 .5 SPI串行接口13 ZLG7289 14 2.3.1 ZLG7289概述14 2.3.2 结构图及引脚功能说明15 .3 SPI串行接口16 .4 操纵指令详解17 显示部份 .6 实际应用中要注意的一些问题21 第三章系统的软件设计22 系统流程图22 终止语 附录

基于51单片机的数字电压表的设计.doc

数字电压表的设计目录 绪论 (1) 第1章系统总体方案选择与说明 (1) 1.1 项目分析及其设计 (1) 1.1.1 通道转换方案设计 (1) 1.1.2 显示部分方案设计 (1) 第2章系统总体结构与系统功能 (2) 2.1 系统结构框图 (2) 2.2 系统功能 (2) 第3章硬件设计说明及计算方法 (2) 3.1 单片机的选择及时钟电路 (2) 3.2 驱动模块 (3) 3.3 LED显示电路设计与器件选择 (4) 3.4 A/D转换模块及转化电路设计 (6) 第4章软件设计与说明 (7) 4.1 数字电压表系统软件设计方案确定 (7) 4.2 数字电压表应用程序设计 (9) 第5章调试结果及其说明 (9) 5.1 调试结果及其说明 (9) 参考文献 (10) 附录A 系统原理图 (11) 附录B 系统源程序 (12)

绪论 本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D 转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。简易数字电压测量电路由A/D 转换、数据处理、显示控制等组成。 关键词: 单片机AT89C52 A/D转换ADC0808 数据处理 课程设计要求:利用八位A/D转换器实现分辨率位八位二进制数的电压表,测量结果用四位数码管显示。 第一章系统总体方案与选择 实现数字电压表的方案很多,目前广泛采用的时基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。 1.1 项目分析及其设计 方案设计此设计包含两个模块,通道转换和显示部分方案。 1.1.1通道转换方案设计 方案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。 方案二:利用手动开关实现通道转换。该方案可简化控制程序,消减系统开销。缩短反应时间,不足之处在于操作麻烦。 综上所述:方案二所需元件少、成本低且易于实现,则选此方案。 1.1.2显示部分方案设计 方案一:单片机的P0、P2口分别接74LS248和ULN2003A芯片来驱动四位数码管 方案二:直接用单片机的P1、P2口驱动数码管,此处把ADC0808的输出端接P1口,因为P1口能够驱动数码管。 综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。

基于51单片机的数字电压表设计

. I 1.1数字电压表介绍 数字电压表简称DVM,数字电压表根本原理是将输入的模拟电压信号转化为数字信号,再进展输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器根本构造是由采样保持,量化,编码等几局部组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各局部电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约本钱的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等缺乏之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.3 本次设计要求 本次设计的作品要求制作数字电压表的量程为0到10v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v,所以能够测量的电压围为-0.25v到5.25v之间,但是一般测量的直流电压围都在这之上,所以采用电阻分压网络,设计的电压测量围是0到25v之间,满足设计要求的最大量程5v的要求。同时设计的精度为小数点后三位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。 2单片机和AD相关知识 2.1 51单片机相关知识 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的开展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的根本功能部件的大规模集成电路,又称为MCU。51系列单片机包含以下几个部

51单片机数字电压表及显示学号后四位

学院单片机原理作业~~~~~~ 课程题目:单片机原理及应用 作业题目:数字电压表设计 专业班级: 学生姓名: 学号: 任课教师:

目录 数字电压表设计总体方案 (1) 数字电压表实验原理图 (1) A/D转换原理 (2) 动态显示接口电路分析 (2) 编程思路阐述 (3) 仿真运行效果图 (4) 显示实时电位器的输出电压 (4) 显示学号后四位数(2673) (5) 课程学习内容总结及教学建议 (6) 课程内容总结 (6) 课程学习教学建议 (7) 学习心得体会 (8) 自我评价(优秀) (9) 实验源程序 (10)

数字电压表设计总体方案数字电压表实验原理图

A/D转换原理 在A/D转换器中,因为输入的模拟信号在时间上是连续的,而输出的数字信号代码是离散的,所以A/D转换器在进行转换时,必须在一系列选定的瞬间(时间坐标轴上的一些规定点上)对输入的模拟信号采样,然后再把这些采样值转换为数字量。因此,一般的A/D转换过程是通过采样保持、量化和编码这三个步骤完成的,即首先对输入的模拟电压信号采样,采样结束后进入保持时间,在这段时间内将采样的电压量转化为数字量,并按一定的编码形式给出转换结果,然后开始下一次采样。图1-1为模拟量到数字量转换过程的框图。 图1-1 A/D转换过程 动态显示接口电路分析 动态显示主要就是利用人眼的视觉感来设计的,一般来说如果显示的频率过慢,则会有断断续续的显示;如果显示的频率加快,则人眼就分辨不出这种视觉残余! 动态显示过程采用循环导通或循环截止各位显示器的做法。当循环显示时间间隔较小(如10ms)时,由于人眼的暂留特性,就将看不出数码管的闪烁现象。动态显示接口的突出特点是占用资源少,但由于显示值需要CPU随时刷新,故其占用时机较多。

基于51单片机的数字电压表设计说明

1.1 数字电压表介绍 数字电压表简称DVM ,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D 转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD 转换是此次设计的核心元件。输入的模拟量经过AD 转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD 转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约成本的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.3 本次设计要求 本次设计的作品要求制作数字电压表的量程为0到10v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v,所以能够测量的电压围为-0.25v到5.25v之间,但是一般测量的直流电压围都在这之上,所以采用电阻分压网络,设计的电压测量围是0 到25v 之间,满足设计要求的最大量程5v 的要求。同时设计的精度为小数点后三位,满足要求的两位小数的精度,在不考虑AD 芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

2单片机和AD相关知识 2.1 51单片机相关知识 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是in tel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片集成了CPU、RAM、ROM、定时器/计数器和多功能I/O 口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机包含以下几个部件: 一个8位CPU; —个片振荡器及时钟电路; 4KB的ROM程序存储器; 一个128B的RAM数据存储器; 寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路; 32条可编程的I/O 口线; 两个16位定时/计数器; 一个可编程全双工串行口; 5个中断源、两个优先级嵌套中断结构。51系列单片机如下图: 图1 51单片机引脚图

相关文档
最新文档