数字电压表的设计Word文档下载推荐.docx
《数字电压表的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字电压表的设计Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
3.3接口电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥9
3.3.1时钟电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥10
3.3.2复位电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥11
3.4显示电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥12
3.5硬件电路的总体设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
第四章系统软件设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥14
第五章调试及仿真‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15
5.1系统软硬件调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15
5.2显示结果及误差分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥16
5.2.1显示结果‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥17
5.2.2误差分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥18
结语‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥19
参考文献‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20
附录‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
附录A电路原理图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
附录B源程序代码‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥22
附录C元件清单表‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥25
致谢‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥26
前言
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础[2]。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。
本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:
转换模块、数据处理模块及显示模块。
其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[11]。
第一章绪论
1.1数字电压表概述
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
数字电压表自从一九五二年问世以来,随着电子技术的飞跃发展,特别是目前,作为测量仪表、模拟指示仪表的数字化以及自动测量的系统,而得到了很大的发展。
数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。
以后,DVM的发展就着眼在高精度和低成本两个方面。
单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以用软件控制来实现,并能够实现智能化。
单片机的应用如今已经在工业、电子等方方面面展示出了它的优越性,利用单片机在设计电路逐渐成了趋势,它与外围的简单电路再加上优化程序就可以构建任意的产品,使得本设计成为现实。
随着单片机的日益发展,它必将在未来显示出更大的活力,为电子设计增加更多精彩。
1.2数字电压表原理
本设计采用AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的数字电压表。
该电路通过ADC0808芯片采样输入口Ui输入的0~5V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89C51芯片的P0口。
A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P3口传送给数码管显示出来;
同时它还通过其四位I/O口P1.0、P1.1、P1.2、P1.3产生位选信号,控制数码管的亮灭。
另外,AT89C51还控制着ADC0808的工作。
显示模块主要由四位7段数码管组成,显示测量到的电压值。
1.3系统原理框图
系统原理框图如1-1所示:
图1-1系统原理框图
第二章单片机与模块方案的选择
2.1单片机的选择
尽管目前世界上有不同型号的单片机不断问世,但是由美国Intel公司生产的MCS-51系列单片机易于学习、掌握,性能价格比高,所以在今后若干年内,根据我国的实际情况,MCS-51系列单片机仍是广大技术人员首选的机型。
目前上市较多的AT89系列产品,与51系列单片机产品完全兼容,各种性能较全,在设计中被较多的选用。
所以我们在设计系统时,考虑选用AT89系列中的AT89C51单片机。
如下图2-1所示:
图2-1AT89C51引脚图
AT89C51单片机是美国ATMEL公司生产的,采用COMS工艺,是一种低功耗、高性能的,与INTEL8051系列单片机完全兼容的8位微控制器。
AT89C51内部具有4K字节的Flash(闪速)存储器,可反复擦写,在设计程序时可反复修改原程序、编译、并烧写到单片机,适合单片机最小系统的开发与研制。
其管脚说
明如下:
ATMEL公司的AT89C51单片机是一种高效为控制器,采用40引脚双列直插封装形式。
因为受引脚数目的限制,所以不少引脚具有第二功能。
VCC:
供电电压
GND:
接地
P0口:
P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据\地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接受4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接受。
P2口:
P2口为一个内部上拉电阻的8位I/O口,P2口缓冲器可接受,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入,P2口在FLASH编程和校验时接受高8位地址和控制信号。
P3:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4TTL门电流。
当P3口写入1后,他们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流。
P3口也可作为AT89S51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输入口)
P3.2
(外部中断0)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位期间时,要保持RST脚两个高电平的时间。
ALE/PROG:
当访问外部存储器是,地址锁存允许端得输出电平用于锁存地址的地址字节。
在FLASH编程期间,次引脚用于输入编程脉冲。
:
外部程序存储器的选通信号端。
/VP:
当EA保持低电平时为外部存储器,当为高电平时为内部存储器。
XTAL1:
反向振荡放大器的输入及内部时钟电路工作的输入。
XTAL2:
反向振荡器的输出,如采用外部时钟源器件则不接。
2.2各模块方案的选择
根据设计要求,系统可分为电压采集模块、A/D转换模块、主控模块、显示模块。
(1)A/D转换模块:
方案一:
A/D转换器采用ICL7107型三位半显示的芯片,输入信号,流经取样电路取样后送到ICL7107型三位半A/D转换器,只需要很少的简单外围元件,就可组成数字电流表模块,直接驱动三位半LED显示器显示,最后输入电流在显示部分显示。
由于本人对此电路不熟悉,而且ICL7107做的LED数字表,最大的缺点就是数字乱跳不稳定,特别最后一位。
所以不采用此方案。
方案二:
采用ADC0808转换芯片,其中A/D转换器用于实现模拟量向数字量的转换,单电源供电。
它是具有8路模拟量输入、8位数字量输出功能的A/D转换器,转换时间为100μs,模拟输入电压范围为0V~+5V,不需零点和满刻度校准,功耗低,约15mW。
由于模拟转换电路的种类很多,通过对转换速度,精度和价格方面考虑,所以选择方案二采用ADC0808为本次设计的转换芯片。
(2)接口模块:
方案一:
使用数字电路实现,采用译码芯片CD4543作为接口芯片,这种方案能实现功能,但稳定性不高,结构复杂。
方案二:
采用AT89C51单片机作为系统的控制单元,通过A/D转换将被测值转换为数字量送入单片机中,再由单片机来送显。
此方案各类功能易于实现,成本低、功耗低,显示稳定.。
通过比较,我选择方案二。
第三章系统硬件电路设计
本系统采用AT89C51单片机作为控制核心,对8路8位模数转换芯片ADC0808采集到的模拟电压信号进行分析处理,实现A/D转换,通过数码管显示其数字电压值。
电压表的测量电路主要由三个模块组成:
3.1电源电路
电源部分电路主要是要求能提供稳定可靠的电压,使整个系统能正常的工作。
采用220V的工频交流电压,而单片机的工作电压是直流+5V,为此,先通过一个普通的变压器降低电压,再通过桥式整流,然后再通过7805芯片的进一步稳压,确保+5V电源的稳定、可靠。
而且7805集成稳压器是常用的固定输出+5V电压的集成稳压器。
它的内部含有限流保护、过热保护和过压保护电路,采用了噪声低、温度漂移小的基准电压源,工作稳定可靠。
1脚为输入端,2脚为接地端,3脚为输出端,使用十分方便,可以在任何有交流电压的地方使用,不需另带电池。
通过整流滤波以后输出直流电压,为了确保整个电路能正常工作,考虑到不接负载或电源电压有波动时电容能承受的耐压,必须加电容。
发光二极管D2点亮表示电源电路正常工作,其电源电路如图3-1所示:
图3-1电源电路
3.2A/D转换电路
A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。
随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需要。
如果按照工作原理划分,ADC主要有4种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器和计数比较式A/D转换器。
目前最常用的是双积分和逐次逼近式。
双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点,比如ICL71XX系列等,它们通常带有自动较零、七段码输出等功能。
与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示。
本设计中采用具有逐次逼近式A/D转换器的ADC0808芯片。
ADC0808是典型的8位8通道逐次逼近式A/D转换器。
它可以和微型计算机直接接口。
ADC0809转换器的系列芯片是ADC0808,可以相互替换。
ADC0808的内部结构包括8路模拟选通开关、通道地址锁存器与译码器、8位A/D转换器和三态输出锁存器。
多路开关接8路模拟量输入,可对8路0~5V的输入模拟电压信号分时进行转换,输出具有TTL三态锁存器,可直接连到单片机数据总线上。
多路模拟开关可选通8路模拟通道,允许8路模拟量分时输入,并共用一个A/D转换器进行转换。
地址锁存与译码电路完成对A、B、C三个地址位进行锁存与译码,如表3-1所示。
表3-1ADC0808通道选择表
C(ADDC)
B(ADDB)
A(ADDA)
选择的通道
IN0
1
IN1
IN2
IN3
IN4
IN5
IN6
IN7
3.2.1ADC0808的内部结构及工作流程
ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图3-2.1所示。
图3-2.1ADC0808的内部结构
(1)各引脚功能如下:
1)IN7~IN0——模拟量输入通道。
ADC0808对输入模拟量的要求主要有:
信号单极性,电压范围0~5V,若信号过小,还需进行放大。
另外,模拟量输入在A/D转换的过程中,其值应保持不变,因此,对变化速度快的模拟输入量,在输入前应增加采样保持电路。
2)A、B、C——地址线。
A为低位地址,C为高位地址,用于对8路模拟通道进行选择。
3)ALE——地址锁存允许信号。
由低至高电平正跳变将通道地址锁存至地址锁存器中。
4)START——启动转换信号。
START上跳沿时所有内部寄存器清0;
START下跳沿时,开始进行A/D转换。
在A/D转换期间,START应保持低电平。
5)D7~D0——数据输出线。
为三态缓冲输出形式,可以和单片机的数据线直接相连。
6)OE——输出允许信号。
用于控制三态输出锁存器向单片机上输出转换得到的数据。
OE=0,输出数据线呈高电阻态;
OE=1,输出转换得到的数据。
7)CLOCK——时钟信号。
ADC0808内部没有时钟电路,所需时钟信号由外界提供,要求频率范围10kHz~1.2MHz。
通常使用频率为500kHz的时钟信号。
8)EOC——转换结束状态信号。
EOC=0,正在进行转换;
EOC=1,转换结束。
该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。
9)VCC——+5V电源。
10)REF(+)、REF(-)——参考电压。
参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
其典型值为REF(+)=+5V,REF(-)=0V。
(2)ADC0808的工作原理:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
(注意:
ALE信号常与START信号连在一起,这样连接可以在信号的前沿写入地址信号,在其后沿启动A/D转换)。
(3)ADC0808应用说明:
1)ADC0808内部带有输出锁存器,可以与AT89S51单片机直接相连。
2)初始化时,使ST和OE信号全为低电平。
3)送要转换的哪一通道的地址到A,B,C端口上。
4)在ST端给出一个至少有100ns宽的正脉冲信号。
5)是否转换完毕,我们根据EOC信号来判断。
6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
A/D转换电路如图3-2所示:
图3-2A/D转换电路
3.3接口电路
接口电路是ADC0809输出的BCD码转换为七段译码输出,主要有时钟电路、复位电路和单片机芯片组成。
单片机控制部分原理图如图3-3所示:
图3-3单片机控制部分原理图
3.3.1时钟电路
单片机内部每个部件要想协调一致地工作,必须在统一口令——时钟信号的控制下工作。
单片机工作所需要的时钟信号有两种产生方式,即内部时钟方式和外部时钟方式。
图3-4是内部时钟方式:
单片机内部有一个构成振荡器的增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输入端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。
在该图中,电容C1和C2取30PF,晶体的振荡频率取12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。
实际连接如图3-4所示:
图3-4时钟电路图
3.3.2复位电路
AT89C51的复位电路如图3-5所示。
当单片机一上电,立即复位。
电容C3和电阻R1实现上电自动复位。
复位也是使单片机退出低功耗工作方式而进入正常状态的一种操作。
图3-5AT89C51的复位电路
3.4显示电路
本电路的显示模块主要由一个4位一体的7段LED数码管构成,用于显示测量到的电压值。
它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收AT89C51的P3口产生的显示段码。
1,2,3,4引脚端为其位选端,用于接收AT89C51的P1口产生的位选码。
本系统采用动态扫描方式。
扫描方法是用其接口电路把所有数码管的8个比划段a~g和DP同名端连在一起,而每一个数码管的公共极COM各自独立地受I/O线控制。
CUP从字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端。
COM端与单片机的I/O接口相连接,由单片机输出位位选码到I\O接口,控制何时哪一位数码管被点亮。
在轮流点亮数码管的位扫描过程中,每位数码管的点亮时间极为短暂。
但由于人的视觉暂留现象,给人的印象就是一组稳定显示的数码。
动态方式的优点是十分明显的,即耗电省,在动态扫描过程中,任何时刻只有一个数码管是处于工作状态的。
具体原理图如图3-6所示:
图3-6AT89C51的显示电路
3.5硬件电路的总体设计
经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图3-7所示:
图3-7硬件总电路设计
此电路的工作原理是:
+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P0口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P1.0、P1.1、P1.2、P1.3产生位选信号控制数码管的亮灭。
此外,AT89C51还控制ADC0808的工作。
其中,单片机AT89C51通过定