《现代电子综合实验》
课程设计报告
基于单片机的温度检测控制系统设计
学生姓名 学 号
专 业 班 级
同组学生 提交日期 年 月 日
指导教师
报告评分
批改老师
1
目录
一、实验目的....................................................................................................................................2
二、实验要求....................................................................................................................................2
三、实验开发环境及工具................................................................................................................2
四、按键扫描和液晶显示功能实现................................................................................................2
4.1 矩阵键盘电路......................................................................................................................2
4.1.1 矩阵键盘电路简介...................................................................................................2
4.1.2 矩阵式按键扫描原理...............................................................................................2
4.1.3 按键扫描子程序设计思想及流程图......................................................................2
4.2 LCD1602 显示电路.............................................................................................................3
4.2.1 LCD1602 模块简介..................................................................................................3
4.2.2 LCD1602 模块引脚说明..........................................................................................3
4.2.3 LCD1602 控制方式及指令......................................................................................3
4.2.4 LCD1602 液晶显示子程序设计思想及流程图......................................................4
五、基于单片机的温度检测控制系统设计过程............................................................................5
5.1 系统整体电路框图及功能说明.........................................................................................5
5.2 DS18B20 数字温度传感器电路......................................................................................5
5.2.1 单总线通信方式简介..............................................................................................5
5.2.2 DS18B20 简介.......................................................................................................6
5.2.3 DS18B20 读写操作...............................................................................................6
5.3 声光报警及控制电路.........................................................................................................6
5.4 软件设计.............................................................................................................................7
5.4.1 主程序设计流程图..................................................................................................7
5.4.2 DS18B20 子程序设计思想及流程图...................................................................7
5.4.3 声光报警子程序设计思想及流程图....................................................................8
七、 实验过程及实验结果..............................................................................................................9
八、实验中遇到的问题及解决方法................................................................................................9
附件..................................................................................................................................................10
2
一、实验目的
(1). 掌握单片机应用系统的设计方法与步骤;
(2).掌握硬件电路各功能模块的工作原理、应用电路与编程方法;
(3).熟练掌握单总线的应用及编程;
(4). 掌握基于单片机的温度检测控制系统的设计与实现。
二、实验要求
基于单片机的温度检测控制系统设计实验要求如下:
(1)系统通过 DS18B20 采集当前温度环境温度并显示(精确到 0.1
o
C);
(2)系统包含三个按键,可设定上下限温度的阈值;
(3)若当前温度高于阈值温度 temph 时,声光报警,开启电机降温;若当前温度低于
阈值温度 templ 时,声光报警,继电器闭合加热模块
三、实验开发环境及工具
KeilC51 软件,Proteus 仿真软件,单片机开发板
四、按键扫描和液晶显示功能实现
4.1 矩阵键盘电路
4.1.1 矩阵键盘电路简介
如图 1 所示,矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。在键盘
中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,
每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就
可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越
明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键。
图 1 矩阵键盘电路
4.1.2 矩阵式按键扫描原理
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电
源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入端。这
样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一
旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
矩阵键盘中按键的识别有行扫描和线翻转两种方法,其中行扫描法是一种最常用的按键识别
方法,过程如下:
(1)逐行输出 0,检查列线是否非全高;
(2)如果某行输出 0 时,查到列线非全高,则该行有按键按下;
(3)根据输出 0 的行线和读入 0 的列线,即可判断按下按键的位置。
4.1.3 按键扫描子程序设计思想及流程图
如图 2 所示本系统通过不断扫描按键(调整键、增加键、减少键)是否按下,从而实现
3
设定上下限温度的阈值的功能。
图 2 按键扫描流程图
4.2 LCD1602 显示电路
4.2.1 LCD1602 模块简介
LCD1602 液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示
屏(LCD)、控制驱动主电路 HD44780 及其扩展驱动电路 HD44100,以及少量电阻、电容
元件和结构件等装配在 PCB 板上而组成。
4.2.2 LCD1602 模块引脚说明
LCD1602 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明见下
图 3。
图 3 LCD1602 引脚接口说明
4.2.3 LCD1602 控制方式及指令
LCD1602 液晶模块内部的控制器共有 11 条控制指令,见下图 4。
4
图 4 LCD1602 控制指令
LCD1602 液晶模块的读/写操作、显示屏和光标的操作都是通过指令编程来实现的(其
中,1 为高电平,0 为低电平),分别介绍如下:
(1)指令 1:清屏。指令码 01H,光标复位到地址 00H。
(2)指令 2:光标复位。光标复位到地址 00H。
(3)指令 3:输入方式设置。其中,I/D 表示光标的移动方向,高电平右移,低电平左移;
S 表示显示屏上所有文字是否左移或右移,高电平表示有效,低电平表示无效。
(4)指令 4:显示开关控制。其中,D 用于控制整体显示的开与关,高电平表示开显
示,低电平表示关显示;C 用于控制光标的开与关,高电平表示有光标,低电平表示无光标;
B 用于控制光标是否闪烁,高电平闪烁,低电平不闪烁。
(5)指令 5:光标或字符移位控制。其中,S/C 表示在高电平时移动显示的文字,低电
平时移动光标。
(6)指令 6:功能设置命令。其中,DL 表示在高电平时为 8 位总线,低电平时为 4 位
总线;N 表示在低电平时为单行显示,高电平时双行显示;F 表示在低电平时显示 5×7 的点
阵字符,高电平时显示 5×10 的点阵字符。
(7)指令 7:字符发生器 RAM 地址设置。
(8)指令 8:DDRAM 地址设置。
(9)指令 9:读忙信号和光标地址。其中,BF 为忙标志位,高电平表示忙,此时模块
不能接收命令或数据,如果为低电平则表示不忙。
(10)指令 10:写数据。
(11)指令 11:读数据。
4.2.4 LCD1602 液晶显示子程序设计思想及流程图
显示装置有很多,例如数码管、16*16 双色点阵。使用它们可以很直观方便的显示一些
字符数据,但是它们也有各种局限性,比如显示字符数据信息太少,硬件设计复杂、代码编
写难度大等。本系统选用了一种非常简单且常用的显示装置 LCD1602 字符型液晶显示器使
用它可以显示更多的字符数字信息 , 而且不需要任何驱动芯片。液晶显示电路如图 5 所示,
LCD1602 的 8 位双向 I/O 口 D0-D7 与 STC89C52 单片机的 P0.0-P0.7 引脚相连接,LCD1602
的 R/W、RS、E 脚与单片机的 P2.5、P2.6、P2.7 管脚连接。RV1 是一个电位器,用来调
节 LCD1602 对比度。
评论0