《单片机原理及应用》课程设计实验报告
学年学期: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 温度大于上限值 N 温度小于下限值 Y N 温度显示 蜂鸣器报警 结 束
结 束 Y N LCD是否忙 开 始 初始化 Y N 写指令数据 复 位 YU LCD是否忙 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;
......忽略此处.......
因篇幅问题不能全部显示,请点此查看更多更全内容