1、目录第一章 单片机概述31.1 单片机的介绍31.2 单片机的历史31.3 单片机的发展史3第二章 总体方案设计32.1 课题的意义32.2 系统整体硬件电路32.2.1 芯片简介32.2.2 硬件电路设计及描述3第三章 系统软件算法设计33.1 主程序33.2 键盘扫描子程序33.3 检测温度子程序33.4 串口中断子程序33.5 定时器T1中断服务程序33.6 程序流程图3课程设计体会3参考文献3第一章 单片机概述1.1 单片机的介绍1.2 单片机的历史1.3 单片机的发展史第二章 总体方案设计2.1 课题的意义2.2 系统整体硬件电路 2.2.1 芯片简介 2.2.2 硬件电路设计及描述
2、第三章 系统软件算法设计3.1 主程序3.2 键盘扫描子程序3.3 检测温度子程序 3.4 串口中断子程序3.5 定时器T1中断服务程序 3.6 程序流程图课程设计体会参考文献 第一章 单片机概述1.1 单片机的介绍 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机内存RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。所以说,一片单片机芯
3、片就是具有了组成计算机的全部功能。 单片微型计算机简称单片机,是典型的嵌入式微型控制(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器进一步的发展。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS
4、51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下
5、开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上计算机和手机核心处理的高端单片机甚至可以直接使用专用的Windows和linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上计算机以及鼠标等计算机配件中都配有1-2部单片机。而个人计算机中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其它计算的总
6、和,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和计算机功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的内存件,不同的是它的这些部件性能都相对我们的家用计算机弱很多,不过价钱也是低的,一般不超过10元,即可用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚
7、筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影,它主要是作为控制部分的核心部件。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用USB50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的计
8、算机时代。不过,这种计算机,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员
9、或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。1.2 单片机的历史1 单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。1.2.1 SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 1.2.2 MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方
10、向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。1.2.3 单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;
11、因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。1.3 单片机的发展史 1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国经济学家杂志列为“二战以来最有影响力的7位科学家”之一 。 1971年11月,Intel推出MCS-4微型计算机系统(包括4001 ROM芯片、400
12、2 RAM芯片、400移位寄存器芯片和4004微处理器 )其中4004(下图)包含2300个晶体管,尺寸规格为3mm4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。 1972年4月,霍夫等人开发出第一个8位微处理器Intel 8008。由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。 1973年intel公司研制出8位的微处理器8080;1973年8月,霍夫等人研制出8位微处理器Intel 8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。 主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB内存,使用了基于6微米技术的6000
13、个晶体管,处理速度为0.64MIPS(Million Instructions Per Second )。 1975年4月,MITS发布第一个通用型Altair 8800,售价375美元,带有1KB内存。这是世界上第一台微型计算机。 1976年intel公司研制出MCS-48系列8位元元元的单片机,这也是单片机的问世。 Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。 20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位元元元高档单片机。MCS-
14、51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。第二章 总体方案设计2.1 课题的意义 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 基于51单片机的温度采集系统的总体设计以及方案论证。本系统由单片机、按钮开关自动上电复位,晶振电路,声光报警器,检测温度传感器,按钮开关的设置、串口MAX232将数据传送到计算机、电源系统单元、等几个部分组成,功能模块具体实现的器件的不同,将直接影响整个系统的性能及成本,为了达到高效、实用的目的
15、,在系统设计之前的方案论证是十分重要的。 温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。因此对温度的检测的意义就越来越大。温度采集系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。温度采集系统是在嵌入式系统设计的基础上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片
16、化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。2.2 系统整体硬件电路2.2.1 芯片简介2.2.1.1 MAX232芯片简介 该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于计算机串口RS232电平是-12v +12v,而一般的单片机应用系统的信号电压是TTL电平0 +5v,MAX232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F
17、电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。主要特点 1、单5V电源工作2、 LinBiCMOSTM工艺技术3、 两个驱动器及两个接收器4、 30V输入电平5、低电源电流:典型值是8mA6、符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.287、ESD保护大于MIL-STD-883(方 法3015)标准的2000V下图为MX232双串口的连接图,可以分别接单片机的串行通信口或者实验板的其它串行通信接口:max232应用电路,注意电容接法。232是电荷泵芯片,可以完成两路TTL/RS-232电平的转换,它
18、的的9、10、11、12引脚是TTL电平端,用来连接单片机的。 MAX232获得正负电源的另一种方法 在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如: 9V,-9V; 12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。 1.外接;2.DC-DC变换.在这里我选了一块大家常用的芯片:MAX232. MAX232是TTL-RS232电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为uF的时候,若输入为5V,输出可以达到-14V
19、左右,输入为0V ,输出可以达到14V,在扇出电流为20mA的时候,处处电压可以稳定在 12V和-12V.因此,在功耗不是很大的情况下,可以将MAX232的信号经稳压块后作电源使用。 RS232是一种接口,就是通常所说的串口,RS232接口上通信时要12V的电压才能识别,也高是相对高低电平为12V和0V,但是51单片机的高低电平为5V和0V,2者电平不一样没法通信,那中间就需要一个电平转换芯片来当翻译,MAX232就充当这个用的。 USB串口是指一种能把USB信号转换成串口信号的设备。PL2303是一个芯片,这个芯片就是把USB信号转换在串口信号的芯片,所以USB串口可以用PL2303制作出来
20、。PL2303出来还是12V和0V的信号,和单片机通信时中间还是要MAX232芯片转换的。 51单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,M
21、AX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。电子制作实验室网站的提供的带扩展组件的51单片机实验板上已经装配好了全部硬件。2.2.1.2 AT89C51的简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失内存制造技术制造,
22、与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁内存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性:与MCS-51 相容 4K字节可编程闪烁内存 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序内存锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏
23、级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出
24、4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序内存或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电
25、流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能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(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部内存时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLAS
26、H编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序内存的选通信号。在由外部程序内存取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则
27、在此期间外部程序内存(0000H-FFFFH),不管是否有内部程序内存。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序内存。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求
28、的宽度。4芯片擦除:整个PEROM数组和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码数组全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其它芯片功能,直到下一个硬件复位为止。 2.2.2 硬件电路设计及描述2.2.2.1 复位电路 为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一
29、部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即4.755.25V。由于微机电路是时序数位电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。 在实际应用中,单片机通常采用2中形式的复位电路:上电自动复位电路和按钮开关复位电路。按钮开关及上电自动复位电路 在单片工作过程中,由于某种原因使单片陷入“死机”状态,或根据需要采用强制手段使程序重新开始执行等等,需要采用按钮开关复位方式。下图为开关及上电自动复位电路。当按钮开关S按下时,+5V电源通过S接入电阻R和R1构
30、成的电路网络,设计时使电阻R1上的分压达到高电平的阀值,就可以使单片机复位。因为我们按动按钮开关使其闭合的时间远远大于单片机度为所用时间。通常把上电自动复位电路和按钮开关复位电路综合在一起,这样既可以在每一次电源接通时系统复位,也可以满足复位的要求。 AT89C51的上电复位电路,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1?F。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平
31、持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,埠引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 2.2
32、.2.2 DS18B20温度传感器的简介2.2.2.2.1 功能介绍DALLAS最新单线数字温度传感器DS18B20的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 “一线总线”字化温度传感器 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55C+125C,-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以“一
33、线总线”的数字元元元方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:境控制、设备或程控、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20、 DS1822 的特性 DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警
34、温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以
35、看作是该DS18B20的地址序列码。64位光刻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中,二进
36、制中的前面5位是符号位,如果测得的温度大于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 000101
37、91H+10.1250000 0000 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.2.2.2.2DS18B20温度传感器的内存DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PPRAM,后者存放高温度和低温度触发器TH、T和结构
38、寄存器。暂存内存包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是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是测试模式位元元元,用于设置DS18B
39、20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位),见表2-4表2-4分辨率设置表 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 DS1820使用中注意事项
40、DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序计时,对DS1820操作部分最好采用汇编语实现。 (2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一
41、点在进行多点测温系统设计时要加以注意。(3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 (4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将
42、没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。2.2.2.2.3 DS18B20的内部逻辑图,见图2-3。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图2-3DS18B20内部内部逻辑图2.2.2.2.4 DS18B20读写时序主机使用时间隙(time slots)来读写 DSl820 的数据位和写命令字的位1 初始化时序见图 2-4主机总线 to 时刻发送一复位脉冲(
43、最短为 480us 的低电平信号)接着在 tl 时刻释放总线并进入接收状态DSl820 在检测到总线的上升沿之后 等待 15-60接着 DS1820 在 t2 时刻发出存在脉冲(低电平持续 60-240 us)如图中虚线所示图2-4DS18B20初始化时序图 2 写时间隙当主机总线 t o 时刻从高拉至低电平时 就产生写时间隙从 to 时刻开始 15us 之内应将所需写的位送到总线DSl820 在 t1为15-60us 间对总线采样 若低电平 写入的位是 0见若高电平 写入的位是连续写 2 位间的间隙应大于 1us ,见图2-5。 图2-5写时间隙3 读时间隙见图 2-6 主机总线 to 时刻
44、从高拉至低电平时总线只须保持低电平 l 7ts之后15捍 s也就是说t z 时刻前主机必须完成读位 并在 t o 后的 60 尸 s 一 120 fzs 内释放总线读位子程序(读得的位到 C 中) 图2-6读时序4 记忆体操作命令,见表2-5表2-5记忆体操作命令指令约定代码功能读ROM33H读取DS18B20ROM中的编码(64位地址)符合ROM55H发出命令后,接着发出64位ROM编码,访问单总线上与该编码相同的DS18B20,使之做出反应,为下一步读写作准备。搜索ROM0F0H用于确定挂在同一总线上DS18B20的个数,和识别64位ROM地址,微操作各器件做准备。跳过ROM0CCH忽略6
45、4位ROM地址,直接向DS18B20发送温度转换命令,适用于单片工作。告警搜索命令0ECH执行后只有温度值超过限度值才做出反应,温度变换命令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”
46、。2.2.2.3声光报警电路声光报警器是一种用在危险场所,通过声音和各种光来向人们发出示警信号的一种不会引燃易燃易爆性气体的报警信号装置。防爆声光报警器适用于安装在含有C级T6温 度组别的爆炸性气体环境场所,还可使用于石油、化工等行业具有防爆要求的1区及2区防爆场所,也可以露天、室外使用。可以和国内外任 何厂家的火灾报警控制器配套使用。当生产现场发生事故或火灾等紧急情况时,火灾报警控制器 送来的控制信号启动声光报警电路,发出声和光 报警信号,完成报警目的。本产品也可同手动报 警按钮配合使用,达到简单的声,光报警目的。本 产品符合GB3836系列标准的要求(满足GB3836.12000爆炸性环境
47、用防爆电气设备通用要求及GB3836.22000爆炸性环境用防爆电气设备隔爆型“d”标准),经国家指定的 检测机构鉴定并取得了防爆合格证。报警器外壳为全不锈钢壳体,灯壳抗冲击能力强,180清晰可视超高亮LED发光管,配备超强蜂鸣器,具有工作稳定,使用寿命长, 功耗低,不受污染物和水的影响等特点。 声光报警器(Audible and visual alarm)又叫声光警号, 是为了满足客户对报警响度和安装位置的特殊要求而设置。同时发出声、光二种警报信号。产品专用领域:银行,政府机关,邮政,电信,酒店,大厦,工厂商场 商铺、别墅、ATM,周界防越系统及保险服务公司等; 是消防火灾自动报警系统中的一个配件产品。 主要技