单片机课程设计报告:多功能温度巡检仪程序设计

上传人:jiups****uk12 文档编号:40020657 上传时间:2018-05-22 格式:DOC 页数:20 大小:336.50KB
返回 下载 相关 举报
单片机课程设计报告:多功能温度巡检仪程序设计_第1页
第1页 / 共20页
单片机课程设计报告:多功能温度巡检仪程序设计_第2页
第2页 / 共20页
单片机课程设计报告:多功能温度巡检仪程序设计_第3页
第3页 / 共20页
单片机课程设计报告:多功能温度巡检仪程序设计_第4页
第4页 / 共20页
单片机课程设计报告:多功能温度巡检仪程序设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《单片机课程设计报告:多功能温度巡检仪程序设计》由会员分享,可在线阅读,更多相关《单片机课程设计报告:多功能温度巡检仪程序设计(20页珍藏版)》请在金锄头文库上搜索。

1、沈阳工程学院课程设计任务书课程设计题目:课程设计题目: 多功能温度巡检仪程序设计多功能温度巡检仪程序设计 系 别 班级 学生姓名 学号 指导教师 职称 教授 课程设计进行地点: 任 务 下 达 时 间: 15 年 1 月 12 日起止日期: 15 年 1 月 12 日起至 15 年 1 月 23 日止系主任 年 月 日批准1.设计主要内容及要求;编写多功能温度巡检仪程序。要求:1)多路温度测量和显示。2)可以设置正常温度范围,越限报警。2.对设计论文撰写内容、格式、字数的要求; (1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于 3000 字。(2).学生应撰写的内容为:中文摘要

2、和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。(3).论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行打印。(4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。3.时间进度安排;顺序阶段日期计 划 完 成 内 容备注11 月 12 日教师讲解题目,学生查阅相关资料21 月 13 日查阅相关资料、进行方案论证31 月 14 日参数计算、确定温度超限设置方法41 月15、16、19 日编写程序51 月20、2

3、1 日调试程序61 月 22 日撰写论文71 月 23 日验收作品、答辩中文摘要中文摘要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一, 它所给人带来的方便也是不可否定的,其中数字温度测量就是一个典型的例子。 温度测量系统广泛应用于社会生活的各个领域 ,如家电、汽车、材料、电力电 子等。但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好 的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控 制方向发展。 本设计以 C8051F020 芯片为核心,辅以必要的外围电路,设计了一个简易 的多路温度巡检仪。在硬件方面,除了 CPU 外,系统采用 DS18B2

4、0 数字温度传 感器测量温度,采用 1602 液晶显示屏显示当前温度。然后通过三个独立按键来 设置一个正常温度的范围的最小值和最大值,当温度不在设置的正常温度范围 内,用于报警的蜂鸣器就会发出响声。在软件反面,采用语言设计,系统能 够准确测量三路温度并且显示,并且具有调整温度范围和报警的功能。 此系统严格按照要求设计,最终达到预期的效果,能够测量和显示多路温度,并且可以设置正常的温度范围,超过范围具有报警功能。是一次比较成功的设计。 关键字关键字: : 单片机 测温 显示 报警1 1 课程设计要求课程设计要求1.11.1 设计主要内容及要求设计主要内容及要求编写多功能时钟程序要求:1)多路温度

5、测量和显示。2)可以设置正常温度范围,越限报警。1.21.2 对设计论文撰写内容、格式及字数的要求对设计论文撰写内容、格式及字数的要求(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于 3000 字。(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。(3).论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行打印。(4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献

6、。1.31.3 时间进度安排时间进度安排3.时间进度安排;顺序阶段日期计 划 完 成 内 容备注11 月 12 日教师讲解题目,学生查阅相关资料21 月 13 日查阅相关资料、进行方案论证31 月 14 日参数计算、确定温度超限设置方法41 月 15、16、19编写程序日51 月 20、21 日调试程序61 月 22 日撰写论文71 月 23 日验收作品、答辩2 2 课程设计思路课程设计思路本设计主要介绍单片机编程来实现系统功能,本设计由 C8051F020 芯片为 主要核心,采用 DS18B20 数字温度传感器测量当前温度,采用 1602 液晶显示屏 显示当前温度。正常温度的设置采用三个按键

7、,其中一个功能按键,用来选择 设置后温度最小值和温度最大值,另外两个按键分别是设置温度时用来加减温 度。2.12.1 测温和显示测温和显示数字温度传感器 DS18B20,因其内部集成了 A/D 转换器,使得电路结构更加简 单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温 度传感器 DS18B20 只用一个引脚即可与单片机进行通信,大大减少了接线的麻 烦,使得单片机更加具有扩展性。DS18B20 采用单总线的方式和单片机进行通 信,通过编程,单片机可以直接从 DS18B20 内部读取温度值。本次设计使用的 1602 液晶显示器为 5V 电压驱动,带背光,可显示两行,每行 16

8、 个字符,不能 显示汉字,内置 128 个字符的 ASCII 字符集字库。2.22.2 设置正常温度范围设置正常温度范围系统采用三个按键,KEY1,KEY2,KE3 设置正常的温度范围,其中,KEY1 是功能 选择按键,按 KEY1 可以在显示温度,设置正常温度最小值,设置正常温度最大 值三个模式中切换。当选择设置正常温度最小值或设置正常温度最大值模式时, 液晶显示正常温度范围的最小值或者最大值,然后通过按键 KEY2 和 KEY3 可以 选择让这个值增加或者减小。2.32.3 报警功能报警功能报警功能的电路采用一个三极管驱动的蜂鸣器作为报警电路,在显示温度时, 当测得三路温度中有任何一路的温

9、度不在正常温度的范围内时,报警电路就开 始工作,发出响声。主程序按键 1 选择设置最小值设置最大值测温显示按键加或减按键加或减设置完成设置完成报警返回主程序超过正常范围4 4 各模块程序设计各模块程序设计4.1 测温部分测温部分DS18B20 采用单总线方式与单片机之间经行通信,所以在程序中,单片机只要操作一个 IO 口就可以对 DS18B20 经行操作,完成测温的功能。DQ0DQ2 分别对应三个 DS18B20。程 序主要包括四个函数,分别说传感器初始化操作,读字节操作,写字节操作和读取温度操 作。代码如下:/*初始化 ds1820 */ /*/ uchar Init_DS18B20(voi

10、d) DQ0 = 1 ;DQ1 = 1 ;DQ2 = 1 ; /DQ 复位Delay(10) ; /稍做延时DQ0 = 0 ;DQ1 = 0 ;DQ2 = 0 ; /单片机将 DQ 拉低Delay(100) ; /精确延时 大于 480usDQ0 = 1 ;DQ1 = 1 ;DQ2 = 1 ; /拉高总线Delay(8) ;presence =DQ; Delay(100) ;DQ0 = 1 ;DQ1 = 1 ;DQ2 = 1 ; /拉高总线 return(presence) ; /返回信号,表示初始化成功,否则表示初始化失败 /* 读一个字节 */ /*/void ReadOneChar(vo

11、id) unsigned char i = 0 ; dat0 = 0 ;dat1 = 0 ;dat2 = 0 ; for (i = 8 ; i 0 ; i-)DQ0 = 0;DQ1 = 0;DQ2 = 0; / 给脉冲信号dat0= 1;dat1= 1;dat2=1; /用于存放数据的字节右移一位DQ0 = 1;DQ1 = 1;DQ2 = 1; / 给脉冲信号Delay(1); /稍做延时if(DQ0) /如果总线为高,说明返回的数据时 1dat0 |= 0x80 ; /将 1 写入变量中,如果是 0 则不写,因为前面已经 清零了?if(DQ1)dat1 |= 0x80 ;if(DQ2)dat

12、2 |= 0x80 ;Delay(6) ; /* 写一个字节 */ /*/void WriteOneChar(unsigned char dat) unsigned char i = 0 ;for (i = 8 ; i 0 ; i-)DQ0 = 0 ;DQ1 = 0 ;DQ2 = 0 ; /单片机将 DQ 拉低DQ0 = dat /如果写的数据位是 1,则拉高总线,否则总线保持 低电平即可 DQ1 = dat DQ2 = datDelay(6) ;DQ0 = 1 ;DQ1 = 1 ;DQ2 = 1 ; /拉高总线 dat=1 ; /要写的数据右移一位 /* 读取温度 */ /*/void Re

13、ad_Temperature(void) Init_DS18B20() ;WriteOneChar(0xCC) ; / 跳过读序号列号的操作WriteOneChar(0x44) ; / 启动温度转换Init_DS18B20() ; /初始化 DS18B20WriteOneChar(0xCC) ; /跳过读序号列号的操作WriteOneChar(0xBE) ; /读取温度寄存器ReadOneChar() ; /温度低 8 位wd0=dat0; /先将温度低 8 位存到 16 位的变量中wd1=dat1;wd2=dat2;ReadOneChar() ; /温度高 8 位 wd0=wd0+256*dat0; /将温度的高 8 位也存到 16 位的变量中wd1=wd1+256*dat1;wd2=wd2+256*dat2;wd0=wd0*0.625; /转化成实际温度,保留一位小数wd1=wd1*0.625;wd2=wd2*0.625; 4.24.2 显示部分显示部分1602 液晶显示屏采用并口方式与单片机进行通信,单片机的 P0 口与液晶的数据口链接, P2.0,P2.1,P2.2 分别与液晶的 RS,RW,EN 三个命令端相连。通过正确的时序,单片机 就可以控制 1602 液晶显示我们需要的字符。程序主要包括三个函数,液晶初

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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