基于ds18b20的数字温度计设计
- 格式:doc
- 大小:565.00 KB
- 文档页数:7
《单片机原理及应用》课程设计实验报告
学年学期:2014-2015第1学期
专业班级:12级自动化B
指导教师:徐敏、关健生
设计时间:第17周
学时周数:每班/周
一、设计目的(基于ds18b20的数字温度计设计)
课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练,让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,进一步掌握和利用C语言进行单片机程序设计的能力,熟练掌握键盘、显示、单总线,温度传感器DS18B20等知识点。
二、设计任务及要求
本课程设计的题目设计内容自选,学生可以根据平时的观察,了解单片机实验的应用系统,弄清其结构和功能,结合单片机课程及其相关的知识,充分发挥自身的想象力和创造力,自行选定设计项目,但总体应达到以下要求:
1、用89C51CPU,12M时钟,常规的上电和手动复位电路
2、包括3×4矩阵键盘
3、LCD显示显示器及接口
4、一路蜂鸣器输出
5.至少有1路输入信号,可以是模拟量或数字量
三、设计项目简介
本设计以检测温度并显示温度提供上下限报警为目的,按照系统设计功能的要求,确定系统由5个模块组成:单片机主控器,测温电路,按键电路,显示电路,报警电路。
1.单片机模块:主要实现数据的处理,输出执行,报警设置功能以及矩阵键盘的使用。通过从DS18b20读取的温度超过上下限的初始值时候,调用报警程序进行报警。通过按键来改变上下限的初始值;
2. 温度传感模块:主要功能是通过DS18B20对温度的采集及将测量的温度值读到单片机内,并在LCD1602上显示出来。
3. 显示模块:可以显示实时的温度值以及设置的上下限。
四、电路原理图
(1)仿真电路图
(2)实际电路图
五、系统功能描述
1.运用DS18B20将测量温度值读到单片机内,将其在LCD1602上显示出来。
2.利用3*4矩阵键盘设定温度值的上下限,并在LCD上显示出来。
3.将读进来的温度和设置的上下限值进行比较,若测量温度值超出上下限,就调用报警程序进行报警;若测量温度值在设定范围之内,则不报警。
4.当温度变化时,读取温度值并在LCD上显示。
六、程序框图
(1)系统框图
(2)主程序流程图
按键输入电路
温度检查 复位电路 STC89C51
单片机
LCD显示器
蜂鸣器电路
开 始 LCD驱动电路
(2)LCD初始化程序框图 初始化
读取测量温度值
读取按键值
键盘处理
温度比较处理
温度大于上限值
温度小于下限值
温度显示
结 束 蜂鸣器报警 Y
Y N
N
开 始
初始化
LCD是否忙
写指令数据
复 位
LCD是否忙
写显示数据
复 位
读完数据
结 束 N N
YU Y
Y N (4)温度传感器DS18B20初始化程序框图
七、程序清单
#include <> 开 始
初始化
延时
复 位
读取温度
显示温度
温度值超出上下限范围
结 束 蜂鸣器报警 Y N 温度转换 #include <>
#define uchar unsigned char
#define uint unsigned int
uchar buf1;
uchar buf2;
uchar buf3;
uchar tt;
uchar n=0; ......忽略此处.......