ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:220.66KB ,
资源ID:5326032      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5326032.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易数字电压表.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简易数字电压表.docx

1、简易数字电压表摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。本次做的数字式温度控制器是以单片机(AT89C51)为核心,结合相关的元器件(共阴极LED数码显示器、BCD-锁存/7段译码/ ADC0809 A/D转换器等),再配以相应的软件,达到制作简易数字式温度控制器的目的,其硬件部分难点在于元器件的选择、布局及焊接。【关键词】单片机AT89C51,LED数码管

2、,BCD锁存/7段译码,A/D转换器目录摘要 1第一章 设计方案 31.1 设计方案比较 31.2 设计思路 4第二章 硬件设计 52.1 ADC0809与89C51的接口电路 52.2 主控芯片 72.3 系统主控电路 82.4 AD采样电路 92.5 32路接口电路 122.6 显示电路 132.7 信号调理电路 14第三章 软件设计 153.1 各部分任务分配 153.2 程序流程图 163.3 参考程序 173.4 调试提示 203.5 原理图及PCB板图 22第四章 设计主要芯片介绍 254.1 AT89C51 254.2 ADC0809 27结束语 31谢辞 32参考文献 2第一章

3、 设计方案1.1 设计方案比较1.1.1 方案一采用模拟分立元件,如电容、电感或晶体管等非线形元件,实现多点温度的测量及显示,该方案设计电路简单易懂,操作简单,且价格便宜,但采用分立元件分散性大,不便于集成数字化,而且测量误差大。1.1.2 方案二采用集成的单片机主控,通过温度传感器、A/D转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。原理框图如图一所示:图1.1 方案二框图1.1.3 方案三此方案是在方案二的基础上改进的,温度信号的输入处理过程与方案二是相同的,框图如图二所示:图1.2 方案三框图综上所述,方案三电路虽然与方案二类似,都较

4、方案一调整方便、可兼顾的指标多,在操作运行上更胜一筹,简单明了,所以我们选择第三种方案。1.2 设计思路本设计采用AT89C51单片机。AT89C51单片机是Atmel公司的产品,与Intel公司的MCS51系列兼容。在AT89C51单片机内部有作为程序存储器的Flash存储器,其兼容为4KB,可以承受不低于1000次的反复擦写,调试比较方便。 在温度测量时,需要将温度的变化转换为对应电压信号的变化,这就需要借助温度传感器。在设计中选用负温度系数热敏电阻作为温度传感器。当温度升高时,负温度系数热敏电阻的阻值变小;相反,温度下降时阻值变大。将热敏电阻的阻值变化转换为相应的电压变化,需要一个转换电

5、路。则采用电桥式转换电路,将热敏电阻与3个普通电阻组成桥式电路,当温度变化时,电桥的输出电压信号随之变化。由于电桥输出的电压信号幅值较低,要经过放大电路之后才能满足A/D转换器对输入电压的要求。桥式电路与放大电路共同构成测温电路。测温电路输出的电压信号为模拟信号,需要经过A/D转换器转换成数字量后才能被单片机识别。则本设计采用8位A/D转换器ADC0809集成电路芯片。AT89C51单片机控制ADC0809将模拟电压信号转换成数字信号,并根据这个数字信号查表取得相应的温度值,送到数码管显示。根据设计要求,采用3位LED数码管显示当前温度值,采用动态方式显示,直接从I/O口送出七段码据设计要求是

6、32路的温度采集,采用芯片的借口不够用则使用多路模拟开关AD7506两片扩展接口电路第二章 硬件设计2.1 ADC0809与89C51的接口电路2.1.1 接口连接电路图2.1 ADC0809与89C51的接口电路2.1.2 接口连接电路介绍ADC0809有IN0IN7共8条模拟信号输入线,可以分时处理8路模拟输入信号。为了区分是哪一路输入信号进行A/D转换,由3个通道地址信号ADD-A、ADD-B和ADD-C来决定是哪一上模拟信号被选中并送到内部的A/D转换器去转换。ADD-A、ADD-B和ADD-C一般与DB0、DB1、DB2相连,如图所示,也可以与AB0、AB1、AB2相连接。当地址锁存

7、信号ALE为高电平时,ADD-C、ADD-B、ADD-A三条线上的数据送入ADC0809内部的地址锁存器中,经过译码后选取中某一通道。当ALE=0时,地址锁存器处于锁存状态,模拟开关始终与刚才选中的输入通道接通。选中通道的模拟量到达A/D转换器时,A/D转换器并未对其进行A/D转换,START的上升沿复位ADC0809。地址锁存信号ALE和围拢启动信号端START由WR信号和地址信号相或非后产生。ADC0809的A/D转换过程是在时钟信号的协调下进行的。ADC0809的时钟信号由CLOCK端送入,其最高频率为640kHz,在这个最高频率下,ADC0809的A/D转换时间为100s左右。当ADC

8、0809用于89C51单片机系统时,若89C51采用6MHz的振晶,则ADC0809的时钟信号可以由89C51的ALE经过一个二分频电路获取。这时ADC0809的时钟频率为500kHz,A/D转换时间为130s。A/D转换结束后,A/D转换期间,EOC维持低电平,当A/D转换结束时,EOC变成高电平。需要主意的是,ADC0809的START端收到下降沿后,并没有立即进行A/D转换,EOC=1,而是延迟10s后,才开始A/D转换结果的方法有三种:A/D转换结束后,A/D转换期间,EOC维持低电平,当A/D转换结束时,EOC变成高电平。需要主意的是,ADC0809的START端收到下降沿后,并没有

9、立即进行A/D转换,EOC=1,而是延迟10s后,才开始A/D转换结果的方法有三种:延迟法:单片机启动ADC0809后,延时130s以上,可以读到正确的A/D转换结果,此时EOC悬空。查询法:EOC必须接到89C51的一条I/O线上。单片机启动ADC0809后,延迟10s,检测EOC,若EOC=0则A/D转换没有结束,继续检测EOC,直到EOC=1。当EOC=1时,A/D转换已经结束,单片机读取A/D转换结果。中断法:EOC必须经过非门接到89C51的中断请求输入线INT0或INT1上,89C51的中断触发方式为下降沿触发。单片机启动A/D转换后可以做其他工作,当A/D转换结束时,EOC由0变

10、1经过非门传到INT端,89C51收到中断请求信号,若89C51开着中断,则进入中断服务程序,在中断服务程序中单片机读取A/D转换结果。2.2 主控芯片2.2.1 芯片内部结构图2.2 芯片内部结构2.2.2 芯片说明AT89C51是一种带有4 KB闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,可为很多嵌入式控制系统提供灵活且价廉的方案。AT89C51数据总线是由P0口提供的,P0口本身能以多种方式提供数据总线和地址总线。当ALE输出信号为高电平时,P0将输出的数据锁入总线驱动器中作为地址的低8位,然后和P2送出来的高8位地址一起组成一个完整的16位地址,采用AD7506两

11、片分别为高16位和低16位构成32地址,以寻址到外部的64KB的地址空间。AT89C51的地址总线比较简单(只有3个:RD、WR、PSEN),其中RD是用来读取外部数据内存的控制线,WR是用来写数据到外部数据内存的控制线,PSEN是用来存取外部程序内存的读取控制线。由于P0口是数据和地址分时复用口,故要进行地址锁存,本设计使用74HC373作为锁存器。2.3 系统主控电路2.3.1 主控电路图图2.3 主控电路图2.3.2 主控基本原理本系统的硬件电路原理如图1所示。因为ADC0809的地址选择端A、B、C都接地,所以ADC0809的数据采集通道只有IN0被选通。16路模拟信号连接到多路选择模

12、拟开关AD7506后,即可通过地址选择端A、B、C、D进行选择,每一次选通一路,选通的通道经OUT和ADC0809的IN0相连,以进行AD转换。P27(地址总线最高位A 15)可作为AD转换的启动开关,P27为低电平有效。在启动AD转换时,可由写信号WR和P27控制ADC0809的地址锁存和转换启动。而在读取转换结果时,则由读信号RD和P27控制ADC0809的OE信号。若令P27为0,74HC373的A、B、C、D即可给出被选择的模拟通道的地址,此时若ABCD=0000,则16路信号的100被选通,并将其数据送到ADC0809的IN0中,地址是7FF0H;若ABCD:1111,地址为7FFF

13、H,则指向IO15。所以,16路信号依次对应的地址为7FFOH7FFFH,同理连接两片AD7506组成32路信号进行转换,转换完成后,数据将保存到一数组中,直到当上位PC机通过串行口发信号时,AT89C51通过检测地址是否和本机地址相符来作出动作。如果地址相符,则发送AD转换结果,如不相符,则继续等待。2.4 AD采样电路2.4.1 A/D转换的原理ADC0809是美国NS公司生产的CMOS组件,是一种8路输入单片模数转换器件,采用逐位逼近式AD转换原理,它的输出输人接口全部为TTL电平,数据输出口线为三态,可以直接接到微机系统总线上,而无需另加IO接口芯片。由于本设计中使用16选1模拟开关来

14、组成32路模拟开关进行信号的选择,因此,ADC0809的信号选择功能就不使用了,设计时把ADC0809的地址选择端A、B、C都接地,即ABC=000,这样,选通通道始终是IN0。将EOC通过非门连接到AT89C51的INT0脚,可通过查询方式来检测转换是否完成。由于ADC0809的典型工作频率640 kHz不太容易得到,所以通常使用相近频率且容易获得的信号进行替代。本设计中,单片机的晶振频率6MHz,ALE信号输出为晶振频率的六分之一(即2MHz、),可将该2 MHz经过74HC90二分频后得到500 kHz信号来给ADC0809使用。2.4.2 A/D转换的硬件电路图2.4 基于单片机的A/

15、D转换图2.4.3 硬件说明ADC0809是美国NS公司生产的CMOS组件,是一种8路输入单片模数转换器件,采用逐位逼近式AD转换原理,它的输出输人接口全部为TTL电平,数据输出口线为三态,可以直接接到微机系统总线上,而无需另加IO接口芯片。由于本设计中使用16选1模拟开关来进行信号的选择,因此,ADC0809的信号选择功能就不使用了,设计时把ADC0809的地址选择端A、B、C都接地,即ABC=000,这样,选通通道始终是IN0。将EOC通过非门连接到AT89C51的INT0脚,可通过查询方式来检测转换是否完成。由于ADC0809的典型工作频率640 kHz不太容易得到,所以通常使用相近频率

16、且容易获得的信号进行替代。本设计中,单片机的晶振频率12MHz,ALE信号输出为晶振频率的六分之一(即2MHz、),可将该2 MHz经过74HC74四分频后得到500 kHz信号来给ADC0809使用。2.4.4 A/D转换的技术指标分辨率以输出二进制数的位数表示分辨率。位数越多,误差越小,转换精度越高。转换速度完成一次A/D转换所需要的时间,即从它接到转换控制信号起,到输出端得到稳定的数字量输出所需要的时间。相对精度实际转换值和理想特性之间的最大偏差。其它功率、电源电压、电压范围等。2.4.5 A/D转换的分类A/D转换器种类很多,按照转换原理可分为直接A/D转换器和间接A/D转换器。所谓直

17、接A/D转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D芯片采用逐次逼近型者多;间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型A/D转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已超出了单纯A/D转换功能,使用十分方便。按工作原理分主要有以下五种:计数式A/D转换器、双积分式A/D转换器、三次

18、积分式A/D变换器、逐次逼近式A/D转换器和并行A/D转换器。计数式A/D转换器结构简单,但转换速度慢,所以很少采用。双积分式A/D转换器抗干扰能力强,但速度不够理想,常用于数字式测量仪表中。逐次逼近式A/D转换器的结构不太复杂,转换速度也高,所以在单片机控制系统中被广泛采用。并行A/D转换器的转换速度最快,但因结构复杂而造价较高,故只用于那些转换速度极高的场合。根据输出数字量的位数,ADC芯片又分为八位,(如ADC0809,ADC0816),10位(如ADS820U,ADS901E等),12位(如AD574A,ADC1210等)和16位(如ADS8401IPFBT,ADS8342IBPFBT

19、等)。2.4.6 A/D转换的原则根据前向通道总误差选精度及分辨率根据信号变化率选转换速度环境参数微机接口要求2.5 32路接口电路2.5.1 接口硬件电路图2.5 32路接口电路2.5.2 功能介绍AD7506的扩展当模拟量输入通道较多,一片多路开关不够用时,可以把多片多路开关连在一起,构成更多通道的多路开关。在图中,P1.0P1.4中是由并行I/O口输出的通道选择信号,其中的P1.0P1.3分别接到两片AD7506的A0A3,当P1.3P1.0在00001111之间变化时,可以选择16个通道。P1.4用来控制两片多路开关的允许端EN,当P1.4等于零时,允许上面的一片禁止下面的一片,可以选

20、择IN1IN16中的某个通道,当P1.4等于一时,允许下面的一片禁止上面的一片,可以选择IN17IN32中的某个通道。2.6 显示电路2.6.1 显示电路结构图图2.6 显示电路图2.6.2 显示基本原理显示电路由P2.0 P2.1 和P2.2担任.位控电流较大,每一位用一只小型PNP三极管连接在数码管的俩个公共端,当P2.0 P2.1 和P2.2中的一个引脚为低电平时,相应的数码管就会显示P1口送来的内容2.7 信号调理电路2.7.1 LM324LM324为四运放集成电路,采用14脚双列直插塑料封装。,内部有四个运算放大器,有相位补偿电路。电路功耗很小,lm324工作电压范围宽,可用正电源3

21、30V,或正负双电源15V15V工作。它的输入电压可低到地电位,而输出电压范围为OVcc。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。每一组运算放大器可用如图九(a)所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324引脚排列见图九(b) lm124、lm224和lm324引脚功能及内部电路完全一致。lm124是军品;lm22

22、4为工业品;而lm324为民品。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等特点,因此他被非常广泛的应用在各种电路中。 图(a) 图(b)图2.7 LM3242.7.2 调理电路基本原理本系统要求有32路模拟信号输入,而且必须将这些信号互相隔离,然后才能对这些信号逐一选通后进入AD转换。为此,本系统选用了16选1多路模拟开关AD7506进行连接组成32路选1多路模拟开关。一般传感器的输出信号都比较微弱,要将该微弱信号转换成有用的信号以便于后期使用,就要加入信号调理电路,其作用是进行信号放大和去除干扰等。本设计中的信号输入每路都大约为010mV但ADC0809

23、的输入要求是0.54.4 V,因此选用运算放大器LM324来进行信号放大。LM324是一种精密运算放大器,它使用双极性电源供电,精度较高,放大倍数约为500,可把010 mV信号放大到0.54.4 V。使用LM324的信号调理电路如图十所示。图2.8 调理电路第三章 软件设计3.1 各部分任务分配1.1主程序负责对系统初始化,包括中断设置,定时器设置和启动第一次A/D转换.1.2定时器T0中断服务程序负责动态显示,定时器依次将个,十,百位显示缓冲单元的数据送相应的数码管.程序中这3个缓冲单元为30H(个位) 31H(十位) 32H(百位).1.3外中断INT0中断服务程序负责控制A/D转换,启

24、动下一次转换,取得转换结果变换成3位BCD码并将其存放在个十百位三个显示缓冲单元.3.2 程序流程图图3.1 程序流程图3.3 参考程序1.1 3位显示12ms循环一次,每位显示4ms。计算定时器初值:晶振频率6MHz,每机器周期2,定时器采用方式1即16位方式。初值 X=65535-4000/2=63536=F830H。1.2 30H、31H、32H作为显示缓冲单元分别存放个、十、百位的BCD码。1.3 程序中第二组表格电压-温度表TAB2是假设数据,制作时应标定。ORG 0000HAJMP MAINORG 000BHAJMP DISPORG 0013HAJMP ADMAIN:SETB IT

25、0 ;设置INT0为边沿触发方式 MOV IE,#83H ;INT0、T0中断开放 MOV IP,#02H ;T0高级优先 MOV TMOD,#01H ;设置T0为方式2 MOV TL0,#30H ;T0设初值 MOV TH0,#0F8HSETB TR0 ;启动T0MOV 30H,#0 ;3个显示缓冲单元清0MOV 31H,#0MOV 32H,#0MOV A,#0 ;启动第一次A/D转换MOV R0,#0MOVX R0,ASJMP $ ;原地踏步T0中断 显示显示缓冲 百32H 十31H 个30HDISP: MOV TL0,#30H ;T0重设初值 MOV TH0,#0F8H MOV P2,#

26、0FFH ;显示全关 CJNE R2,#00H,DISP1 ;显示个位 MOV P1,30H CLK P2.0INC R2AJMP DISP3DISP1:CJNE R2,#01H,DISP2 ;显示十位 MOV P1,31HCLK P2.1INC R2AJMP DISP3DISP2:MOV P1,32H ;显示百位 CLR P2.2 MOV R2,300HDISP3:RETI;INT0中断,A/D转换完成AD: MOV R0,#00H ;读取A/D转换结果 MOVX A,R0 MOV B,A MOV A,#0 ;启动下一次A/D转换 MOVX R0,A MOV A,B MOV DPTR,#TA

27、B2 ;指向电压-温度表 MOVC A,A+DPTR ;查出温度值 MOV B,#64 ;取得百位BCD码DIV ABMOV DPTR,#TAB1MOVC A,A+DPTR ;查对应的七段码MOV 32H,A ;七段码存入百位显示缓冲MOV A,B ;取得十、个位BCD码MOV B,#0AHDIV ABMOVC A,A+DPTR ;取得十位七段码MOV 31H,AMOV A,B ;取得个位七段码MOVC A,A+DPTRMOV 30H,ARETI两组表格,TAB1:七段码表TAB2:电压-温度表TAB1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,8

28、0H,98HTAB2: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H3.4 调试提示温度采集显示系统制作完成后,需进行调试。调试过程主要完成如下:3.4.1 测温电路标定测温电路电压输出范围调整。将传感器置于0度的环境中,调整RP1和RP2,使运放LM324的输出在0.5V。再将传感器置于100度的环境中,调整RP2,使LM324的输出在4.4 V。反复以上调试过程,直到传感器置于0100度的环境中不调整电位器,LM324的输出分别为

29、0.5V和4.4 V左右。制作温度-电压表。将传感器分别置于0、10、20、30、40、等不同的温度环境中测量相应温度下LM324的输出电压。其他90个温度值对应的电压用插值计算得到。3.4.2 程序中电压-温度表的设计A/D转换器ADC0809将运放LM324的输出电压转换成十六进制数值,这个数值在程序中作为以TAB2表头为基址的相对地址。TAB2填写的内容是对应电压(相对地址)度值,其数值为0100(或00H64H),即0100度的101个值。例如:20度时LM324的输出电压为0.8V,则(0.85 )2=40.9641式中,0.80.8v电压;5ADC0809的参考电压为5v2ADC0

30、809是8位的A/D转换器,最大值为2;在TAB2中的第41个位置上填写相应位上填写相应温度值20或14H。3.5 原理图及PCB板图3.5.1 总原理图如下图十二图3.2 总原理图第四章 设计主要芯片介绍4.1 AT89C514.1.1 引脚图图4.1 AT89C51引脚图4.1.2 引脚功能介绍AT89C51是标准的40引脚双列直插式集成电路芯片。它由一个8位CPU,一个内振荡器和时钟电路,4KB的ROM程序存储器,128B的RAM数据存储器,21个特殊功能寄存器,两个16位的定时器/计数器,可寻址的64KB外部数据存储器和64KB外部程序存储器空间的控制电路,32条可编程的I/O口线(4

31、个8位并行I/O端口P0、P1、P2、P3),一个可编程的全双工串行口,具有5个中断源、2个优先级的终端结构组成。引脚功能如下:I/O线:4.2 ADC0809ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 4.2.1 ADC0809的内部逻辑结构图4.2 ADC0809的内部逻辑结构由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1