毕业设计温度传感器.doc_第1页
毕业设计温度传感器.doc_第2页
毕业设计温度传感器.doc_第3页
毕业设计温度传感器.doc_第4页
毕业设计温度传感器.doc_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的远程温度显示毕业设计(论文)(2012届)学 院、系: 电子电气工程系 专 业: 电气自动化 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 最终评定成绩 航空电子电气工程系2012-02要居中呀目录摘 要3ABSTRACT4第一章 绪 论61.1 温度远程控制系统的意义61.2 温度远程显示系统的设计目的7第二章 方案论证与系统结构82.1 方案论证82.1.1 单片机系统方面82.1.2 温度传感器92.1.3 通信模块92.1.4 显示模块112.1.5 最后的方案确定122.2 系统结构图12第三章 硬件模块介绍123.1 AT89S52单片机介绍123.1.1 AT89S52主要功能123.1.2 AT89S52各引脚功能介绍:133.1.3 中断源183.2 DS18B20温度传感器介绍233.2.1 DS18B20的主要特征:243.2.2 DS18B20引脚结构图及其功能描述243.2.3 DS18B20内部结构253.2.4 DS18B20接口电路和工作时序293.3 RS-485串口通信313.3.1 RS485基本知识313.3.2 RS-485具有以下特点:323.3.3 MAX485引脚结构图及接口连接图333.3.4 RS485接口标准343.3.5 串行数据通信两种形式353.4 LED数码管363.4.1 LED数码管简介363.4.2 LED数码管显示373.4.3 四位七段数码管引脚图39第四章 流程图414.1 系统温度采集流程图414.2 通信流程图424.3 接收显示报警流程框图43第五章 软件模块介绍445.1 Keil 软件445.1.1 Keil软件使用方法简介:445.2 proteus仿真505.2.1 Proteus概述505.2.2 进入Proteus ISIS515.2.3 工作界面515.2.4 作原理图仿真调试525.2.5 系统PROTEUS仿真53参考文献56心得体会及致谢57附录1 系统C语言程序58附录2 整机电路图69摘 要随着信息技术的飞速发展,嵌入式智能电子技术已渗透到社会生产、工业控制以及人们日常生活的各个方面。单片机又称为嵌入式微型控制器,在智能仪表、工业控制、智能终端、通信设备、医疗器械、汽车电器、导航系统和家用电器等很多领域都有着广泛的应用,已成为当今电子信息领域应用最广泛的技术之一 本论文是采用单片机来实现温度远程显示。以AT89S52单片机为核心的处理芯片,采用美国最新研发的DS18B20温度传感器来测量温度,LED数码管来显示检测到的温度,蜂鸣器做报警信号,RS-485芯片作为两地之间的串行口通信,实现远程数据显示。它结构简单、成本低廉、精度高、使用性强。解决了以前的误差大、精度低、危险场所、操作复杂等各种问题。以下详细介绍这简单又实用基于单片机的远程温度显示系统。关键词:AT89S52单片机、RS-485串口通信、蜂鸣器、BS18B20温度传感、LED数码显示ABSTRACTWith the rapid development of information technology, embedded intelligent electronic technology has penetrated into social production, industry control and Peoples Daily life in all its aspects. Single-chip microcomputer and called embedded microcontroller, in intelligent instrument, industry control, intelligent terminal, communication equipment, medical equipment, automobile electric appliances, navigation system and household appliance and so on many fields in a wide range of applications, has become the modern electronic information industry in one of the most widely used technique。The present paper is to achieve the temperature by single chip microcomputer remote display. AT89S52 SCM in as the core of the processing chip, the latest development of the temperature sensor DS18B20 to measure temperature, LED digital display to detect the temperature, a buzzer alarm signal, RS-485 chip as between the two serial port communication, remote data show. It is simple in structure, low cost, high precision and strong practicability. Solve the previous error, and low accuracy, dangerous places, complex operation and so on various issues. The following detailed introduction this simple and practical based on single chip microcomputer remote temperature display system.Keywords: AT89S52 SCM, RS-485 serial communication, BS18B20 buzzer, temperature sensing, LED digital display 设计要求1、通过单片机实现应用系统的输入/输出、数据存储、输入通道及传感技术、数据通信、数据采集等功能(其中之一或多个功能);2、设计方案可行,源程序可调试;3、能制作出样机(电子0902做出实物)。4、独立完成设计课题;5、论文书写规范、文字通顺、图表清晰、测试数据完整、结论明确。这个要放到绪论中呀,可以作为1.3撒第一章 绪 论1.1 温度远程控制系统的意义随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,在工业生产中需要时时检测温度,其在农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,生活也日趋于数字化,而温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。1.2 温度远程显示系统的设计目的本次设计通过AT89S52单片机芯片,以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,将采集到的数据送入单片机处理,然后经过4位LED数码管进行第一次温度显示,再通过RS-485总线进行数据通信,完成主机与从机通信,实现远程监控显示。本系统分为硬件和软件两个部分,硬件部分由五个部分组成,即单片机最小系统模块、温度采集模块、串行通信模块、显示部分以及报警处理组成,所用的的软件有KEIL 编程软件、proteus仿真软件以及DXP 2004.除了达到本次论文设计要求外,最重要的目的是通过对各模块的分析以及对各软件使用起到巩固作用第二章 方案论证与系统结构2.1 方案论证2.1.1 单片机系统方面世界上不同的国家的很多芯片厂商都生产不同的单片机,如生产的AT89C51、AT89S51、52等,Philips(飞利浦)公司的P80C54、P87C528等,Intel(英特尔)公司的i87C58、i87C51FC等,Siemens(西门子)公司的C501-1R、C513A-H等,STC公司的STC89C51RC、STC89S52RC等等。从成本角度和对芯片的熟悉角度来考虑,本次设计选择Atmel公司的AT89S52作为本次的单片机芯片。2.1.2 温度传感器方案一:采用热敏电阻可满足测温要求,但热敏电阻精度低,重复性和可靠性较差,对于精度要求较高的测温不适用,而且采用热敏电阻要求复杂的电路和算法,增加了设计复杂度。方案二:采用专用的集成温度传感器(如AD590、LM35/LM45)和数字化温度传感器如DS18B20、测温,数字化温度传感器具有接口简单、直接数字量输出、精确度高等优点。DS18B20是DALLAS公司的最新单线数字温度传感器,它是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,它的测量温度范围为55125,在1085范围内,精度为0.5,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等,DS18B20支持35.5V的电压范围,使系统设计更灵活、更方便、更便宜、体积更小。DS18B20可以程序设定912位的分辨率,精度为0.5,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存。因此,本方案选用DS18B20作为温度测量传感器。从精度方面和计算方面来考虑本次选择DS18B20作为本次的温度采集芯片。2.1.3 通信模块方案一: RS-232串行通信 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3k7k。所以RS-232适合本地设备之间的通信。 方案二:RS-485串行通信由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。 RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V至+7V之间;RS-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。RS-485与RS-422一样,其最大传输距离约为1219米,最大传输速率为10Mbps。平衡双绞线的长度与传输速率成反比,在100Kbps速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1Mbps。RS-485与RS-232不一样,它数据信号采用差分传输方式,也称作平衡传输,且传输距离远,成本低,所以选择RS-485作为本次的串行通信。2.1.4 显示模块方案一:液晶显示采用每行显示16个字符,一共可以显示两行的JM1602C,能显示ASCII码字符,如数字、大小写字母、各种符号等,液晶体积小、功耗低、显示操作简单方案二:数码管显示 采用4位共阴数码管,其结构简单,成本低廉,实用性强,应用广泛。本次设计从成本方面以及程序难易程度上考虑,选择数码管显示。2.1.5 最后的方案确定由AT89S52为单片机为核心芯片,DS18B20作为温度采集,RS-485作为串行通信,数码管作为显示2.2 系统结构图温度采集AT89S52 主机时钟电路显示模块蜂鸣报警按键电路AT89S52 从机RS-485通信时钟电路RS-485通信蜂鸣报警显示模块 第三章 硬件模块介绍3.1 AT89S52单片机介绍AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。3.1.1 AT89S52主要功能1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程序存储器(ROM)为 8KB4、内部数据存储器(RAM)为 256字节5、32 个可编程I/O 口线6、8 个中断向量源7、三个 16 位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道3.1.2 AT89S52各引脚功能介绍: 1)主电源引脚Vss和VccVCC(40脚):AT89S52电源正端输入,接+5V。VSS(20脚):电源地端。2)外部晶振引脚XTAL1和XTAL2XTAL1(18脚):单芯片系统时钟的反相放大器输入端。XTAL2(19脚):系统时钟的反相放大器输出端。AT89S52内部有一个时钟振荡电路,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶振和电容组成并联谐振回路,与内部振荡电路就产生自激振荡。如下图所示,晶振可以再1.2-12MHz之间选择,此外在两引脚与地之间加入电容值可以在5-30PF之间选择。电容的大小可起到频率微调,使系统更稳定,避免噪声干扰而死机的作用。XTAL1XTAL2C1C2晶振3)复位引脚RST/VpdRESET/Vpd(9脚):AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。在VCC掉电期间,此引脚可接上备用电源,由Vpd向内部提供备用电源,以保持内部RAM中的数据。常用的复位电路如下图所示。RSTSm22u10k104+VCC4)EA/VppEA/Vpp(31脚):EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。当EA/Vpp为高电平时,访问内部程序存储器。5)ALE/PROGALE/PROG(30脚):ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。6)/PSEN/PSEN(29脚):此为Program Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。7)PORT0(P0.0P0.7)PORT0(P0.0P0.7)(32-39脚):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7,再配合端口2所送出的A8A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。8)PORT2(P2.0P2.7)PORT2(P2.0P2.7)(21-28脚):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。9)PORT1(P1.0P1.7)PORT1(P1.0P1.7)(1-8脚):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。10)PORT3(P3.0P3.7)PORT3(P3.0P3.7)(10-17脚):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下: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,外部数据存储器的读取信号。3.1.3 中断源 中断时为使用单片机具有对外部或内部随机发生的时间实时处理而设置的,中断功能的存在,很大程度上提高了单片机的处理外部或内部时间的能力。AT89S52单片机有6个中断源,它们的符号、名称及产生的条件分别解释如下:INT0:外部中断0,由P3.2端口线引入,低电平或下降沿引起。INT1:外部中断1,由P3.3端口线引入,低电平或下降沿引起。T0:定时器/计数器0中断,由T0计数器计满回零引起。T1:定时器/计数器1中断,由T1计数器计满回零引起。T2:定时器/计数器2中断,由T2计数器计满回零引起。TI/RI:串行口中断,串行端口完成一帧字符发送/接收后引起。以上6个中断源中,T2是52单片机特有的,它们默认中断级别如下:中断源中断级别序号(C语言用)入口地址(汇编)INT0外部中断0最高00003HT0定时器/计数器0中断第21000BHINT1外部中断1第320013HT1定时器/计数器1中断第43001BHTI/RI串行口中断第540023HT2定时器/计数器2中断最低5002BH 表3.1.1 52单片机中断级别 1)中断允许寄存器IE 中断允许寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由地位到高位)分别是A8HAFH,该寄存器可进行位寻址,即可对该寄存器的每位进行单独操作。单片机复位时IE全部被清0.各定义见下表3.1.2:表3.1.2 中断允许寄存器IE位序号D7D6D5D4D3D2D1D0位符号EA-ET2ESET1EX1ET0EX0位地址AFH-ADHACHABHAAHA9HA8HEA全局中断允许位EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断打开和关闭。EA=0,关闭全部中断。 - ,无效位ET2定时器/计数器2中断允许位ET2=1,打开T2中断。ET2=0,关闭T2中断。ES串行口中断允许位ES=1,打开串行口中断ES=0,关闭串行口中断ET1定时器/计数器1中断允许位ET1=1,打开T1中断。ET1=0,关闭T1中断。EX1外部中断1中断允许位EX1=1,打开外部中断1中断EX1=0,关闭外部中断1中断ET0定时器/计数器0中断允许位ET0=1,打开T0中断。ET0=0,关闭T0中断。EX0外部中断0中断允许位EX0=1,打开外部中断0中断EX0=0,关闭外部中断0中断2)中断优先级寄存器IP中断优先级寄存器在特殊功能寄存器中,字节地址为B8H,位地址(由低位到高位)分别是B8H-BFH,IP用来设定各个中断源属于两级中断中哪一级。该寄存器可进行位寻址,即可对该寄存器的每一位进行单独操作。单片机复位时IP全部被清0,各位定义见表3.1.3:表3.1.3中断优先级寄存器IP位序号D7D6D5D4D3D2D1D0位符号-PSPT1PX1PT0PX0位地址-BCHBBHBAHB9HB8H- 无效位PS串行口中断优先级控制位PS=1,串行口中断定义为高优先级中断。PS=0,串行口中断定义为低优先级中断。PT1定时器/计数器1中断优先级控制位PT1=1,定时器/计数器1中断定义为高优先级中断。PT1=0,定时器/计数器1中断定义为低优先级中断。PX1外部中断1中断优先级控制位PX1=1,外部中断1定义为高优先级中断。PX1=0,外部中断1定义为低优先级中断。PT0定时器/计数器0中断优先级控制位PT0=1,定时器/计数器0中断定义为高优先级中断。PT0=0,定时器/计数器0中断定义为低优先级中断。PX0外部中断0中断优先级控制位PX0=1,外部中断0定义为高优先级中断。PX0=0,外部中断0定义为低优先级中断。3)定时器/计数器工作方式寄存器TMOD 定时器/计数器工作方式寄存器在特殊功能寄存器中,字节地址为89H,不能位寻址,TMOD用来确定定时器的工作方式及功能选择。单片机复位时TMOD全部被清0。其各位的定义如表3.1.4:表3.1.4 定时器/计数器工作方式寄存器TMOD位序号D7D6D5D4D3D2D1D0位符号GATEC/TM1M0GATEC/TM1M0定时器1定时器0由表3.1.4可知,TMOD的高4位用于设置定时器1,低4位用来设置定时器0。对应4位的含义如下:GATE门控制位GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制。GATE=1,定时器/计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0和INT1)上的电平状态来共同控制。C/T定时器模式和计数器模式选择位C/T=1,为计数器模式;C/T=0,为定时器模式。M1M0工作方式选择位每个定时器/计数器都有4种工作方式,它们由M1M0设定,对应关系表3.1.5:表3.1.5 定时器/计数器的4种工作方式M1M0 工作方式00方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,8位初值自动重装的8位定时器/计数器11方式3,仅适用于T0,分成两个8位计数器,T1停止计数4) 定时器/计数器控制寄存器TCON定时器/计数器控制寄存器在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)分别是88H-8FH,该寄存器可进行位寻址。TCON寄存器用来控制定时器的启、停,标志定时器溢出和中断情况。单片机复位时TCON全部被清0。其各位定义如表3.1.6.其中TF1、TR1、TF0和TR0位用于定时器/计数器;IE1、IT1、IE0和IT0用于外部中断。表3.1.6 定时器/计数器控制寄存器TCON位序号D7D6D5D4D3D2D1D0位符号TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTF1定时器1溢出标志位当定时器1计满溢出时,由硬件使TF1置1,并且申请中断。进入中断服务程序后,由硬件自动清0。需要注意的是,如果使用定时器的中断,那么该位完全不用人为去操作但是如果使用软件查询方式的话,当查询到该位置1后,就需要用软件清0。TR1定时器1运行控制位由软件清0关闭定时器1。当GATE=1,且INT1为高电平时,TR1置1启动定时器1;当GATE=0,TR1置1启动定时器1;TF0定时器0溢出标志其功能及操作方法同TF1。TR0定时器0运行控制位其功能及操作方法同TR1。IE1外部中断1请求标志当IT1=0时,位电平触发方式,每个机器周期的S5P2采样INT1引脚,若INT1脚位低电平,则置1,否则IE1清0.当IT1=1时,INT1位跳变沿触发方式,当第一个机械周期采样到INT1位低电平时,则IE1=1,表示外部中断1正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,该位由硬件清0。IT1外部中断1触发方式位IT1=0,为电平触发方式,引脚INT1上低电平有效。IT1=1,为跳变沿触发方式,应缴INT1上的电平从高到低的负跳变有效。IE0外部中断0请求标志其功能及操作方法同IE1。IT0外部中断0触发方式选择位。 其功能及操作方法同IT1。3.2 DS18B20温度传感器介绍温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。使得DS18B20更受欢迎。对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽您对单片机开发的思路。3.2.1 DS18B20的主要特征: 独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; 3.2.2 DS18B20引脚结构图及其功能描述TO92封装的DS18B20的引脚排列见下图,其引脚功能描述见表3.2.1。 图3.2.1 DS18B20实物图及封装表3.2.1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd3.2.3 DS18B20内部结构I/O 图3.2.2 DS18B20内部结构这个要和图片在同一页的DS18B20采用脚PR35封装或脚SOIC封装,其内部结构框图如图3.2.2所示64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为字节的存储器,结构如表3.2.2所示。表3.2.2表高速暂存RAM寄存器内存字节地址温度值低位(LSB)0温度值高位(MSB)1高温限制(TH)2低温限制(TL)3配置寄存器4保留5保留6保留7CRC校验位8高速暂存器RAM由9个字节的存储器组成。第0-1个字节是温度的显示位;第2和第3个字节是复的TH和TL,同时第2和第3个字节的数字可以更新;第4个字节是配置寄存器,同时第4个字节的数字可以更新;第5、6、7三个字节是保留的。可电擦除E2POROM又包括温度触发器TH和TL,以及一个配置寄存器。表3.2.3列出了温度数据在高速暂存器RAM的第0和第1个字节中的存储格式。表3.2.3 温度数据存储格式位7位6位5位4位3位2位1位0232221202-12-22-32-4位15位14位13位12位11位10位9位8SSSSS262524表3.2.4 DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。表3.2.4 DS18B20温度转换时间表 DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。3.2.4 DS18B20接口电路和工作时序DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3.2.3 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。图3.2.3 DS18B20的接口电路当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、写数据、读数据。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。(1)DS18B20的初始化时序1) 先将数据线置高电平12) 延时(该时间要求不是很严格,但尽可能短一点)3) 数据线拉到低电平04) 延时750us(该时间范围可以再480-960us)5) 数据线拉到高电平16) 延时等待。如果初始化成功则在15-60ms内产生一个由DS18B20返回的低电平0,据该状态可以确定它的存在。但应注意,不能无限等待,不然会是程序进入死循环,所以要进行超时判断7) 若CPU读到数据线上的低电平0后,还要进行延时,其延时的时间从发出高电平算起最少480us8) 将数据线再次拉到高电平1后结束(2)DS18B20的写数据 ) 数据线先置低电平0) 延时确定的时间为15us) 按从低位到高位的顺序发送数据(一次只发送一位) 延时时间为45us) 将数据线拉到高电平1) 重复1)-5)步骤,直到发送完整个字节) 最后将数据线拉到(2)DS18B20的读数据) 将数据线拉高到) 延时us) 将数据线拉低到0) 延时6us) 将数据线拉高到1) 延时4us) 读数据线的状态得到一个状态位,并进行数据处理) 重复1)-7)步骤,直到读取完一个字节3.3 RS-485串口通信3.3.1 RS485基本知识针对RS-232-C的不足,出现了一些新的接口标准,RS485的电气标准就是其中的一种。RS485是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。它采用差分信号进行传输;最大传输距离可以达到1.2km;最大可连接32个驱动器和收发器;接收器最小灵敏度可达200mV;最大传输速率可达2.5Mb/s。由此可见,RS485协议正是针对远距离、高灵敏度、多点通讯制定的标准。RS485接口芯片已广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。可用于RS485接口的芯片种类也越来越多。如何在种类繁多的接口芯片中找到最合适的芯片,是摆在每一个使用者面前的一个问题。RS485接口在不同的使用场合,对芯片的要求和使用方法也有所不同。使用者在芯片的选型和电路的设计上应考虑哪些因素,由于某些芯片的固有特性,通信中有些故障甚至还需要在软件上作相应调整,如此等等。希望本文对解决RS485接口的某些常见问题有所帮助。3.3.2 RS-485具有以下特点:1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。2)RS-485的数据最高传输速率为10Mbps3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4)RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。3.3.3 MAX485引脚结构图及接口连接图 图3.3.1 MAX485结构图 MAX485接口芯片是Maxim公司的一种RS485芯片。采用单一电源+5V工作,额定电流为300A,采用半双工通讯方式。它完成将TTL电平转换为RS485电平的功能。其引脚结构图如上图所示。从图中可以看出,MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收

温馨提示

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

评论

0/150

提交评论