基于单片机的温度检测与报警系统的设计毕业设计论文.doc_第1页
基于单片机的温度检测与报警系统的设计毕业设计论文.doc_第2页
基于单片机的温度检测与报警系统的设计毕业设计论文.doc_第3页
基于单片机的温度检测与报警系统的设计毕业设计论文.doc_第4页
基于单片机的温度检测与报警系统的设计毕业设计论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图书分类号:密 级: 毕业设计(论文)基于单片机的温度检测与报警系统的设计THE DESIGN OF TEMPERATURE DETECTION AND ALARM SYSTEM BASED ON SCM学生姓名班 级学院名称机电工程学院专业名称机械设计制造及其自动化指导教师2013年 5 月 22 日 徐州工程学院毕业设计(论文)徐州工程学院学位论文原创性声明本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。本人完全意识到本声明的法律结果由本人承担。论文作者签名: 日期: 年 月 日徐州工程学院学位论文版权协议书本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。论文作者签名: 导师签名: 日期: 年 月 日 日期: 年 月 日II徐州工程学院毕业设计(论文)摘 要本论文主要阐述了基于89C51单片机的蔬菜大棚温湿度控制报警系统设计原理,主要完成电路设计及软件设计。该系统采用89C51单片机作为控制器,DS18B20集成温度传感器作为传感器,可对执行机构发出指令实现大棚温湿度参数调节。 本论文主要是完成一种温度测量、显示、报警、控制与一体的单片机温湿度检测系统的理论设计与仿真制作。 其中包括相关理论知识、硬件电路连接、软件程序设计及仿真过程。为-20-+80摄氏温度农业大棚进行温度测量、报警、记录。测量的温度范围在1040,测温的分辨为0.06。具有标定及修正功能。并具有多重保护、隔离设计,抗干扰能力强、可靠性高。丰富的软件功能及方便的操作界面。4位LED测量值显示 各通道报警状态指示灯传感器故障继电器输出。(扩展功能) 多点控制继电器输出(扩展功能) 输出继电关键词 89C51;温度;检测AbstractThis thesis describes the AT89C51 microcontroller based vegetable greenhouse temperature and humidity control alarm system design principles, mainly to complete the circuit design and software design. The system uses 89C51 microcontroller as the controller, DS18B20 temperature sensor integrated as sensors, actuators can issue commands to achieve greenhouse temperature and humidity parameters adjustment. This thesis is the completion of a temperature-measurement, display, alarm, control temperature and humidity jade chip integrated detection system design and simulation theory of production. Including relevant theoretical knowledge, the hardware circuit, software design and simulation process. -20+80 temperature agricultural greenhouse temperature measurement, alarm, record. Measured temperature range 10 40 , the temperature measurement resolution is 0.06 . With calibration and correction. And has multiple protection, isolation design, anti-interference ability, high reliability. Rich software features and convenient user interface. 4-digit LED display measured values for each channel alarm status indicator sensor fault relay output. (Extensions) multi-point control relay output (extensions) output relayKey Words:AT89C51 SCM;Temperature;detection 目 录摘 要IAbstractII1 绪论12系统方案总体设计22.1温度参数、报警系统22.2系统设计的原则22.3系统的组成及工作原理32.3.1系统的组成32.3.2 89C51单片机简介32.3.3 89C51的主要特性42.3.4 89C51单片机的引脚说明42.3 DS18B20温度传感器模块62.5显示模块电路122.5 系统的电源及控制电路162.6键盘模块192.7报警模块212.8系统各元件连接图213系统程序设计22结论27致谢28参考文献29附录30附录1程序代码30附录239411 绪论课题提出的背景及意义改革开放之后中国经济腾飞发展,人们对日常生活的质量要求也同样越来越高。以人畜为主的自给自足传统农业慢慢的被效率更高的大棚种植所取代。如何节约劳动成本,提高种植效率成为了现代农民和相关技术员一直研究关心的话题。自动化、智能化是现代大棚种植技术的必然趋势。温度在整个蔬菜生长种植中起到非常重要的作用,蔬菜生长的快慢速度和温度有很大关联。我国大多数的温室大棚还采用相对落后的人工看护,也就是在大棚中悬挂温度计,还有专门的人员不时观察记录数据。非常之麻烦,同时也不符合以优质、高效率、自动化、智能化为目标的现代农业的发展要求。因此如何实现温度的自动控制成为了整个大棚蔬菜生产种植中的一个重要任务。89C51单片机是一个使用的较广泛的芯片,不仅在众多领域使用广泛并且也取得了很多瞩目的成绩,被用于温度检测和控制系统的例子也非常之多。89C51完全能够实现对温度的全程检测和控制,而且它使用简单,成本低廉,容易学习和掌握,所以具有很高的性价比。传统人工检测温度的方法主要以人工轮流值班和来回巡视的办法,费时费力不说,还有可能因为人为的原因造成重大事故,缺乏科学的精神,而基于89C51的单片机的温度控制系统可以做到对温度的精确、即时的检测并且记录温度数据反映大棚内温度变化。再室内温度超过预设特定温度时报警器工作。控制温度在适合植物生长的范围之内。机器的工作安全稳定,同时解决了人力资源的浪费问题,更加适合现代大棚种植,特别是为中国的小农经济向大规模种植转型提供了方便。2系统方案总体设计2.1温度参数、报警系统1.温度范围:基本温度范围1040误差精确度小于0.064位LED数字直接显示可以随意设定报警器的温度上下限2.温度数据采集:采用DS18B20温度传感器作为测温采集模块核心部件选用89C51单片机对数字信号进行采集及处理4位LED数字显示器做到对温度的即时、精确的显示3.报警系统温度传感器DS18S20会从环境中实时的采集温度数据,模拟信号经A/D转化为数字信号输入到89C51单片机中。经过处理后会记录相关温度数据并与当前设计好的温度上下限进行对比。如果采集到的温度超过了设定的温度范围。单片机会通过电磁蜂鸣器和发光二极管发出报警的信号提醒相关人员。 2.2系统设计的原则系统应该具有良好的通用性及可靠性的特点并且维护方便、性价比高1.通用性89C51单片机迄今为止是一个使用非常广泛的芯片,被运用于诸多生产生活领域。简单易用,容易上手。具有良好的通用性。2.可靠性高可靠性必须作为单片机系统选择的首要前提之一,而且在每一个系统设计环节中,高可靠性都要做为方案制定选择的首要准则。如何提高系统的可靠性也是设计员常常考虑的问题,通常从以下几个方面进行考虑:选择用本事具备高可靠性的元器件:尽量合理的布线及接地处理;供电电源要具有良好的抗干扰能力;接口和输入/输出通道的抗干扰设计考虑;软硬件的滤波处理;系统自身具备误差诊断功能。3操作维护方便在对系统的软硬件进行设计时,应当从使用者的角度考虑到它的日常操作及维护是否方便,尽量降低操作人员的操作难度。系统应该具备自我诊断的程序,方便操作人员找出故障原因,便于维修的工作。系统有复位功能,避免使用人员不动软件而大费周章。同时也在一定程度上降低了对使用者在专业知识要的要求。4.性价比单片机系统具备低功耗、小体积等特点。也因为它低廉的价格,最有很高的性价比。一个系统能否被大众接受广泛运用,性价比是一个非常关键的因素。所以在设计时应该考虑到如何降低系统的成本,譬如简化系统的硬件电路等降低成本。来提高系统的性价比。2.3系统的组成及工作原理2.3.1系统的组成89C51单片机电源报警电路时钟复位电路本系统以89C51单片机做为系统的主要控制核心,温度传感器采用DS18B20,采用4位的LED及串口实现温度的显示。系统的总体设计工作原理如图所示温度传感器DS18B204位LED数字显示电路温度控制电路图2-1单片机系统工作原理图2.3.2 89C51单片机简介89C51单片机片内带有4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。2.3.3 89C51的主要特性1. 和MCS-51系列单片机在引脚和指令上完全兼容 ;2. 拥有24K的可编程FLASH存储器 ;3. 能够重复写/擦循环1000次;4. 长达10年的数据保留时间;5. 全静态工作,工作范围:0Hz-24MHz ; 6. 三级程序存储器锁定;7. 128个8位用户数据存储单元RAM和128个专用寄存器单元SFR; 8. 4组8位32个可编辑I/O口(P0、P1、P2和P3),用于对数据的读入和输出; 9. 两个16位可编程定时器/计数器,以实现定时或计数功能,也可以产生中断;10. 具有2个外中断。2个定时器中断和一个串行中断,并具有2级的优先级别供选择;11. 内置双全工串行通信口; 图 2-2 89C51单片机引脚图 12. 间隙和掉电2种模式; 13. 片内振荡器和时钟电路,也可外置振荡晶振和电容。2.3.4 89C51单片机的引脚说明1电源引脚电源引脚2根,主要负责为单片机供电。VCC(Pin40):电源端。正电源接+5V电压。GND(Pin20):接地端。2.外接晶振或者外部振荡器引脚主要负责为单片机的运行提供时钟振荡器,主要有两个引脚。XTAL1(Pin19):时钟XTAL1脚,片内振荡电路的输入端。XTAL2(Pin18):时钟XTAL2脚,片内振荡电路的输出端。89C51单片机的时钟振荡器有2种工作模式。一种是片内时钟振荡方式,在18和19脚外接石英晶体(033MHz)和振荡电容,振荡电容的值一般取10pf30pf。另外一种是外部时钟方式,将XTAL2悬空,外部时钟信号(033MHz)从XTAL1脚输入。3输入输出(I/O)端口引脚89C51提供了4个8位并行I/O端口,基本功能和其他51系列单片机完全一致,部分引脚功能有扩展功能。P0口:即P0.0P0.7(Pin39Pin32),输入输出脚,可用于8位并行I/O口或分时复用为地址和数据总线。P0口作为输出口时,每个引脚负载8个TTL;在外扩存储器时,可定义为低8位地址/数据线;定义为I/O口时,需要接上拉电阻,为准双向I/O口,在程序中向该端口写入“1”后,成为高阻抗输入口;在对片内Flash编程时,P0口可以用于接收字节代码,在程序校验时可以输出字节代码,在程序校验期间应外接个上拉电阻。P1口:即P1.0P1.7(Pin21Pin28),输入输出脚,8位准双向并行I/O口。P1口内部已经具有上拉电阻的8位准双向I/O口,能负载4个TTL;在Flash编程及校验时,被定义成低8位的地址线。和基本的8051不同的是,其部分引脚具有第二功能。引脚P1.0是定时器/计时器T2的外部计数输入,引脚P1.1是表示定时/计数器T2的捕获/再装入触发和方向控制,引脚P1.5(MOSI)、P1.6(MISO)和P1.7(SCK)用于系统的内部编程。P2口:即P2.0P2.7(Pin21Pin28),输入输出脚,8位准双向并行I/O口。P2口内部已经具有上拉电阻的8位准双向I/O口,能负载4个TTL;当它访问外部存储器时,定义为高8位的地址线。如果只需8位的地址线,它将输出特殊功能寄存器(锁存器)中的内容。P3口:即P3.0P3.7(Pin10Pin17),输入输出脚,8位准双向并行I/O口。P3口内部已经具有上拉电阻的8位准双向I/O,能负责4个TTL。和普通的8051一样,每个引脚都具有第二功能,引脚P3.0(RXD)和引脚P3.1(TXD)用于串行数据传输,分别为串行数据的接收和发送端口;引脚P3.2和引脚P3.3为外部中断请求,分别用于和的中断输入;引脚P3.4(T0)和P3.5(T1),分别为定时器/计数器0和定时器/计数器1的外部计数输入端;引脚P3.6(WR)和引脚P3.7(RD)用于读写单片机外部RAM,分别是外部数据写选通信号和读选通信号。4.复位、控制和选通引脚复位、控制和选通引脚主要负责单片机程序复位、编程控制及外部程序存储器的选通。下面分别进行介绍。RST(Pin9):单片机内部CPU的复位信号输入端。在单片机的振荡器启动后,该引脚置两个机器周期以上高电平,便可以实现复位。另外,对于AT89C51,其内部包含定时监视器电路。在定时器定时输出后,该引脚置高电平,并持续96个振荡周期,也可以实现复位。特殊功能寄存器AUXR中的DISRT0位可以使复位无效。在默认的DISRT0位状态下。RST引脚上的高电平有效。ALE/PROG (Pin30):ALE为地址锁存使能端和编程脉冲输入端。当访问外部程序存储器时,ALR(地址锁存)的负跳变将低8位地址打入锁存;而非访问内部程序存储器时,ALE端将有一个1/6振荡频率的正脉冲信号,该信号可以用于外部计数或时钟信号。当访问外部数据存储器(执行MOVX类指令)时,ALE会跳过一个脉冲。在Flash编程中,该引脚用于输入编程脉冲()。另外,在程序中,可对特殊功能寄存器区的地址为8EH单元的D0位置“1”,可禁止ALE输出,只有在执行MOVX或MOVC类指令时,ALE才激活,仍输出锁存有效;在执行外部程序时,该设定禁止ALE位无效。PSEN(Pin29):访问外部程序存储器读选通信号。当单片机访问外部程序存储器,读取指令码时,每个机器周期产生两次有效信号,即此脚输出两个负脉冲通信号;在执行片内程序储存器读取指令码时,不产生此脉冲;在读写外部程序时,也不产生PSEN脉冲信号。EA/Vpp(Pin31):EA为访问内部或外部程序存储器选择信号,在Flash编程时,提供Flash编程电压Vpp当CPU访问外部程序储存器(0000HFFFFH单元)时,则EA必须保持低电平(即接GND端);当保持高电平(即接VCC端)时,则CPU先从片内0000H单元开始,执行内部程序存储器程序;如果外部还有扩展程序存储器,则CPU在执行完内部程序存储器程序后,自动转向执行外部程序存储器程序;对片内Flash编程时,次引脚用于输入编程允许电压。另外,如果单片机的保密被编程,则复位时,内部锁EA存端的状态。2.3 DS18B20温度传感器模块1.DS18B20温度传感器简介单总线即1-Wire总线结构,是美国Dallas Semiconductor公司推出的非常简单实用的总线协议。1-Wire可以通过一条公共数据线实现主机与一个或者多个从机之间的半双工、双向通信。实用1-Wire将引脚的使用减少到了最少,因此特别适用在单片机系统中。Dallas Semiconductor公司推出的DS18B20温度传感器即为1-Wire总线接口。由于其所需要的引脚最少、接口简单、无须外部元件和精度高等优点,广泛应用于单片机系统中进行测温及温度监控。 图2-3 DS18B20传感器DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 (1)64位光刻ROM。开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。(2)非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。(3)高速暂存存储,可以设置DS18B20温度转换的精度。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PRAM。高速暂存RAM的结构为8字节的存储器,结构如图2-4所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。它的内部存储器结构和字节定义如表2-2所示。低5位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。 Byte0温度测量值LSB(50H)Byte1温度测量值MSB(50H)E2PROMByte2TH高温寄存器-TH高温寄存器Byte3TL低温寄存器-TL 低温寄存器Byte4配位寄存器-配位寄存器Byte5预留(FFH)Byte6预留(0CH)Byte7预留(IOH)Byte8循环冗余码校验(CRC)图2-4 DS18B20内部存储器结构DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,如图2-5所示。表2-1 DS18B20字节定义TMR0R100011111由表2-1见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2-4是一部分温度值对应的二进制温度数据。表2-2DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750表2-3部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H(4) CRC的产生在64 位 ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。2.DS18B20主要特点如下: 1-Wire单总线接口,通信仅需占用一个I/O端口引脚; 每个器件具有唯一的、存储在片内的ROM的64位序列码;多节点检测功能简化了分布式温度检测应用;使用简单方便,无须外部元件;电源电压3.0V5.5V,可以选择由数据线供电;可测温度范围:-55125;9位数字温度计分辨率在-10到85的温度范围内具有0.5的高精度;最大温度转换时间750ms;用户可编程的非易失性报警装置;适合用于温度测温、温度调节装置控制和任何温度敏感系统的应用。DS18B20采用简单的TO-92封装,占用极少的电路板空间。DS18B20的引脚排列如图所示。3.DS18B20传感器供电方式选择 DS18B20有2种供电方式,即外部供电方式和寄生供电方式。如果采用外部供电方式,如图2-5所示。此时DS18B20可以接3.3V到5V的电源,而GND引脚比较接地。DQ为1-Wire总线的数据输入/输出引脚。Vdd引脚为可选引脚,假如采用寄生供电模式,则Vdd引脚必须接地。在使用DS18B20时,如果温度超过100则不推荐使用寄生电源供电方式,而采用外部电源直接供电。所以本次设计采用外部电源直接供电。 图2-5 DS18B20的典型应用理论上一条总线可以同时为256个DS18B20传感器同时供电,但是考虑到本次设计以温度传感器系统功能说明为主,还有就是同时接这么多传感器整个系统就会出现功耗问题,总线长度超过0.5米的话,数据传输也会出现问题。所以本设计暂时只选用2个DS18B20温度传感器分别接与单片机的P1.0和P1.1引脚,传感与单片机 连接方式如图 2-6所示,图2-6 DS18B20连接示意图5.DS18B20传感器的数据操作1-Wire总线协议选择1-Wire设备,主要是读取其内部的64位ROM序列号,在实际通信过程中,1-Wire主机通过如下的ROM操作指令来实现。表2-4 ROM操作命令指令代码功 能读出ROM33H用于读出DS18B20 ROM中的序列号。匹配ROM55H用于识别(或者选中)某一特定的DS18B20并进行后续操作。搜索ROM0F0H用于确定挂接在同一总线上DS18B20节点数,以及所有的节点设备的ROM序列号。跳过ROM0CCH用于等命令发出后,系统将会对所有DS18B20进行操作,通常被用于启动所有的DS18B20进行温度转换之前,或1-Wire总线中仅有单个DS18B20。温度报警搜索0ECH用于识别和定位系统中超出了用户设定的报警温度界限的节点设备。温度转换44H用于启动DS18B20进行温度测量,温度转换命令被执行后,DS18B20进行温度测量和转换。如果使用外部电源供电,在D18B20处于温度转换中,主机发送读时间隙,在总线输出为“0”,如果温度转换完成,则输出“1”。结果存入内部9字节RAM中。读暂存器0BEH用于读取高速暂存器中的内容。从高速暂存器字节0开始,最多读写9个字节。该过程可以被复位命令中止。写暂存器4EH用于将数据写入到DS18B20高速暂存器的地址2(TH字节)和地址3(TL字节)。当DS18B20执行写暂存器命令时,可以通过复位命令来中止写入。复制暂存器48H用于将高速暂存器中的内容复制到DS18B20的EEPRAM中,即把温度报警器触发字节复制到非易失性存储器中。在外部供电的情况下,主机发送读时间隙,DS18B20将在总线上输出一个“0”,如果复制过程结束的话,则输出“1”。重读E2PRAM0BBH用于将存储在非易失性EEPRAM中的内容重新读入到暂存器中,该命令在DS18B20上电时会自动执行,这样器件一开始工作,暂存器里便存在有效数据了。如果返回“0”表示忙,“1”表示温度转换完成。读电源0B4H用于读取DS18B20的供电模式,“0”表示寄生供电模式,“1”表示外部供电模式。6.储存器的操作命令通过1-Wire总线端口访问DS18B20的流程图,如图2-7所示。DS18B20需要严格的时序协议才能实现1-Wire总线通信。1-Wire总线协议包括几个典型的信号类型,分别为复位脉冲、存在脉冲、写0、写1、读0和读1。其中,存在脉冲由1-Wire从从机机发出,其余均由主机发出。主机与DS18B20传感器之间的任何操作都需要初始化开始。初始化时,主机发出复位脉冲,从机发出存在脉冲。存在脉冲通知1-Wire主机DS18B20在总线上已经准备好了,可以进行后续的ROM命令和存储器操作命令。1-Wire主机和DS18B20的直接数据读写时通过前面介绍的ROM操作指令,存储器操作命令及时间隙处理来实现的。时间隙包括写时间隙和读时间隙,对其介绍如下所示。1.写时间隙:当1-Wire主机把数据线DQ从逻辑高电平拉到逻辑低电平的时候,写时间隙便开始。DS18B20在1560的时间窗口内对数据线DQ采样。如果DQ是低电平,就是写0;否则,就写1。1-Wire主机要发出一个写1时间隙,必须把数据线DQ拉到低电平释放,在写时间隙开始后的15内,允许数据线DQ拉到高电平。1-Wire主机要生成一个写0时间隙,必须把数据线低电平并保持60。2.读时间隙:从DS18B20读取数据时,当1-Wire主机把数据线DQ从逻辑高电平拉到逻辑低电平时,读时间隙开始,数据线DQ必须至少持续1;从DS18B20输出地数据在读时间隙的下降沿出现后15内有效。此时,1-Wire主机必须在这15内停止把DQ引脚驱动为低电平,以读取数据线DQ状态。在读时间隙的结尾,数据线DQ将被外部上拉电阻拉到高电平。从上面介绍可以看出,所以写时间隙必须至少维持60,包括2个写周期及至少1的系统恢复时间。所有读时间隙最少必须为60,包括两个读周期和至少1的恢复时间。DS18B20为9位数字温度分表率,精度为0.5。所有数据都是以最低位有效应(LSB)在前的方式进行读写。DS18B20通过温度转换命令启动一次温度测量,测量结果存放在高速暂存器中,占有暂存器的字节0(LSB)和字节1(MSB)。由于DS18B20可以测量正负温度,因此测量数据是以16位带符号位扩展的二进制补码形式存放的。1-Wire主机使用读暂存器命令可以把高速暂存器中的结果读出。DS18B20的温度报警触发器TH和TL各由一个EEPROM字节构成。1-Wire主机对TH和TL的读取需要通过高速暂存器,而对TH和TL的写操作则直接使用写存储器命令即可。 图2-7通过单总线访问DS18B20的流程图7.对DS18B20的设计,需要注意以下问题1.对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高。2.有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。3.测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0 的温度值。4.实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。2.5显示模块电路7段共阴极LED简介LED即发光二极管,英文全称为Light Emitting Diode。单独的发光二极管便是一个最简单的LED,通过控制其的亮灭来作为信号指示,一般用于电源指示灯、工作状态指示等。当个的发光二极管使用比较简单。LED数码管是由若干个发光二极管组成的显示字段的显示器件,一般简称为数码管。当数码管中的某个法官二极管通电时,响应的一个字段便发光,不导通的则不发光。LED数码管可以根据控制不同的组合的二极管导通,来显示各种数据和字符。单片机应用系统中使用最多的是7段LED,其可以显示十进制数字及一些英文字符。7段LED显示模块可以分为共阴极和共阳极两种,下面分别进行介绍。7段共阴极LED数码管和共阳极LED数码管结构相似,其引脚配置,如图2-8所示。从图上可以看出7段共阴极LED数码管同样由8个发光二极管组成,其中7个发光二极管构成字形“8”,另一个发光二极管构成小数点。7段数码管每段的驱动电流和其他单个LED发光二极管一样,一般为510mA;正向电压随发光材料的不同表现为1.82.5V不等。共阴极7段LED数码管的内部结构如图2-9 所示。其中所有发光二极管的阴极为公共 图2-8 7段共阴极LED引脚配置 图2-9 7段共阴极LED内部结构端,接GND。如果发光二极管的阳极为高电平的时候,发光二极管导通,该字段发光;反之,如果发光二极管的阳极为低电平的时候,发光二极管截止,该字段不发光。当发光二极管导通时,相应的一个点或者一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的字符数量也有限,但其控制简单,使用也很方便。发光二极管与阳极连在一起的称为共阳极数码管,阴极相连在一起的则被称为共阴极数码管。对于7段共阴极LED数码管显示字符和单片机并行口输出数据的关系,如表2-5所示。这样便可以直接从单片机并行口输出数据,控制字段的亮灭来显示不同的数据和字符等。表2-5 7段共阴极LED显示字符段码显示字符共阴极LED段码显示字符共阳极LED段码03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56DHU3EH67DH31H707HY6EH87FHH76H96FHL38HA77H全亮FFHB7CH全灭00H 4位LED数码管简介在实际的单片机应用系统中,使用单个LED数码管的情况非常少,经常需要同时使用多个LED数码管来显示大于一位的数据或字符串。以本次设计采用的4位LED管为例着重说明。这4个数码管可以显示-999999之间的任何数字,也可以同时显示4个字符构成的字符串。可见使用多个LED数码管可以大大扩展显示的信息量。对于使用单个LED数码管的场合,直接用单片机的一个并行串口便可以控制显示。如果仍然采用这种方法来控制显示N个LED数码管显然是不太可能的,因为典型的8051单片机只有4个I/O并口,而其有些I/O口还需要用做其他用途。而对于一些多引脚的型号,通常也不够为每个LED分配一个I/O并口用于显示,此时便需要根据系统资源占用情况,来选用合理的显示控制方式。对于多个LED数码管并用的场合,一般有静态显示,动态显示和LED驱动器三种显示驱动方式。 图2-10 4个LED并列使用原理图本设计由于要显示的是即时的动态温度信息,所以选用动态驱动显示动态显示是指每隔一段时间循环点亮每个LED数码管,每次只要一个LED被点亮。根据人眼的视觉暂留效应,当循环点亮的速度很快的时候,可以认为各个LED是稳定显示的。动态显示的硬件连接比较简单如图2-10所示。这里使用了8个LED的共阳极引脚或共阴极引脚分别有另一组I/O线控制,从图中我们可以看出,使用两个8位的I/O端口便可以动态显示8位LED数码管。其中一个并口作为LED数码管的控制引脚,另外一个并口作为公共的数据总线。程序中采用扫描显示的方式,即在同一时刻,只使用一个LED显示数据。通过为共阴极LED的公共引脚赋低电平,从而选择某个LED显示。如此循环,使每个LED显示该LED应该显示的数据,并进行适当的延时,形成视觉暂留效果。这样便可以达到动态显示的目的。动态显示情况下,LED数码管显示的稳定性与点亮时间和循环的间隙时间有关,而LED显示的亮度与导通电流、点亮时间和间隔时间有关。动态显示就是每隔一段时间循环点亮每个LED数码管,每次只是一个LED被点亮,应该频率很高,人眼存在视觉暂,所以看上去好像是每个LED都被点亮了。动态LED显示的硬件连接很简单,把各个LED数码管的8个段选引脚都并联在一起。连接到8位的I/O数据总线上。通过控制VCC和GND端口电压来控制每个LED数码管的亮暗。程序中采用扫描显示的方式,即在同一时刻只使用一个LED数码管显示。通过为共阴极LED 的公共引脚赋低电平,从而选择某个LED显示。如此循环,使每个LED显示想要的数据。并进行适当的延时,这样就可以形成视觉暂留效果。达到了动态显示的目的了。动态的显示的稳定性和点亮时间和循环的间隔时间有关,LED的亮度与导通的电流还有点亮的时间有关。同样情况下动态显示比静态显示亮度差,所以选用动态显示的情况下应该选用大的导通电流。所以本次设计才有10mA的电流。因为一般的发光二极管的导通电流在3mA到10mA之间。段选口外接的电阻为330。二极管发光时两端的电压为1.7V,单片机系统所采用的电源电压为5v,这样就保证了导通情况下电流的大小为10mA。下面举例说明本次设计的4位共阴极LED数码管的动态显示原理。譬如说我们要在数码管上显示“1234”。(数码管的位选段默认为高电平,4位共阴极数码管是低电平是才显示)。单片机是按照时序一个个处理命令的,所以我们给单片机的段选发一个显示图形“1”的命令。也就是让LED的b和c两个数码管被点亮,阴极数码是高电平点亮。数码管是由2位16进制的BCD控制的,只有b和c数码管被点亮就是说只有b和c是1,其他都是0。那2进制表示就是0110 0000,转换为BCD码就是06H(BCD码是从高位到低位逐个编译的也就是0000 0110)。我们把06H直接赋值给控制数码管的单片机总线。然后再给位选赋值为0111。这样就在第4位的数码管上显示了一个“2”。延迟一段时间后。我们把“2”的BCD码赋值给段选总线。给位选赋值1011。这样就在第3位数码管上显示出了“2”。同理在第2位上显示“3”,在个位上显示“4”。然后把这个过程进行一个循环语句。这样看上去就好像显示出来了“1234”。2.5 系统的电源及控制电路1.电源电路考虑到实际生活中一般电源采用的是220V的交流电压。而单片机系统使用的是5V的直流电压电源。所以我们采用7805稳压芯片。这样我们在实际生活中更加容易找到系统所要的电源。为使用人员提供了很大的方便。因为89C51单片机正常工作电压为5V,切底层工作电路都是低功耗的。所以我们选用7805三端稳压芯片完全可以满足系统的设计要求。其具体电路图如图2-11所示。其中C1,C2,C3和C4电容起到消除滤波的作用,提高系统负载能力,使输出的电压信号更加稳定。 图2-11 7805三端稳压芯片电路图2.晶振电路定时和计数器是控制系统中的两个重要功能,也是时序电路的基础。对于时序控制系统,经常需要定时输出某些控制信号,而且对某些带测量进行定时扫描和监测,这便需要实现定时和技术功能。51系列单片机的硬件上集成了可编辑定时器/计时器。对于89C51,其有三个定时/计数器,T0和T1是通用定时器/计数器,定时器/计数器2(简称T2)是集定时、计数和捕获三种功能于一体,功能更强。单片机内部通过专用寄存器TMOD、TCON来设置定时器/计数器工作参数,例如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。定时器/计数器结构核心是一个16位的加1计数器,定时器/计数器的结构如图所示。其中,这个16位计数器是由两个8位计数器组成的,定时器/计数器T0由TH0和TL0构成,T1由TH1和TL1构成。TMOD和TCON是定时器/计数器的控制寄存器。寄存器TMOD主要用于指定各定时器/计数器的功能和工作模式。寄存器TCON用于控制定时器/计数器的启动和停止计数,同时也设置定时器/计数器的状态。TMOD和TCON属于特殊功能寄存器,其内容在单片机软件中设置,这样便于单片机程序操作。当单片机进行系统复位时,寄存器TMOD和TCON的所有控制位都清零。对定时器/计数器T0和T1每输入一个脉冲,则计数器加1。当T0或T1加到计数器每个二进制位全部为1时,如果再输入脉冲,计数器溢出,此时计数器清零,从而表示定时器时间已到或计数值已满。此时,在寄存器TCON中置位中断请求标志位TF0或TF1,向CPU发出中断处理请求,用户便可以在程序中进行相应的代码处理。关于单片机T0和T1所具有的两个基本功能计数和定时。下面分别介绍这两种功能和工作原理。(1)是对计数脉冲进行计数。其中,计数脉冲来自相应的外部输入引脚P3.4(T0)或P3.5(T1)。当该引脚的输入信号发生由高电平至低电平的负跳变时,计数器(TH0、0或TH1、TL1)的值增加1。单片机对外部输入信号的占空比没有要求,但一般要使这一电平至少保持一个机器周期,主要是为了确保所给定的电平在变化前至少被采样一次。单片机CPU在每个机器周期的S5P2采样值为0,即检测到引脚电平的负跳变,则在下一个周期的S3P1期间,计数值增加1。由于总共需要两个机器州区来确定一次计数,即需要24个振荡周期,因此外部输入的计数脉冲的最高频率为单片机振荡器频率的1/24。(2)定时是对时间进行统计。定时器/计数器的定时功能其实也是通过计数实现的,与计数功能不同的是,此时计数脉冲来自于单片机的内部时钟脉冲。单片机在每个机器周期都将计数器的值增加1,由于每个机器周期等于12个振荡周期,因此计数器的计数速率为振荡器频率的1/12。当晶体振荡频率选定时,机器的周期也就确定了。例如,本次设计才有的晶体振荡频率为12MHz,机器周期即为1s,计数速率为1MHz,每隔1s计数器加1,这样就可以将对机器周期的计数转换成对时间的计数。计数值乘以单片机的机器周期即为定时时间。AT89C51单片机各功能部件的运行都以时钟信号为准,按照振荡电路的高低电平信号有条不紊的一个一个周期地工作。因此时钟频率的快

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论