《温度传感器——课设论文.doc》由会员分享,可在线阅读,更多相关《温度传感器——课设论文.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流温度传感器课设论文.精品文档. 课程设计论文题 目: 温度传感器 院 (系): 信息与通信学院 专 业: 电子科学与技术 学生姓名: 周三弟 学 号: 0800230236 指导教师: 陈明 职 称: 教授 2010年 12 月 16 日摘 要 DALLA公司的单总线数字温度传感器DSI8B20以其线路 简单、硬件开销少、成本低廉等一系列优点,有着无可比拟的应用前景。文章首先介绍DS18B20的特性及工作原理。接着提出了一种基于AT89S52单片机与DSl8B20的温度测量报警系统,分析了系统的硬件结构及软件设计。其中,详细介绍了AT89S5
2、2对DSl8B20的操作流程,及使用DS18B20时候的注意事项。该温度测量系 统具有结构 简单、价格低廉、扩展方便和应用广泛等一系列优点。1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。关键词:AT89S52;DS18B20 ;1602;温度测量A Temperature Measue Syste m based on AT89C52 and DS18B20 YILi - hua HUANG J u n ( Hunan Vocational college of Sci
3、ence and Technolog y , Chang sha 410004 , China ) Abstract:DALLAS CorporationS 1-wire bus digital temp era ture sens or has incomparable application prospect because its circuit is simple , and with fewer hardware expensesThis paper introduces the structure and principle ofthe 1-wire bus digital tem
4、perature sensor,presents the hardware and compile program design oftemperatllre me asure and alar msystem which based on AT89C52 and DS18B20This paper explains trans action sequence of DS18B20 and points for attention This device has some advanmges such as : simple structure ,low price It also can b
5、e ea sily extended and has important application persp ectives Keywords: AT89s52 ;DS18B20;temperaturemeasure 目 录引言11 原理图与pcb图21.1 原理图21.2 PCB图 32 单总线数字温度计 DS18B20 介绍32.1 18B20性能特点 32.2 18B20的功能引脚42.3 18B20的工作原理及应用52.4 18B20的初始化63 AT89S52的介绍84 1602LCD的介绍115 总结13 引言 温度是一种最基本的环境参数,日常生活和工农业生产中经常要检测温度。传统
6、的方式是采用热电偶或热电阻,但是由于模拟温度传感器输 出为 模拟信号,必须经过 AI D转换环节获得数字信号后 才能与单片机等微处理器接 口,使得硬件电路结构 复杂 ,制作成本较高。近年来,美国DALLAS公司生产的DSI8B20为代表的新型单总线数字式温度传 感器以其突出优点广泛使用于仓储管理、工农业生 产制造 、气象观测 、科学研究 以及日常生活中。DSI8B20集温度测量和 AD转换于一体,直接输出数字量 ,传输距离远 ,可以很方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件。文章将介绍 DS18B2的结构特征及控制方法,给出以此传感器和 AT89S52单片机构成的最
7、小温度测量报警系统。 1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔 每行之间也有也有间隔 起到了字符间距和行间距的作用,正因为如此 所以他不能显示图形.通过At89S52控制1602液晶的输出,将所测得的温度显示出来11.1 原理图21.2 pcb图2单总线数字温度计DS18B20介绍2.1 DSI8B20性能特点 美国DALLAS半导体公司的DS18B20是世界上第一片支持 “ 单总线”接 口的数字式温度传感器 ,能够直接读取被测物的温度值。
8、它具有TO-92、TSOC、SOIC多种封装形式,可以适应不同的环境需求。其测量范围在-55+125、-10 +85之内的测量精度可达0 .5,稳定度为1。通过编程可实现9、10、11、12位的分辨率读出温度数据,以上都包括一个符号位,因此对应的温度量化值分 别为 0.5、0.2 5 、0.25、0.0625,芯片出厂 时默认为 1 23位的转换精度。读取或写入DS18B20仅需要一根总线,要求外接一个约 4.7 k Q的上拉电阻,当总线闲置时,其状态为高电平。此9 I DS18B20是温度 一电流传感器,对于提高系统抗干扰能力有 很大的帮助。负压特性 电源极性接反时,温度计不会因发热而烧毁,
9、但不能正常工作。掉电保护功能 DS18B20 内部含有 EEPROM ,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。2.2 DS18B20的引脚特点DS18B20的管脚排列1. GND为电源 地; 2. DQ为数字信号输入输出端;3. VDD为外接供电电源输入端(在寄生电源接线方式时接地, 42.3 18B20的工作原理及应用 DS18B20的温度检测与数字数据输出全集成于 一个芯片之上 ,从而抗干扰力更强。其一个工作周 期可分为两个部分
10、 ,即温度检测和数据处理。在讲 解其工作流程之前我们有必要了解 18B20的内部存 储器资源。18B20共有三种形态的存储器资源,它们 分别是 : ( 1 )ROM只读存储器,用于存放DS18B20ID编码,其前 8位是单线系列编码 ( DS18B20的编码是19 H),后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。数据在出厂时设置不由用户更改。DS18B20共64位ROM。( 2 )R A M 数据暂存器,用于内部计算和数据存 取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为 8 位。如图2所示。第 1、2个字节是温 度转换后的数据值信息,第3和第
11、4字节是高温触发器和低温触发器 的易失性拷贝,第 5 个字节为 配置寄存器,它的内容用于确定温度值的数字转换 分辨率,DS18B20工作时寄存器中的分辨率转换为 相应精度的温度数值。以上字节内容每次上电复位 时被刷新。配置寄存器字节各位的定义如图2所示。低5 位一直为 1 ,是工作模式位,用于设置DS 8B20在工作模式还是在测试模式 ,DS18B20出厂时该位 被设置为0,用户不要去改动; 和用来设置分辨率,决定温度转换的精度位数。如表 1所示。DS18B20字节定义5表 1 DS18B20温度转换时间表 2.4 18B20的初始化6主机首先发出一个480960微秒的低电平脉冲,然后释放总线
12、变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是电平说明总线上无器件应答。做为从器件的DS18B20在一上电后就一直在检测总线上是否有480960微秒的低电平出现,如果有,在总线转为高电平后等待1560微秒后将总线电平拉低60240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。接下来就是主机发出各种操作命令,但各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。因此首先要搞清主机是如何进行写0、写1、读0和读1的。写周期最少为60微秒,最
13、长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。对于读数据操作时序也分为读0时序和读1时序两个过程。读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1微秒后,便
14、开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60us才能完成3 AT89S52的介绍At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在
15、单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,7支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断
16、或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此
17、时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻
18、的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 8 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/
19、O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外
20、部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)9输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作
21、。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储
22、器的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。3 1602的功能介绍1)1602LCD主要技术参数显示容量为162个字符;芯片工作电压为4.55.5V;工作电流为2.0mA(5.0V);模块最佳工作电压为5.0V;字符尺寸为2.954.35(WH)mm。(2)接口,信号说明1602LCD采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚接口说明见表10 1602液晶接口引脚定义编号符号引脚说明编号符号引脚说明1VSS电源地9D2Date I/O2VDD电源正极10D3Date I/O3VL液晶显示偏压信号11
23、D4Date I/O4RS数据/命令选择端(V/L)12D5Date I/O5R/W读/写选择端(H/L)13D6Date I/OE使能信号14D7Date I/O7D0Date I/O15BLA背光源正极8D1Date I/O16BLK背光源负极 1、2组电源 一组是模块的电源 一组是背光板的电源 均为5V供电。2、VL是调节对比度的引脚调节此脚上的电压可以改变黑白对比度3、RS是很多液晶上都有的引脚 是命令/数据选择引脚 该脚电平为高时表示将进行数据操作;为低时表示进行命令操作。4、RW也是很多液晶上都有的引脚 是读写选择端 该脚电平为高是表示要对液晶进行读操作;为低时表示要进行写操作。5
24、、E同样很多液晶模块有此引脚 通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。6、D0D7 8位双向并行总线,用来传送命令和数据。7、BLA是背光源正极,BLK是背光源负极。对此液晶操作主要有以下几种方法。1写命令(包括但不限于初始化、调节显示位置、清除显示)2写数据(把一个字符的ASC码写入液晶使其显示)3读忙信号(液晶乃低速设备,每次操作前应该测试忙信号,确定其不忙时再操作)(4)1602LCD的指令码(命令码)此液晶上电的时候需要初始化 典型的指令码是38H,也就是上电的时候需要 调用void write_cmd(unsigned char comma
25、nd)这个函数写指令码,用法是write_cmd(0x38);执行完这个函数可以把液晶初始化成16x2显示5x7的点阵8位总线接口。以下指令码用法相同。11此液晶支持的指令码有 指令码功能00111000设置162显示,57点陈,8位数据接口00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示光标B=1光标闪烁;B=0光标不显示000001NSN=1当读或写一个字符后地址指针加一,且光标加一N=0当读或写一个字符后地址指针减一,且光标减一S=1当写一个字符,整屏显示左移(N=1) 或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0当写一个字符,整屏显示不移动解释:第一
26、行指令主要能完成的功能是 控制液晶显示否,光标显示否,光标闪烁否?共有以下8种指令0000100008H关液晶显示 光标不闪烁 不显示光标位置0000100109H关液晶显示 光标不闪烁 显示光标位置000010100AH关液晶显示 光标不闪烁 不显示光标位置000010110BH关液晶显示 光标不闪烁 显示光标位置000011000CH开液晶显示 光标不闪烁 不显示光标位置000011010DH开液晶显示 光标不闪烁 显示光标位置000011100EH开液晶显示 光标不闪烁 不显示光标位置000011110FH开液晶显示 光标不闪烁 显示光标位置解释:第二行指令主要能完成的功能是写完字符 光
27、标或屏幕移动方向指令码功能80H+地址码(0-27H,40H-67H)设置数据地址指针12解释: 用该指令码可以把光标移动到想要的位置这是虚拟的液晶显示图 表示2行16列显示 方框中的数字表示当前位置的指针 80H81H82H83H84H85H86H87H88H89H8AH8BH8CH8DH8EH8FH C0HC1HC2HC3HC4HC5HC6HC7HC8HC9HCAHCBHCCHCDHCEHCFH例如: 只要调用write_cmd(0x82) ;函数就能把光标挪到第1行第3列的位置 指令码功能01H显示清屏:1.数据指针清零 2.所有显示清零02H显示回车:1数据指针清零5 总结 首先了解ds18b20的工作原理、at89s52的工作原理、1602的工作原理、然后根据其原理连接号原理图,如原理图所示18b20的3脚接正5V,1脚接地,2脚为数据输出接到at89s52的p3.3脚,在连接号at89s52的外围电路让其工作,则可从18b20的2脚读取数据,直接转换成十进制输通过1602液晶显示屏显示输出。其中数据的读取与输出课通过at89s52编程实现。另外我增加了温度的上下线设置及其报警功能,都可以通过编程实现,当所测得的温度超过上限或者低于下限时,蜂鸣器就响报警灯就会闪烁13
限制150内