资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
摘要随着技术的进步,单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。本次设计是一个基于AT89C51单片机的测温系统,该系统使用了美国DALLAS公司生产的DS18B20作为温度传感器,利用液晶12864进行显示,使用键盘进行上下限报警温度的设置,实现了最简单的温度检测系统。该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词: 单片机 DS18B20 温度传感器 目录1课程设计意义-2方案论证-1.1方案1- 1.2方案2-3单片机温度控制系统总体设计及原理-2.1系统的主要功能-2.2系统的工作原理-2.3系统的总原理图-2.3系统的主要技术指标-4温度控制系统的硬件设计-3.1温度采集模块电路-3.11 数字温度传感器18B20的工作原理-3.12数字温度传感器18B20的工作电路- 3.2显示电路-3.3控制电路-3.4报警电路-5温度控制系统的软件设计-4.1主程序流程图-4.2读出温度子程序-4.3温度转换命令子程序-4.4计算温度子程序-4.5显示子程序-4.51显示当前温度子程序-4.52显示上下限温度子程序-4.6键盘扫描控制子程序-6总结与体会-7致谢-8参考文献-附:总程序1课程设计意义本次课程设计是在我们学过单片机后的一次实习,可增加我们的动手能力。特别是对单片机的系统设计有很大帮助。本课程设计由一个人完成,在锻炼了自己的同时也增强了自己的独立科学创新的精神。2方案论证 2.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。2.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。3单片机温度控制系统总体设计及原理3.1系统的主要功能控制器采用单片机AT89C51,温度传感器采用DS18B20,用3位LED液晶12864以并口传送数据实现温度显示,增加四个独立键盘调节温度上下限,报警采用蜂鸣器。3.2系统的工作原理AT89S51LED显示DS18B20温 度 传 感 器单片机复位时钟振荡报警温度调整键蜂鸣器,指示灯3.3系统的总原理图3.4系统的主要技术指标1、基本测温范围55C +125C (67F +257F)。2、测温精度误差小于0.5C。 3、三位LED液晶12864温度显示范围0C +125C。4、上下限报警温度显示精度为1C。3温度控制系统的硬件设计3.1温度采集模块电路3.11 数字温度传感器18B20的工作原理1.DS18B20的主要特性(1)电压范围:3.05.5V(2)独特的单线接口方式。(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内(4)温范围55125,在-10+85时精度为0.5(5)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温(6)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力2. DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 3 高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。4.DS18B20暂存寄存器分布寄存器内容字节地址温度值低位 (LS Byte)0温度值高位 (MS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表6: RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第3 、4字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。3.12数字温度传感器18B20的工作电路在总图中,由DS18B20,电阻组成,DS18B20的1引脚接地,2引脚通过电阻接VCC,3引脚与P3.2相连。3.2显示电路在总图中,通过三个液晶12864进行温度显示,为了节约I/0端口,利用锁存器进行片选,锁存器的输入端数据来自P0口。3.3控制电路在总图中,由四个独立键盘进行上下限温度的控制,键3按下一次显示上限温度,再按下一次显示当前温度;键4按下一次显示下限温度,再按一次显示当前温度;在键3按下的前提下,键1按下表示上限温度加1,键2按下表示下限温度减1;在键4按下的前提下,键1按下表示上限温度加1,键2按下表示下限温度减13.4报警电路在总图中,在利用蜂鸣器报警,输入引脚为P2.3,低电平时蜂鸣器叫,且LED闪烁。4温度控制系统的软件设计4.1主程序流程图中断服务程序流程图定时器初值装入调用键盘扫描子程序返回主程序流程图YNYN初始化判断是否有键按下读取温度控制报警比较调用显示上下限温度子程序调用报警电路调用显示温度子程序结束开始始4.2读出温度子程序uint get_temp() /读取寄存器中存储的温度数据 uchar a,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号