单片机课设 室内温度测量

上传人:我*** 文档编号:136032577 上传时间:2020-06-22 格式:DOC 页数:19 大小:2.80MB
返回 下载 相关 举报
单片机课设 室内温度测量_第1页
第1页 / 共19页
单片机课设 室内温度测量_第2页
第2页 / 共19页
单片机课设 室内温度测量_第3页
第3页 / 共19页
单片机课设 室内温度测量_第4页
第4页 / 共19页
单片机课设 室内温度测量_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课设 室内温度测量》由会员分享,可在线阅读,更多相关《单片机课设 室内温度测量(19页珍藏版)》请在金锄头文库上搜索。

1、北京工商大学信息工程学院 单片机原理课程设计报告题目:室内温度检测系统专业: 班级:学号:姓名: 同组姓名:指导教师: 目 录一设计任务和要求3二设计思想和设计方案31设计思想32 总体方案设计32.1 设计方案论证32.2 硬件构成33 硬件电路设计64 软件设计8三调试分析93.1 软件调试93.2 软硬联调9四实物焊接图10五源代码12六课设结论19七心得体会19八参考文献19一设计任务和要求用温度传感器DS18B20实现能检测室内环境温度(-10 C40C),要求用2位或多位LED显示;1. 要求能有报警功能,当温度超过报警上限时要能报警,报警上限要能通过键盘设定;二设计思想和设计方案

2、1. 设计思想用AT89S51控制DS18B20,读取数据,并对DS18B20转换后的数据进行处理,最后在数码管上显示DS18B20测出的温度2. 总体方案设计2.1设计方案论证针对本课题的设计任务,进行分析得到:本次设计用温度传感器进行温度的测量,转化了的温度信号由传感器直接得到了数字信号。该数字温度计的设计,在总体上大致可分为以下几个部分组成:1.单片机控制电路;2.温度传感器;3. LED显示电路。由于本设计是测温电路, 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值

3、,进行转换,就可以满足设计要求。系统原理框图如图1所示。单片机LED数码管显示DS18B20温传感器数据采集图1 系统原理框图2.2 硬件构成1) 主控制器 AT89C51作为温度测试系统设计的核心器件,该器件是INTEL公司生产的系列单片机的基础产品,采用了可靠的COMS工艺制造技术,具有高性能的8位单片机,不仅结合了HMOS的高速和高密度技术及低功耗特征,而且继承和扩展了MCS-48单片机的体系结构和指令系统。AT89C51具有以下标准功能:8K字节FLASH,256字节RAM,32位I/O总线,看门狗定时器2个数据指针,3个16位定时器、计数器,一个6向量2级中断结构,全双工串行口,片内

4、晶振及时钟电路。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0也被作为低8位地址/数据使用。在这种模式下,P0具有内部上拉电阻。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P2口:P2口是一

5、个具有内部上拉电阻的8位双向I/O口,P2口输出缓冲器驱动4个TTL逻辑电平。对P2端口写1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。2)LED数码管LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。3)温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传

6、感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:a独特的单线接口仅需要一个端口引脚进行通信;b多个DS18B20可以并联在惟一的三线上,实现多点组网功能;c无须外部器件;d可通过数据线供电,电压范围为3.05.5;e零待机功耗;f温度以或位数字;g用户可定义报警设置;h报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;i负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂

7、存RAM的结构为字节的存储器,结构如图3所示。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过

8、单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS1

9、8B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当

10、减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。3. 硬件电路设计1 )主控制器 单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89C51是一种低功耗,高性能的8位微控制器,具有8K在系统可编程FLASH存储器。

11、使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得AT89S52为众多嵌入式控制应用系统提供高灵活,超有效的解决方案。图3 主控制器电路2 )显示电路 显示电路采用集成的数码管,为共阳极结构,采用动态显示,P0口作为输出编码端,P2.0和P2.1作为位选控制端,通过设置不同的段码可以显示温度,可以对温度进行实时检测。图4 显示管电路其中:AG管脚与P0口的P1.0P1.6相连,确定显示器被选中数据位的段码;2,3,4管脚分别于P3口的P

12、3.4,P3.5,P3.7相连,确定显示器的位码,分别对应于数据的百位,十位和个位。3 )数据采集电路DS18B20的内部结构主要包括:寄生电源,温度传感器,64位激光ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值得TH和TL触发器,存储和逻辑控制,8位循环冗余码发生器等七部分。DS18B20测量温度时使用特有的温度测量技术,将被测温度转换成数值信号,测量结果将存入温度寄存器中。图5 温度控制器电路4. 软件设计1) 主程序设计系统的主程序主要用来初始化一些参数,对DS18B20的配置数据进行一系列的设定。另外对DS18B20的状态不断的查询,以读取当前的温度

13、值,并对温度进行处理,温度值的BCD码处理后,将其段码送显示缓冲区,以备定时扫描服务程序处理。调用显示子程序DS18B20读取温度 初始化 转换温度 温度显示 检测返回图6 主程序流程图2 )温度显示程序 此程序是将采集到得数据用LED数码管显示,然后将实际温度与设置的报警上下限进行比较,决定是否发出报警信号。由于T为实际温度的绝对值,TH,TL也是温度的绝对值,因此判断大小关系时,要通过正负号来确定。 数据采集接收数据 温度转换LED显示开始图7温度显示流程图三调试分析3.1 软件调试本次设计采用的是keil仿真器进行软件调试,此系统可以开发应用软件,以及对硬件电路进行诊断、调试等。它的具体

14、功能是可以进行CPU仿真,可以单步、跟踪、断点和全速运行,而且,程序的编译过程中,可以对设计软件进行自诊断,并自动给出故障原因。同时用户调试程序时,可以通过窗口观察寄存器的工作状况,以便及时发现和排除编程中可能出现的错误。软件的调试是利用keil软件,模块化调试,通过观察存储单元数据的变化,查找并解决程序的语法和逻辑错误,具体的调试步骤如下:1. 把系统的各个模块在仿真软件中逐个调试,如数据采集模块、显示模块等。2. 对各个需要赋值模块调试时,赋入初值,单步调试,观察数据窗口,看输出结果是否为设计时想要的结果。3. 把各个模块组合起来,全速运行,看程序是否能流畅的,是否能实现设计的系统的所有功能。3.2 软硬联调本设计是采用Proteus软件实现电路图设计和仿真的,Proteus软件与Keil软件联合使用,实现设计要求。在Keil软件中创建新文件,输入所编写的c语言程序并保存,在编译源程序无误后,会产出相应的”.HEX”文件;将所生成的”.HEX”文件加载到已绘制好的Proteus原理图中,使Proteus与Keil真正连接起来,实现联合调试。图8仿真测试图四实物焊接图 1)无连接电源2)温度测量时五源代码#include#defin

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号