温度计课程设计报告.docx
《温度计课程设计报告.docx》由会员分享,可在线阅读,更多相关《温度计课程设计报告.docx(9页珍藏版)》请在冰豆网上搜索。
温度计课程设计报告
长沙学院
单片机原理课程设计说明书
题目数字温度计
系(部)电子与通信工程系
专业(班级)09电气
姓名林琪
学号2009041121
指导教师刘辉、王新辉、谢明华
起止日期12年6月4日—6月15日
《单片机原理及应用》课程设计任务书
系(部):
电信系专业:
2009级电气工程指导教师:
王新辉、谢明华、刘辉
课题名称
数字式温度计的设计
设计内容及要求
(1)课题内容:
以单片机为核心,使用DS18B20温度传感器设计一个数字式温度计。
测量一路温度信号并用12864液晶屏显示;测温范围-55-125摄氏度,精度0.1摄氏度。
液晶屏的第一行显示本人的姓名和学号,第二行显示测量温度、当前时间及设定的上、下限温度报警值。
当温度高于设定上限值或低于下限值时驱动峰鸣器发出5声报警声。
(2)要求:
完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后,下载到DP-51PROC单片机实验箱验证。
最后就课程设计本身提交一篇课程设计说明书。
设计工作量
1、汇编或C51语言程序设计;
2、程序调试;
3、在Proteus上进行仿真后,进行下载;
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。
进度安排
起止日期(或时间量)
设计内容(或预期目标)
备注
第一天
课题介绍,答疑,收集材料,C51介绍
第二天
设计方案论证,练习编写C51程序
第三天~第六天
程序设计
第六天~第八天
程序调试、仿真
第九天~第十天
系统测试并编写设计说明书
教研室
意见
年月日
系(部)主管领导意见
年月日
目录
摘要2
关键词:
单片机温度传感器12864液晶显示蜂鸣器2
1课程设计的主要内容:
3
2课题的设计思路、实施方法;4
2.1主控模块4
2.2采集模块4
2.3键盘模块4
2.4显示模块5
2.5报警模块5
2.6程序设计5
3仿真结果14
4总结思考15
5参考文献16
摘要
本次设计以Atmel公司生产的AT89C51单片机为核心,使用DS18B20型温度传感器设计的数字式温度计。
测温部分为一路温度信号的测量,其测温范围为-55-125摄氏度,精度0.1摄氏度。
显示部分为液晶屏12864显示,第一行显示设计者本人的姓名和学号,第二行显示测量温度、当前时间及设定的上、下限温度报警值。
报警部分为当温度高于设定上限值或低于下限值时驱动峰鸣器发出5声报警声。
关键字AT89C51单片机DS18B20型温度传感器12864液晶显示
一.课程设计的主要内容
(1)课题内容:
以单片机为核心,使用DS18B20温度传感器设计一个数字式温度计。
测量一路温度信号并用12864液晶屏显示;测温范围-55-125摄氏度,精度0.1摄氏度。
液晶屏的第一行显示本人的姓名和学号,第二行显示测量温度、当前时间及设定的上、下限温度报警值。
当温度高于设定上限值或低于下限值时驱动峰鸣器发出5声报警声。
(2)要求:
完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后,下载到DP-51PROC单片机实验箱验证。
最后就课程设计本身提交一篇课程设计说明书。
1、汇编或C51语言程序设计;
2、程序调试;
3、在Proteus上进行仿真后,进行下载;
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。
二.课题的设计思路、实施方法
数字温度计主要由五部分组成:
控制模块、数据采集模块、键盘模块、显示模块和报警模块等。
其中,控制模块实现循环监控温度信号的功能,数据采集模块实现温度信号的采集,显示模块实现实时显示温度值、报警点、时间及设计者的名字学号等信息,报警模块实现报警功能。
设计基本框图:
数据采集模块
控
制
模
块
键盘模块
显示模块
报警模块
图1数字温度计基本设计框图
2.1主控模块
主控模块采用ATMEL公司的AT89C51。
AT89C51是一个低电压、高性能COMS8位单片机,片内含4K可反复擦写的FLASH只读存储器和128BYTESDE随机存储数据存储器,32个双向I/O口等。
它可按规定的方式进行编程,也可在线编程。
尤其是它的反复可擦写FLASH存储器可降低开发成本。
2.2采集模块
采集模块采用DALLS半导体公司生产的数字化温度传感器DS18B20。
它是世界上第一片支持“一线总线”接口的温度传感器。
DS18B20的测量范围为-55~125度,最高测量精度可达0.1度。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
其管脚排列如下:
DQ为数字信号输入/输出端,GND为电源地,VDD为外接电源输入端。
设定的温度在EEPROM中,掉电后依然存在。
2.3键盘模块
由于系统要求并不高,所以采用独立式键盘。
键盘模块用于设置温度的报警上下限。
该模块采用独立式按键方式。
分别由单片机的P1口的四个位驱动。
四个按键分别代表不同的作用:
按键1上限加1,按键2上限减1,按键3下限加1,按键四下限减1。
2.4显示模块
显示模块用P0口和P2口接外界12864(带字库)液晶显示器。
第一行显示姓名和学号,第二行显示温度的上下限,第三行显示当前温度,第四行显示时间。
2.5报警模块
报警模块为单片机P3口驱动蜂鸣器,用于温度上下限达到时,单片机驱动,提供报警。
2.6程序设计
1.主程序:
主程序的功能是测温系统的初始化,温度的实时显示,读出DS18B20的测量温度值。
流程图如图二所示:
图二.主程序流程图
2.读出温度子程序:
读出温度子程序的主要功能是读出RAM中的9字节。
流程图如图三所示:
图三.读取温度子程序流程图
3.温度转换子程序:
温度转换子程序主要是发温度转换开始命令。
当采用12位分辨率时,转换时间是750ms。
流程图如图四所示:
图四.温度转换命令子程序流程图
4.计算温度子程序:
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度正负值的判定。
流程图如图五所示:
图五.计算温度子程序
三.仿真结果
图六.当前温度没有超过上下限,所以蜂鸣器不报警
图七.当前温度高于下限温度,蜂鸣器发出报警
图八.当前温度低于下限温度,蜂鸣器发出报警。
四.设计心得
通过两周的努力,完成了数字温度计的设计,虽然能够没有完全达到要求,但是通过了老师的答辩。
本次课程设计在单片机学习的基础上,运用单片机进行数字温度计的设计。
本次课程设计通过在Keil环境中用C语言编程,并在Protues中设计电路进行仿真测试,实现了温度计的测试,误差较小。
最后通过LCD显示模块显示出当前温度等。
从课程设计中,我真真意识到,在以后的学习中,要理论联系实际。
只有把我们所学的只是应用到实践中,才能更好地掌握这些知识。
尤其是像单片机这样的课程,因为它本身就是一个实践的课程,程序只有经常写,才能提高编程能力。
另外在课程设计中得到了各位老师的指导,帮助我们尽快找到问题的所在,并及时解决问题,使得课程设计能顺利完成,因此,在此,向各位老师深表感谢。
五.参考文献
1.郭天祥编著,《新概念51单片机C语言教程--入门、提高、开发、拓展全攻略》,北京:
哈尔滨大学
2.求是科技,《8051系列单片机C程序设计完全手册》,人民邮电出版社
3.李朝青,《单片机原理及接口技术》,北京航空航天大学出版社,1999年3月第一版
4.张毅刚,《新编MCS-51单片机应用设计》,哈尔滨工业大学出版社
5.谭浩强,张基温,唐永炎编,《C语言程序设计教程》,清华大学出版社,1999年12月第2版