直流数字电压表的设计.docx
《直流数字电压表的设计.docx》由会员分享,可在线阅读,更多相关《直流数字电压表的设计.docx(15页珍藏版)》请在冰豆网上搜索。
直流数字电压表的设计
直流数字电压表的设计
姓名:
班级:
电子082
学号:
2008131009
指导教师:
2010年6月22日
第六章总结┄┄┄┄┄┄┄┄┄┄┄┄┄┈┈15
摘要
本电路主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的0~5V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示。
该电压表的测量电路主要由三个模块组成:
A/D转换模块、数据处理模块及显示控制模块。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片AT89S51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。
关键词:
数字电压表AT89S51ADC0809
ThecircuitismainlytomakeasimpledigitalvoltagemeterwiththeadoptionofAT89S51andADC0809chipswhichcanmeasuretheinputanalogDCvoltageof0~5V.Itshowsthevoltagethroughanintegraldigitalcodetubeof7piecesofLED.ThecircuitoftheVoltagemeterismainlyconsistedofthreemouldpieces:
A/Dconvertingmouldpiece,dataprocessingmouldpieceandmanifestationcontrollingmouldpiece.A/DconvertingismainlycompletedbytheADC0809,itconvertsthecollectedanalogdataintothedigitaldataandtransmitstheoutcometothemanifestationcontrollingmouldpiece.DataprocessingismainlycompletedbytheAT89S51chip,itprocessesthedataproducedbytheADC0809chipandgeneratestherightmanifestationcodes,alsotransmitsthecodestothemanifestationcontrollingmouldpiece.Also,theAT89S51chipcontrolstheADC0809chiptowork.
KEYWORDS:
Digitalvoltagemeter,ADC0809,AT89S51.
引言
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
数字电压表自从一九五二年问世以来,随着电子技术的飞跃发展,特别是目前,作为测量仪表、模拟指示仪表的数字化以及自动测量的系统,而得到了很大的发展。
数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。
以后,DVM的发展就着眼在高精度和低成本两个方面。
单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以用软件控制来实现,并能够实现智能化。
单片机的应用如今已经在工业、电子等方方面面展示出了它的优越性,利用单片机在设计电路逐渐成了趋势,它与外围的简单电路再加上优化程序就可以构建任意的产品,使得本设计成为现实。
随着单片机的日益发展,它必将在未来显示出更大的活力,为电子设计增加更多精彩。
第一章作品设计要求与方案选择
1.1§1.1设计目的
通过制作简易数字电压表,加深对所学专业知识的认识,提高分析、解决工程实际问题的能力,提高对单片机的应用能力,提高收集文献、资料的能力,从而达到综合运用所学的专业知识进行电子产品设计、制作与调试的能力。
1.2§1.2作品要求
基本功能:
1)电压测量范围0-5V
2)能用数码管显示电压值
3)测量精度达0.5V
4)自制直流稳压电源
5)系统具备复位功能
1.3§1.3各模块方案选择与论证
根据设计要求,系统可分为电压采集模块、A/D转换模块、主控模块、显示模块。
A/D转换模块:
方案一:
A/D转换器采用ICL7107型三位半显示的芯片,输入信号,流经取样电路取样后送到ICL7107型三位半A/D转换器,只需要很少的简单外围元件,就可组成数字电流表模块,直接驱动三位半LED显示器显示,最后输入电流在显示部分显示。
由于本人对此电路不熟悉,而且ICL7107做的LED数字表,最大的缺点就是数字乱跳不稳定,特别最后一位。
所以不采用此方案。
方案二:
采用ADC0809转换芯片,其中A/D转换器用于实现模拟量向数字量的转换,单电源供电。
它是具有8路模拟量输入、8位数字量输出功能的A/D转换器,转换时间为100μs,模拟输入电压范围为0V~+5V,不需零点和满刻度校准,功耗低,约15mW。
由于模拟转换电路的种类很多,通过对转换速度,精度和价格方面考虑,所以选择方案二采用ADC0809为本次设计的转换芯片。
接口模块:
方案一:
使用数字电路实现,采用译码芯片CD4543作为接口芯片,这种方案能实现功能,但稳定性不高,结构复杂。
方案二:
采用AT89S51单片机作为系统的控制单元,通过A/D转换将被测值转换为数字量送入单片机中,再由单片机来送显。
此方案各类功能易于实现,成本低、功耗低,显示稳定.。
通过比较,我选择方案二。
系统原理框图如1.1所示:
图1.1数字电压表设计框图
第二章数字电压表原理
本设计采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表。
该电路通过ADC0809芯片采样输入口IN0输入的0~5V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89S51芯片的P0口。
该电压表的测量电路主要由三个模块组成:
A/D转换模块、数据处理模块及显示控制模块。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片AT89S51来完成,其负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管显示出来;同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。
另外,AT89S51还控制着ADC0809的工作。
显示模块主要由7段数码管组成,显示测量到的电压值。
第三章系统硬件电路设计与实现
本系统采用AT89S51单片机作为控制核心,对8路8位模数转换芯片ADC0809采集到的模拟电压信号进行分析处理,实现A/D转换,通过数码管显示其数字电压值。
电压表的测量电路主要由三个模块组成:
A/D转换模块、数据处理模块及显示控制模块。
1.4§3.1电源部分
电源部分电路主要是要求能提供稳定可靠的电压,使整个系统能正常的工作。
采用220V的工频交流电压,而单片机的工作电压是直流+5V,为此,先通过一个普通的变压器降低电压,再通过桥式整流,然后再通过7805芯片的进一步稳压,确保+5V电源的稳定、可靠。
而且7805集成稳压器是常用的固定输出+5V电压的集成稳压器。
它的内部含有限流保护、过热保护和过压保护电路,采用了噪声低、温度漂移小的基准电压源,工作稳定可靠。
1脚为输入端,2脚为接地端,3脚为输出端,使用十分方便,可以在任何有交流电压的地方使用,不需另带电池。
通过整流滤波以后输出直流电压,为了确保整个电路能正常工作,考虑到不接负载或电源电压有波动时电容能承受的耐压,必须加电容。
发光二极管D2点亮表示电源电路正常工作,其电源电路如图3.1所示:
图3.1电源电路
1.5§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转换器的ADC0809芯片。
ADC0809是典型的8位8通道逐次逼近式A/D转换器。
它可以和微型计算机直接接口。
ADC0809转换器的系列芯片是ADC0808,可以相互替换。
ADC0809的内部结构包括8路模拟选通开关、通道地址锁存器与译码器、8位A/D转换器和三态输出锁存器。
多路开关接8路模拟量输入,可对8路0~5V的输入模拟电压信号分时进行转换,输出具有TTL三态锁存器,可直接连到单片机数据总线上。
多路模拟开关可选通8路模拟通道,允许8路模拟量分时输入,并共用一个A/D转换器进行转换。
地址锁存与译码电路完成对A、B、C三个地址位进行锁存与译码,如表3.2所示。
表3.2ADC0809通道选择表
C(ADDC)
B(ADDB)
A(ADDA)
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
各引脚功能如下:
1)IN7~IN0——模拟量输入通道。
ADC0809对输入模拟量的要求主要有:
信号单极性,电压范围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——时钟信号。
ADC0809内部没有时钟电路,所需时钟信号由外界提供,要求频率范围10kHz~1.2MHz。
通常使用频率为500kHz的时钟信号。
8)EOC——转换结束状态信号。
EOC=0,正在进行转换;EOC=1,转换结束。
该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。
9)VCC——+5V电源。
10)REF(+)、REF(-)——参考电压。
参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
其典型值为REF(+)=+5V,REF(-)=0V。
ADC0809的工作原理:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
(注意:
ALE信号常与START信号连在一起,这样连接可以在信号的前沿写入地址信号,在其后沿启动A/D转换)。
ADC0809应用说明:
1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
2)初始化时,使ST和OE信号全为低电平。
3)送要转换的哪一通道的地址到A,B,C端口上。
4)在ST端给出一个至少有100ns宽的正脉冲信号。
5)是否转换完毕,我们根据EOC信号来判断。
6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
图3.3AD转换电路图
1.6§3.3接口电路的设计
接口电路是ADC0809输出的BCD码转换为七段译码输出,主要有时钟电路、复位电路和单片机芯片组成。
图3.4单片机控制部分原理图
1.1.1§3.3.1时钟电路
单片机内部每个部件要想协调一致地工作,必须在统一口令——时钟信号的控制下工作。
单片机工作所需要的时钟信号有两种产生方式,即内部时钟方式和外部时钟方式。
图3.5是内部时钟方式:
单片机内部有一个构成振荡器的增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输入端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。
在该图中,电容C1和C2取20PF,晶体的振荡频率取12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。
实际连接如图3.5所示:
图3.5时钟部分电路图
1.1.2§3.3.2复位电路部分
AT89S51的复位电路如图3.6所示。
当单片机一上电,立即复位。
电容C和电阻R1实现上电自动复位。
复位也是使单片机退出低功耗工作方式而进入正常状态的一种操作。
图3.6复位电路部分电路图
1.7§3.4显示电路的设计
本电路的显示模块主要由一个4位一体的7段LED数码管构成,用于显示测量到的电压值。
它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收AT89S51的P1口产生的显示段码。
1,2,3,4引脚端为其位选端,用于接收AT89S51的P3口产生的位选码。
本系统采用动态扫描方式。
扫描方法是用其接口电路把所有数码管的8个比划段a~g和DP同名端连在一起,而每一个数码管的公共极COM各自独立地受I/O线控制。
CUP从字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端。
COM端与单片机的I/O接口相连接,由单片机输出位位选码到I\O接口,控制何时哪一位数码管被点亮。
在轮流点亮数码管的位扫描过程中,每位数码管的点亮时间极为短暂。
但由于人的视觉暂留现象,给人的印象就是一组稳定显示的数码。
动态方式的优点是十分明显的,即耗电省,在动态扫描过程中,任何时刻只有一个数码管是处于工作状态的。
具体原理图如图3.7所示:
图3.7显示电路图
第四章系统软件设计
初始化中主要对AT89S51,ADC0809的管脚和数码管的位选及所用到的内存单元70H,78H,79H,7AH进行初始化设置。
准备工作做好后便启动ADC0809对IN0脚输入进的0~5V电压模拟信号进行数据采集并转换成相对应的0~255十进制数字量。
在数据处理子程序中,运用标度变换知识,编写算法将0~255十进制数字量转换成0.0~5.0V的数据,输出到显示子程序进行显示。
整个主程序就是在A/D转换,数据处理及显示程序循环执行。
整个程序流程框图如图4.1所示。
图4.1软件主程序流程图
第五章调试
1.8§5.1系统软硬件调试
在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后以此选择适当的量程,防止过大电压烧坏A/D转换器。
首先用万用表按照原理图逐步检查印刷板中各器件的电源及各引脚的连接是否正确,有否断路、短路或者虚焊,尤其是给电路供电的电源部分要重点检查,用数字万用表测量7805输出端的电压是否为+5V,是否稳定,能够输出+5V,且稳定即可说明电源电路的设计基本达到要求。
如果电压没有达到要求,要及时排查给予解决,以免烧坏芯片和其他元器件。
软件调试时先进行单元测试,分别对各个代码模块进行测试,看其是否实现了规定功能,再把已经测试过的模块组合起来进行测试,一旦不能正确运行,要找出程序中的错误,确定大致的出错位置,研究有关部分的错误程序,找出错误原因,修改设计和代码,以排除错误。
我们在程序编写完成后,就可以利用仿真器进行初步调试,观察在计算机里能否通过编译与运行并达到设计的基本要求。
在基本符合的情况下,利用仿真器与工作正常的硬件连接进行仿真调试;或用编程器把程序烧写到芯片中,直接观察能否正常运行。
如果达不到设计要求或者不能正常运行,可以直接在程序中进行修改。
系统调试中遇到的问题及解决的方法:
1)在应用滤波电容的过程中,一开始是把电容串联在电路中,导致电路无法导通,而后我们短路电容,解决了问题。
2)电源指示灯上,一开始发现接上电源,指示灯不亮,经过仪器测量发现正负极接反,后重新焊接,问题解决。
3)由于源程序的多处错误,使得仿真无法通过,后经过单步调试,把存在的错误一一排除,通过了软件仿真。
4)在烧录芯片的过程中,由于选择烧录文件的错误及芯片自身问题(因多次烧录,无法再次烧录)使得烧录失败,后经过老师指导并更换了AT89C51芯片,解决了问题。
1.9§5.2测试数据
调试完后,对电路进行精度、准确度进行测试,为了保证精确度,要多测几个点,除了零点和满度值外,再选两个中间值进行比较,测试结果如下表所示:
输入值(V)
测量值(V)
0
00000
1
0.976
2
1.895
3
2.901
4
3.857
5
4.886
图5-1比较数据
以上数据符合要求,测试成功。
总结
通过本次设计,我对单片机有了更进一步的了解。
无论是在其硬件连接方面还是在软件编程方面,都取得了新的收获。
本次实验采用了AT89S51单片机芯片,与以往我们所熟悉的C51芯片有许多不同之处,通过本次设计及查阅相关资料,我对其之间的区别有了一定的认识,在本设计报告的硬件介绍部分也对其作了详细的论述。
S51在C51的基础上增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。
另外,在对单片机编程方面,我又掌握了一些新的编程思想,使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高。
设计中还用到了模/数转换芯片ADC0809,以前在学单片机这门课程时只是对其理论知识有了初步的了解。
通过本次设计,我对它的工作原理彻底理解了,对其启动设置、转换结束判断以及输出控制等都基本掌握。
在整个电路的设计制作过程中,A/D转换模块的电路较难焊接,需要时刻秉着认真、仔细的态度去完成硬件的设计与焊接。
在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路板的检测方法掌握得不够精,因此给硬件排除故障带来了一定的难度。
软件上,逻辑思维较为混乱,对子程序的编程存在偏差,这些方面有待我再改进。
电路连接方面,我对其与单片机的连接也有了更为直观的认识,通过实验的摸索以及必要的理论知识,我准确的实现了它于单片机的互连。
另外,在布线方面,我也存在一些问题,导致我做好的电路板在外观上不怎么美观。
总的来说,此次电路的设计与制作,基本上达到了作品的要求功能。
往后我要在这次的基础上做得更好更有进步!
致谢
本论文是在指导教师齐怀琴老师的悉心指导下完成的。
从设计的选题,分析过程到论文的书写过程,老师都给予了悉心的关心和耐心的指导。
老师学识渊博,治学严谨,思维创新,给我们留下了深刻的印象,使我们受益匪浅,老师不仅指导我们学习本研究方向的专业知识,也教会了我们用科学的思维方式和方法发现问题,解决问题。
对我以后的学习和工作也起到了很好的指导作用。
在此,我们向老师致以最衷心的感谢,谢谢您!
同时这次设计得到了082班同学的帮助,提供了指导和协助,再次感谢!
参考文献
[1]魏立峰.单片机原理及应用技术.北京:
北京大学出版社,2006.
[2]陈光绒.单片机技术应用教程.北京:
北京大学出版社,2005.
[3]李广弟.单片机基础.北京:
北京航空航天大学出版社,2007.
[4]刘树林.低频电子线路.北京:
电子工业出版社,2003.