- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
室内温度检测控制器研讨
山东科技大学
课程实训说明书
课程: 单片微机原理
题目: 室内温度检测控制器
院 系: 信息工程系
专业班级: 电子信息科学与技术13-2班
学 号: 201323010230
学生姓名: 徐志宏
指导教师: 亓涛 许晋京
2015 年 12 月 31 日
成绩
评语:
指导教师
目录
一、课题设计思路
1.1 功能要求………………………………………………….
1.2 设计原理及原理图………………………………….
1.3 系统流程图……………………………………………….
二、硬件设计及软件编程
2.1 电路连线引脚图…………………………………
2.2 温度传感器
2.2.1 DS18B20工作原理…………………………….
2.2.2 硬件连接……………………………………
2.2.3 软件程序设计………………………………
2.3 时间存储器
2.3.1 DS1302工作原理…………………………..
2.3.2硬件连接……………………………………
2.3.3软件程序设计……………………………….
2.4 EEPROM
2.4.1 24C16工作原理…………………………….
2.4.2硬件连接……………………………………
2.4.3软件程序设计………………………………
2.5 按键设计…………………………………………
三、整体文件工程……………………………………
四、实训总结………………………………………
一、课题设计思路
1.1 功能要求
实时检测室内环境温度,并通过继电器控制电加热器的开关,保持所处监测点温度保持在设定温度范围内。显示器实时显示实际温度值。超过温度设定值蜂鸣器报警与闪光三秒,并将超限值和超限时间保存在EEPROM中。温度值可人工随时设定、保存、查询显示功能。显示器的显示模式可通过键盘控制,显示模式有:实时温度,当前时间的月、日和时、分,设定的超温报警下限、电加热下限(低于报警下限启动电热器)、报警上限、风冷却上限(高于报警上限启动风扇)。可查询报警参数及时间(时、分)。
1.2 设计原理及系统原理图
①温度传感器DS18B20将收集到温度数据传到单片机中经过数据处理在LED数码显示管中显示出来。
②单片机和SPI总线存储器DS1302进行通信,单片机向存储器写入一串命令,然后,单片机读出时间数据进行显示。
③设计两个按键实现二者的转换,键1实现显示温度,键2实现显示时间,另外设4个按键实现时间中小时数值的加减和分钟的加减以达到实现设定时间的目的。
④将读出的温度与设定的数据(温度上下限)进行比较,若不在范围内则蜂鸣器报警、发光二极管闪烁;超过上限则通过继电器启动电风扇,超过下限则启动电热器
⑤将超限值写入EEPROM中再读出,按键实现上下限以及超限值的显示。另外设两个按键实现上下限的加减以便达到自定义上下限的目的。系统原理图如下:
1.3 系统流程图
二、硬件设计及软件编程
2.1电路连线引脚图
2.2 温度传感器
2.2.1 DS18B20工作原理
原理图如下图所示:
DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输,其工作时序包括初始化时序、写时序和读时序。DQ为数据输入/输出引脚、开漏单总线接口引脚,当被用着在寄生电源下,也可以向器件提供电源。温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H,所以在LED数码显示时要转化为十进制显示出来。
2.2.2硬件连接
P1.0接DS18B20温度传感器模块的OUT,P3.0、P3.1分别接静态数码管显示模块的RXD、TXD。
2.2.3软件程序设计
/*********18b20初始化函数*********/
uchar Init_DS18B20()
{
unsigned char
文档评论(0)