《课程设计论文基于MCS51系列单片机的数字温度监测装置设计.doc》由会员分享,可在线阅读,更多相关《课程设计论文基于MCS51系列单片机的数字温度监测装置设计.doc(37页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 说 明 书基于MCS-51系列单片机的数字温度监测装置设计 学生班级: 学生姓名: 起止日期: 指导教师: 目 录一、引言 41. 本次课程设计的重要意义 4 2. 温度传感器的发展 4二、设计内容及性能指标 5三、系统方案总体概述 5四、系统主要器件选择 6(一)单片机的选择 61.主要性能参数 62.功能特性概述 73.引脚功能说明 84.端口引脚 第二功能 9(二)温度传感器的选择 101.总述 102.温度传感器的选择 11 2.1 DS18B20简介 11 2.2 DS18B20内部结构 11 2.3 DS18B20测温原理 15五、系统整体设计 17(一)系统硬件电
2、路设计 171.硬件电路设计总体概述 172.CPU机器基本外围电路设计 18 2.1单片机电路 18 2.2晶振控制电路 18 2.3 继电器电路 19 2.4 锁存器74LS373引脚功能及工作原理 19 2.4.1 74LS373引脚功能 20 2.4.2 74LS373工作原理 20 2.4.3 Intel2764引脚功能 233.前向通道设计 23 3.1温度检测电路 23 3.2电源输入部分电路 244.后向通道设计及人机通道设计 25 4.1 后向通道设计 25 4.1.1 LED显示电路 25 4.1.1.1 LED显示器的结构 25 4.1.1.2 LED显示器的工作原理 2
3、6 4.1.1.3 LED 显示设计方案 27 4.2键盘 27 4.3温度报警电路 28 4.4复位电路 285.抗干扰措施 29 5.1干扰产生的后果 29 5.2抗干扰设计的基本原则 30 5.3硬件抗干扰设计 31 5.4软件的抗干扰设计 32(二)系统软件设计 33 1.概述 332.主程序模块 333. 部分程序清单 34 3.1 温度传感器的驱动程序 34 3.2 LED共阳极显示子程序 36六、附录 36七、致谢 37 参考文献一、引言1. 本次课程设计的重要意义随着我国经济的快速增长,电力需求量日益增加,如何保障电力的持续供应是电力运行中的一道难题。根据对各类电力事故的分析,
4、由于电力设备温度过高而引发的火灾占相当大的比例。大多数电气设备,如开关柜、电缆沟、带电间隔等采用封闭式结构,空间狭小,热积累量大,散热效果差,并长期处于高电压、大电流、满负荷的条件下运行,极易发生火灾。这种火灾一旦发生,将导致大量电网设备被烧毁,变电站停运甚至电网崩溃等恶劣后果,国民生产无法进行,导致巨大损失。引起火灾的直接原因就是线路接头温度过高,长期运行而烧穿绝缘,点燃周围电缆等可燃物,引发火灾。在设备长期运行过程中,各接头触点、母线排接处等部位因绝缘老化或接触电阻过大而急剧发热,而这些发热部位工作人员不易接近,手工测温困难,如果能够有效的自动监测各接头的温度,一旦出现温度异常情况,立刻上
5、传报警,通知维护人员及时采取措施排除隐患,把故障消除在萌芽状态,从而达到安全供电的目的。因此,电气设备温度在线监测问题已成为电力系统安全运行所急需解决的实际问题,是提高电力系统运行可靠性的迫切需求,对保障电力系统安全稳定运行有极其重要的意义。2. 温度传感器的发展测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使
6、人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89S51单片机,测温传
7、感器使用DALLAS公司DS18B20,用液晶来实现温度显示。二、设计内容及性能指标 本设计主要是单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:利用温度传感器(DS18B20)测量某一点环境温度测量范围为-5599,精度为0.5用液晶进行实际温度值显示能够根据需要方便设定上下限报警温度三、系统总体设计原理 该系统主要由温度测量和数据采集两部分电路组成。 该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。利用键盘来进行调时和温度查询,获得的数据可
8、以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。 系统框图如下图所示AT89S51CPUDSP18B20温度芯片键盘电路LED显示报警电路加热继电器制冷继电器PC机电源DS18B20温度测温系统框图 本设计以AT89S51芯片为核心, AT89S51芯片的外围扩展了 数据锁存器74L373和74LS138,同时具有LED(发光二极管)显示器、复位功能等。四、系统主要器件选择(一)单片机的选择对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89S51是美国ATMEL公司生产的低
9、功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,价格低廉,可灵活应用于各种控制领域。1.主要性能参数:与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期4.05.5V的工作电压范围全静态工作模式:0Hz33MHz三级程序加密锁1288字节内部RAM32个可编程IO口线2个16位定时计数器6个
10、中断源全双工串行UART通道低功耗空闲和掉电模式中断可从空闲模唤醒系统看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的在系统编程(ISP字节或页写模式)2.功能特性概述:AT89S51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32个IO 口线,看门狗(WDT),两个数据指针,两个16 位定时计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的
11、内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89S51方框图3.引脚功能说明Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:Pl 是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
12、对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。端口引脚 第二功能P1.5 MOSI(用于ISP犏程)P1.6 MISO(用于ISP犏程)P1.7 SCK (用于ISP犏程)P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电
13、流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRi 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除
14、了作为一般的I0口线外,更重要的用途是它的第二功能,如下表所示:P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。4.端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外中断0)P3.3 INT1(外中断1)P3.4 T0(定时计数器0外部输入)P3.5 T1(定时计数器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打
15、开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的16 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执
16、行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。XTALl:振荡器反相放大器及内部时钟发
17、生器的输入端。XTAL2:振荡器反相放大器的输出端。(二)温度传感器的选择1.总述温度的测量是从金属(物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。不过在居民住宅中使用已可满足要求。在工业生产和实验研究中为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变化的原理。随着大规模集成电路工艺的提高,出现了多
18、种集成的数字化温度传感器。2.温度传感器的选择由于本次系统的温度偏高,在设计系统的时候我们首先考虑的是热电偶,但是其转化电路较为麻烦,增加了电路的制作成本。在比较了大量的测温方案后,我们决定采用集成温度测量芯片DS18B20。芯片DS18B20转换速度快,转换精度高,终于微处理器的接口简单,给硬件设计工作带来了极大的方便,能有效的降低成本,缩短开发周期。本系统使用的温度芯片顺应了这一趋势。简化电路的同时增加了系统的可靠性。2.1 DS18B20简介DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导
19、体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计
20、,十分方便。2.2 DS18B20内部结构 DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。 DS18B20采用3脚PR35 封装或8脚SOIC封装,其内部结构框图如图 2.1所示图 2.1 DS18B20内部结构框图64 b闪速ROM的结构如下: 开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8位是前面56 位的CRC 检验码,这也是多个DS18B20 可以采用一线进行通信的原因。
21、温度报警触发器和,可通过软件写入户报警上下限。主机操作ROM的命令有五种,如表所列指 令说 明读ROM(33H)读DS1820的序列号匹配ROM(55H)继读完64位序列号的一个命令,用于多个DS1820时定位跳过ROM(CCH)此命令执行后的存储器操作将针对在线的所有DS1820搜ROM(F0H)识别总线上各器件的编码,为操作各器件作好准备报警搜索(ECH)仅温度越限的器件对此命令作出响应DS18B20 温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM 的结构为字节的存储器,结构如图 2.2所示。 图 2.2 高速暂存RAM结构图 前2个字节包含测
22、得的温度信息,第3和第4字节和的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。温度低位温度高位THTL配置保留保留保留8位CRCLSB MSB 当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5 /LSB形式表示。温度值格式如下:这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二
23、进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。图中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读
24、数形式提供,并以0.0625LSB形式表示。表2是部分温度值对应的二进制温度表示数据。表2 部分温度值 DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。 在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前 56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数 据是否正确。2.3 DS18B20测温原理 每一片DSl8B20在其ROM中都存有其唯一的48位序列
25、号,在出厂前已写入片内ROM 中。主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。DS18B20的测温原理如图2.4所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决
26、定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值.。表31 ROM操作命
27、令指令约定代码功 能读ROM33H读DS18B20 ROM中的编码符合ROM55H发出此命令之后,接着发出64位ROM编码,访问单线总线上与该编码相对应的DS18B20 使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度变换命令,适用于单片工作。告警搜索命 令0ECH执行后,只有温度超过设定值上限或者下限的片子才做出响应温度变换44H启动DS18B20进行温度转换,转换时间最长为500MS,结果存入内部9字节RAM中读暂存
28、器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3,4字节写上、下限温度数据命令,紧跟读命令之后,是传送两字节的数据复制暂存器48H将E2PRAM中第3,4字节内容复制到E2PRAM中重调E2PRAM0BBH将E2PRAM中内容恢复到RAM中的第3,4字节读 供 电方 式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”续 另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能
29、命令发存储器操作命令处理数据。减法计数器斜坡累加器减到0减法计数器预 置低温度系数振 荡 器高温度系数振 荡 器计数比较器预 置温度寄存器减到0测温原理内部装置五、 系统整体设计(一)系统硬件电路设计1.硬件电路设计总体概述 温度计电路设计原理图如图5.1所示,控制器使用单片机AT89C2051,温度计传感器使用DS18B20,用液晶实现温度显示。 本温度计大体分三个工作过程。首先,由DS18820温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过89C205I单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示于显示屏上
30、。由图1可看到,本电路主要由DSl8820温度传感器芯片、SMCl602A液晶显示模块芯片和89C2051单片机芯片组成。其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。图5.1电路设计原理图2.CPU机器基本外围电路设计2.1单片机电路对于AT89S51的简介在本文的第四部分 单片机电路引脚图2.2晶振控制电路 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体或陶瓷谐振器
31、及电容C1、C2接在放大器的反馈回路中构成并联写真电路。对外接电容C!、C2虽然没有十分严格的要求,当电容容量的大小会轻微影响振荡器频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性。晶振控制电路图2.3 继电器电路图中P1.1引脚控制加热器继电器。给.P1.1低电平,三极管导通,电磁铁触头放下来开始工作. 继电器电路图2.4 锁存器74LS373引脚功能及工作原理2.4.1 74LS373引脚功能 D0D7为8个输入端 Q1Q7为8个输出端LE是数据锁存控制端;当LE=1时,锁存器输出端同输入端;当LE由1变为0时,数据输入锁存器中。OE为输出允许端;当OE=0时,三态门打开:当O
32、E=1时,三态门关闭,输出呈高阻状态。2.4.2 74LS373工作原理输入端D0D7接于单片机P0口,输出端提供的是低8位地址,LE端接至单片机的地址锁存允许信号ALE。输出允许端接地,以保持输出长通。LE端与8031单片机的ALE端口连接,当LE=1时(ALE高电平持续时间),74LS473的输出Q0Q7随其输入D0D7的状态变化,即P0口送出低8位地址信号一旦输出即传输到2764芯片,5264芯片的地址输入端口A0A7,实现输入输出隔离。74LS138 为3 线8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下: 当一个选通端(G1)为高电平
33、,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器用与非门组成的3线-8线译码器74LS1383线-8线译码器74LS138的功能表无论从逻辑图还是功能表我们都可以看到74LS138的八个输出引脚,任何时刻要么全为高电平1芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯
34、片已经损坏。当附加控制门的输出为高电平(S1)时,可由逻辑图写出由上式可以看出,同时又是这三个变量的全部最小项的译码输出,所以也把这种译码器叫做最小项译码器。71LS138有三个附加的控制端、和。当、时,输出为高电平(S1),译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平,如表3.3.5所示。这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。带控制输入端的译码器又是一个完整的数据分配器。在图3.3.8电路中如果把作 为“数据”输入端(同时),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。这就不难理解为什么把叫做
35、地址输入了。例如 当101时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。2.4.3 Intel 2764的引脚和功能表2764 EPROM存储容量为64K位,结构为8K8:13个地址线A12A0,8个数据线O7O0。2764 EPROM的控制信号有一个片选引脚和一个输出控制引脚,低电平有效时,分别选中芯片和允许芯片输出数据。2764 EPROM的编程由编程控制引脚以及编程电源Vpp控制。在编程时,对引脚加较宽的负脉冲;在正常读出时,引脚应该无效。Intel 2764有8种工作方式,前4种为正常状态,要求Vpp接5V;后4种为编
36、程状态,要求Vpp接25V作为编程高电压。新型EPROM芯片已经没有Vpp引脚,但编程仍然需要高电压,这种芯片内部设计有电压提升电路。3.前向通道设计3.1温度检测电路 DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成。DS18B20 的电源供电方式有2 种: 外部供电方式和寄生电源方式。工作于寄生电源方式时, VDD 和GND 均接地, 他在需要远程温度探测和空间受限的场合特别有用, 原理是当1 W ire 总线的信号线DQ 为高电平时, 窃取信号能量给DS18B20 供电, 同时一部分能量给内部电容充电, 当DQ为低电平时释放能量为DS18B
37、20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM 时) , 同时芯片的性能也有所降低。因此, 在条件允许的场合, 尽量采用外供电方式。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电。在这里采用前者方式供电。DS18B20与芯片连接电路如图所示:DS18B20与单片机的连接 外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC 降到3V 时,依然能够保证温度量精度。由于DS18B20 只有一根数据线,因此它和主机(单片机)通信是需要串行通信,而AT89S51 有两个串行端口,所以可以不用软件来模拟实现。经过单线接口访问DC18B20 必须遵循如下协议:初始化、ROM 操作命令、存储器操命令和控制操作。3.2电源输入部分电路 控制系统主控制部分电源需要用5V直流电源供电,其电