《毕业设计(论文)基于51单片机的多路温度采集和报警系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机的多路温度采集和报警系统.doc(51页珍藏版)》请在三一办公上搜索。
1、 本科生毕业论文(设计)系(院)物理与电子信息科学 专 业 电子信息工程论文题目 基于51单片机的多路温度采集 和报警系统 学生姓名 指导教师 (讲师)班 级 2007级电信1班 学 号 07331021 完成日期: 2010年11月基于51单片机的多路温度采集 和报警系统设计物理与电子信息科学系 电子信息工程 07331021摘要本设计利用单片机及Keil编程软件编程和PROTEUS单片机仿真软件和电子电工等方面知识,用Keil编程软件编程,用PROTEUS单片机仿真软件仿真。最后制作实物,将程序下载到单片机中,利用(I/O)口采集来自多路温度的数据,根据各路温度的不同,集中准确的显示出来,
2、并且根据所设温度的上下限通过驱动蜂鸣器进行听觉上的报警,同时还可以通过LED灯协助进行视觉上的报警,从而达到多点温度的采集和报警的目的。以Keil编程软件和PROTEUS软件来进行仿真、分析,调试,为设计提供了一个方便、快捷的途径,为设计节约了设计时间。关键词:AT89S52单片机 温度 采集 报警 目 录1 绪论11.1 本系统功能11.1.1 温度测量功能11.1.2 温度报警功能11.1.3 系统工作流程11.2 本系统的设计思路21.2.1 本系统的设计思想和工作原理. 21.2.2 设计功能要求21.2.3 方案对比21.2.4系统总体设计方案31.3 本系统优点41.3.1 线路简
3、单41.3.2测量温度精确41.3.2报警温度可调42.1本系统硬件和软件组成52.1.1 硬件组成52.1.2软件组成52.2 STC单片机介绍62.2.1 STC单片机功能介绍62.3 DS18B20数字温度传感器介绍72.3.1 功能介绍82.3.2 DS18B20温度传感器是存储器92.3.3 DS18B20内部逻辑图102.3.4 DS18B20温度传感器读写时序132.3.5 DS18B20存储器操作命令142.4 LCD1602液晶152.4.1 LCD1602液晶显示模块基本技术152.4.2技术参数152.4.3时序特性表152.4.4引脚和指令功能162.4.5指令功能16
4、2.4.6显示位与DD RAM 地址的对应关系172.5部分电路功能172.5.1晶振电路182.5.2复位电路182.5.2温度采集电路182.5.2显示电路192.5.2报警电路193 程序的编写与调试203.1 程序的编写203.1.1 新建工程213.1.2编写程序213.2 程序的调试224 系统原理图的绘制234.1 绘制原理图库244.1.1软件启动244.1.2绘制原理图元件254.2 绘制PCB库254.2.1 绘制PCB元件264.3 系统完整原理图265 系统PCB图275.1 为覆铜PCB图285.2覆铜PCB图286 系统工作过程296.1 温度的测量307 程序框图
5、及C语言程序317.1温度采集系统原理框图317.1.1温度显示模块317.1.2读温度子程序327.1.3温度转换子程序327.1.4计算温度子程序337.2温度采集系统C语言程序33结论45致谢46参考文献471 绪论1.1 系统功能1.1.1 温度采集功能利用多个DS18B20数字温度传感器实现对多个地点温度进行同时准确的测量,单片机作为控制器件,使多点温度值显示到LCD1602液晶上,实现多点温度的实时采集。1.1.2 温度报警功能利用DS18B20数字温度传感器进行温度的采集,单片机作为控制器件,将采集的数据与软件程序所设定的范围进行对比,如果超过了安全范围,系统将通过蜂鸣器和LED
6、灯进行模拟听觉和视觉上的报警,达到对多点实时温度的报警目的。1.1.3系统工作流程,见图1-1系统上电初始化DS18B20进行数据的采集并将数据以二进制的形式传至单片机单片机对数据进行处理LCD1602进行温度显示通过数据分析进行报警图1-1系统工作流程1.2本系统的设计思路1.2.1 本系统的设计思想和工作原理设计思想:随着时代的发展人们的生活水平越来越高,对生活的要求也越来越高,单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统。同时随
7、着现代信息技术的飞速发展,温度测量采集以及报警系统在工业、农业、军事及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集报警系统的设计与研究有十分重要的意义。设计原理:本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LCD进行显示。本系统可以实现多路温度信号采集与显示,可以使用程序来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和LED进行报警。1.2.2 设计功
8、能要求(1)检测的温度范围:0100。(2)检测分辨率0.1。(3)显示的多路的温度值不相互干扰,而且对各个传感器的所属温度都能进行报警。(4)设计并制作各检测器以及主控器所用的直流稳压电源。由单相220V交流电压供电。(不可使用定型产品)。1.2.3 方案对比1.2.3.1电源提供方案为使模块稳定工作,必须有可靠电源。我们考虑了两种电源方案。方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用USB线直接提供电源。该方案的优点是系统简明扼要,节约设计时间和设计成本,且稳定。综上所述,我们选择第
9、二种方案。1.2.3.2电路板制作方案电路板的制作直接关系到设计所需要的时间和成本,更关系到设计最终的成败,我们考虑了两种电路板制作方案。方案一:用万通板做电路。方案二:用PCB板做电路。万通板焊接可以省去用软件绘制电路图,腐蚀电路板打孔等过程,使设计的工序大大减少,而且用PCB板打印的时候打印机打印电路不清晰,转印效果不好导致腐蚀的时候电路出现断开等现象,考虑到我做的硬件布线不是很复杂,用万通板很容易实现,所以我还是选择了第一种方案来制作电路板。1.2.4系统总体设计方案系统总体主要由对单片机进行编程后得到控制,系统的其他功能部件分别接至单片机的对应I/O口。P1口 P0口AT89S52P3
10、LCD1602液晶电路报警电路多路温度传感器晶振.复位 图1 整体模块1.3 本系统优点1.3.1 线路简单DS18B20与单片机之间一根导线进行数据传输,不需要对数据进行转换,接线简单。1.3.2 温度测量准确DS18B20的温度分辨率为0.0625,所以对温度值可以进行准确的温度转换。1.3.3 报警温度的范围可调 此系统的报警温度的范围是通过软件设定的,因此想要改变不需要任何硬件上的改变,只需要对程序进行简单的改变,非常方便。2系统硬件介绍2.1系统硬件及软件组成2.11硬件组成本系统所用的硬件有:见表2-1。表2-1系统硬件清单器件名称数量STC89C52单片机1个12M晶振1个LED
11、发光二级管2个蜂鸣器1个独立键盘2个LCD16021个万通板1个DS18B204个MAX232电平转换芯片1个电容若干电阻若干导线若干2.1.2软件组成软件有:keil软件、PROTEUS软件、windows操作系统和Protel 99se等软件组成。2.2 STC单片机介绍单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快。1971年Intel公司首次宣布4004的4位微处理器,1974年12月Fairchild(仙童)公司即推出了8位单片机F8,开创了单片机的门户。单片机在我国的应用始于20世纪70年代末,那时我国的科研工作者开始对单片机的应用进行了初期探索,20世纪80年代,
12、单片机在我国得以广泛的应用,各理工科院校陆续开设了有关应用课程。在教学及应用上,Zilog公司生产的Z80CPU成为我国工业控制的主流,以Z80为CPU组成的TP801单板机在教学上及应用领域发挥过巨大作用。20世纪80年代末至90年代初,我国在工业控制领域开始转向使用Intel公司生产的MCS-51。单片机从1976年公布8位机至今不到30年的时间,它没有像微处理器那样从8位、16位,一直发展到32位、64位,8位机目前依然是单片机的主流机型。但是,它突破了原有的集成结构,在内部继承了越来越多的外围电路和外设接口,从而发展成为控制器(MicroController)的体系结构,其发展历程大致
13、分为以下几步:第一阶段:单片机的控索阶段第二阶段:单片机的完善阶段第三阶段:8位单片机的巩固发展及16位单片机的推出阶段第四阶段:微控制器的全面发展阶段单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统2.2.1 STC单片机功能介绍单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机(single chipmi
14、crocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:(1)最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机.片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.(2)最小功耗应用系
15、统是指为了保证正常运行,系统的功耗最小.(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM
16、,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2211引脚结构,见图2-1图2-1单片机封装及引脚结构2212内部逻辑图,见图2-2图2-2内部逻辑图2213 引脚功能描述VCC :电源GND:地P0 口:P0 口是一个 8 位漏极
17、开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL
18、)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如下表所示。在 flash 编程和校验时,P1 口接收低 8 位地址字。P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时, P2 口送出高八位地址。在这
19、种应用中,P2 口使用很强的内部上拉发送 1。在使用8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 STC89C52 特殊功能(第二功能)使用,如下表所示。在 flash 编程和校验时,P3 口也接收一
20、些控制信号。RST:复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址
21、为 8EH 的 SFR 的第 0 位置“1”,ALE 操作将无效。这一位置“1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号PSEN是外部程序存储器选通信号。当 STC89C52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.3 DS18B20数字温度
22、传感器介绍2.3.1 功能介绍DALLAS最新单线数字温度传感器DS18B20的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 “一线总线”字化温度传感器 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55C+125C,-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统
23、的抗干扰性。适合于恶劣环境的现场温度测量,如:境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20、 DS1822 的特性 DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低
24、为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64
25、位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位,见表2-1。表2-1DS18B20内部温度表示形式这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大
26、于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。见表2-2表2-2DS18B20转化温度形式实际温度值数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000
27、1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6EH-551111 1100 1001 0000FC90H2.3.2 DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PPRAM,后者存放高温度和低温度触发器TH、T和结构寄存器。暂存存储器包含了8个连续字节,前两个
28、字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节,见表2-3。表2-3DS18B20暂存存储器的8个连续字节寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5计数剩余值6每度计数值7CTR校验8该字节各位的意义如下: TM R1 R0 1 1 1 1 1 低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20
29、出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位),见表2-4表2-4分辨率设置表 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、
30、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序计时,对DS1820操作部分最好采用汇编语实现。 (2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连
31、接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 (4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS
32、1820硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。2.3.3 DS18B20的内部逻辑图,见图2-3。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图2-3DS18B20内部内部逻辑图2.3.4 DS18B20读写时序主机使用时间隙(time slots)来读写 DSl820 的数据位和写命令字的位2.3.4.1初始化时序见图 2-4主机总线 to 时刻发送一复位脉冲(最短为 480us 的低电平信号)接着在 tl 时刻
33、释放总线并进入接收状态DSl820 在检测到总线的上升沿之后 等待 15-60接着 DS1820 在 t2 时刻发出存在脉冲(低电平持续 60-240 us)如图中虚线所示图2-4DS18B20初始化时序图程序:Init_DS18B20(void)/初始化ds1820 DQ = 1; /DQ复位 _nop_(); _nop_(); /稍做延时2ms DQ = 0; /单片机将DQ拉低,发出复位脉冲(要求480us960us) Delay(70); /精确延时566us DQ = 1; /拉高总线(要求1660us) Delay(5); /延时46us presence = DQ; /如果=0则
34、初始化成功 =1则初始化失败 Delay(25); DQ = 1; return(presence); /返回信号,0=presence,1= no presence2.3.4.2写时间隙当主机总线 t o 时刻从高拉至低电平时 就产生写时间隙从 to 时刻开始 15us 之内应将所需写的位送到总线DSl820 在 t1为15-60us 间对总线采样 若低电平 写入的位是 0见若高电平 写入的位是连续写 2 位间的间隙应大于 1us ,见图2-5。 图2-5写时间隙程序:WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i0;
35、 i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1;2.3.4.3读时间隙见图 2-6 主机总线 to 时刻从高拉至低电平时总线只须保持低电平 l 7ts之后15捍 s也就是说t z 时刻前主机必须完成读位 并在 t o 后的 60 尸 s 一 120 fzs 内释放总线读位子程序(读得的位到 C 中) 图2-6读时序程序:ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号
36、 if(DQ) dat|=0x80; delay(4);return(dat);2.3.5存储器操作命令,见表2-5表2-5存储器操作命令指令约定代码功能读ROM33H读取DS18B20ROM中的编码(64位地址)符合ROM55H发出命令后,接着发出64位ROM编码,访问单总线上与该编码相同的DS18B20,使之做出反应,为下一步读写作准备。搜索ROM0F0H用于确定挂在同一总线上DS18B20的个数,和识别64位ROM地址,微操作各器件做准备。跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发送温度转换命令,适用于单片工作。告警搜索命令0ECH执行后只有温度值超过限度值才做出反应
37、,温度变换命令44H启动DS18B20进行温度转换,转换时间最长为500毫秒,结果存入内部就九字节RAM中。读暂存器0BEH读内部RA九字节内容写暂存器4EH发出向内部RAM的第3、4字节写上下限温度命令,紧随该命令之后是传送两个字节数据。复制暂存器48H将RAM中的第3、4字节内容写到EEPRAM中。重调EEPRAM0B8H将EEPRAM中的第3、4字节内容写到RAM中。读供电方式0B4H读DS18B20供电模式,寄生供电DS18B20时发送“1”,外接电源发送“1”。2.4 LCD1602液晶2.4.1LCD1602液晶显示模块基本技术:主要功能: A、 40通道点阵LCD 驱动; B、
38、可选择当作行驱动或列驱动; C、 输入/输出信号:输出,能产生202个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6); D、 通过单片机控制将所测的频率信号读数显示出来 2.4.2技术参数: 极限参数表:名 称 符 号 标 准 值 单 位 MINTYPEMAX电路电源 VDD - VSS-0.37.0VLCD驱动电压 VDD - VEEVDD - 13.5VDD + 0.3V输入电压 VIN-0.3VDD + 0.3V静电电压 -100V工作温度 -20+70储存温度 -30+80电参数表: 名 称 符 号 测 试 条 件 标 准 值 单位 MINTYPEMAX输入
39、高电平 VIH-2.2VDDV输入低电平 VIL-0.30.6V输出高电平 VOHIOH = 0.2mA2.4-V输出低电平 VOLIOL = 1.2mA-0.4V工作电流 IDDVDD = 5.0V2.0mA液晶驱动电压 VDD-VEETa = 04.9VTa = 254.7Ta = 504.52.4.3时序特性表: 项 目符 号 测试条件 标 准 值 单位 MINTYPEMAX允许时间周期 TCYCE 5.1a 5.1b1000ns允许脉冲宽度,高电平 PWEH450-ns允许上升和下降时间 tEr tEf-25ns地址建立时间 tAS140-ns数据延迟时间 tDDR-320ns数据建立
40、时间 tDSW195-ns数据保持时间 tH10-nsDATA HOLD TIMEtDHR20-ns地址保持时间 tAH10-ns2.4.4引脚和指令功能模块引脚功能表: 符 号 名 称 功 能 1Vss接地 0V2VDD电路电源 5V10%3VEE液晶驱动电压 保证VDD-VEE=4.55V电压差 4RS寄存器选择信号 H:数据寄存器 L:指令寄存器 5R/W读/写信号 H:读 L:写 6E片选信号 下降沿触发,锁存数据 7-14DB0-DB7数据线 数据传输 寄存器选择功能表: RS R/W操 作 00指令寄存器(IR)写入 01忙标志和地址计数器读出 10数据寄存器(DR)写入 11数据
41、寄存器读出 (注:忙标志为1时,表明正在进行内部操作,此时不能输入指令或数据,要等内部操作结束,即忙标志为0时。) 2.4.5 指令功能 格式:RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0共11种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM地址设 置,DDRAM地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。 2.4.6显示位与DD RAM 地址的对应关系: 显 示 位 序 号 1 2 3 4 5 40 DD RAM地 址(HEX)第 一 行 00 01 02 03 04 . 27第 二 行 40 41 42
42、 43 44 . 672.5 部分电路功能 2.5.1 晶振电路图2 晶振电路在晶振电路中,这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,电路取了30PF。它会影响到晶振的谐振频率和输出幅度2。 晶振的负载电容=(Cd*Cg)/(Cd+Cg)+Cic+C式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+C(PCB上电容)经验值为3至5pf。晶振引脚的内部通常是一个反相器, 或者是奇数个反相器串联。在晶振输出引脚 XO 和晶振输入引脚 XI 之间用一个电阻连接, 很多芯片的引脚内部已经包含了这个电阻, 引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时处与线性状态,反相器就如同一个有很大增益的放大器, 以便于起振。2.5.2 复位电路图3 复位电路系统板上采用上电自动复位和手动复位两种方式。上电复位要求接通电源后,自动进行复位操作。手动复位要求接通电源的前提下,在单片机运行的条件下,在单片机运行期间,用按钮开关操作使单片机进行复位的操作。上电自动复位通过外部复位电容充电来实现。按键手动复位通过复位端经电阻和VCC接通来实现的3。二极管是用来防止反相放电。2.5.3 温度采集电路图4 温度采集电路此多路温度采集采用的是四路温度采集模拟的。如上如所示,各路都接有一个DS18b20温度传感器,他们之间互不干扰,而且可以各