基于STC89C52单片机的温度检测系统设计_周鹏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 22 期
周 鹏:基于 STC89C52单片机的温度检测系统设计
11
FLASH ROM,512 B 的 RAM 和 2 KB 的E2PROM; 3 个16 位 定 时 器/计 数 器 ,一 个 6 向 量 2 级 中 断 结 构 。
STC89C52 的 P0 口 作 为 普 通 I/O 口 使 用,与 12864液晶显 示 器 DB0~DB7 数 据 口 相 连,根 据 P0 口 硬件特点在其外部必须接上上拉电阻。
2 主 要 硬 件 设 计
2.1 STC89C52 单 片 机 系 统 STC89C52单片机 系 统 由 单 片 机,时 钟 电 路,复 位
电路组成。单片机系统如图2所示。
1 系 统 组 成
系 统 主 要 由 单 片 机 STC89C52,温 度 传 感 器 DS18B20,点 阵 型 液 晶 显 示 器 LCD12864(ST7920),键 盘 电 路 和 报 警 电 路 组 成 (如 图 1 所 示 )。
时 钟 电 路 采 用 内 部 时 钟 方 式 ,为 单 片 机 系 统 提 供 时 钟信号。
复 位 电 路 采 用 上 电 自 动 复 位 和 按 键 复 位 的 方 式 ,只 要保证加到 RST 引脚的高电平持续时间大于2个机器 周期就能使单片机正常复位 。 [3] 2.2 DS18B20 数 字 测 温 电 路
图 1 系 统 框 图 收 稿 日 期 :2012-06-24
图 2 STC89C52 单 片 机 系 统
STC89C52单片机 具 有 抗 干 扰 性 能 强、速 度 快、功 耗 低 和 指 令 代 码 完 全 兼 容 8051 单 片 机 等 特 点 。 其 主 要 参数为[1-2]:时钟频率 最 高 可 达 80 MHz;内 置 8 KB 的
图 4 LCD12864 与 单 片 机 接 口 电 路
GDRAM 提供64×32 个 字 节 的 空 间,实 际 可 控 制 128×64点 阵 的 二 维 绘 图 缓 冲 空 间。GDRAM 的 二 维 地址与液晶屏幕坐标的对应关系如图5所示。
图 3 DS18B20 数 字 测 温 电 路
2.3 LCD12864 显 示 电 路 显 示 电 路 是 人 机 交 互 的 核 心 ,本 系 统 需 同 时 显 示 实
关 键 词 :STC89C52 单 片 机 ;DS18B20;LCD12864(ST7920);温 度 检 测 系 统 中 图 分 类 号 :TN919-34;TP368 文 献 标 识 码 :A 文 章 编 号 :1004-373X(2012)22-0010-04
Design of temperature detection system based on MCU STC89C52
坐标(AC 地 址 )与 DDRAM 地 址 的 对 应 关 系 如 表 1 所示。
表1 液晶屏幕坐标(AC 地址)与 DDRAM 地址的对应关系表
液晶显示器y 坐标 第1行 第2行 第3行 第4行
液晶显示器x 坐标 80H~87H 90H~97H 88H~8FH 98H~9FH
CGRAM 模块提供4组16×16点的自定义图像空 间,可以将 内 部 字 型 没 有 提 供 的 图 像 字 型 自 行 定 义 到 CGRAM 中,便 可 和 CGROM 中 的 定 义 一 样 地 通 过 DDRAM 显示在屏幕中。
图5 GDRAM 二维地址与液晶屏幕坐标的对应关系图
2.4 其 他 电 路 2.4.1 报 警 电 路
报警 电 路 由 PNP 三 极 管 (9012),蜂 鸣 器 及 单 片 机 的控制引脚(P21)组成。当温度超限,P21引脚输出 一 定 频 率 的 信 号 ,触 发 蜂 鸣 器 工 作 从 而 实 现 报 警 。 报 警 电 路如图6所示。
Keywords:MCU STC89C52;DS18B20;LCD1286 (ST7920);temperature detection system
0 引 言
在某些检测领域将被测温度数字化显示还不足以 完 全 反 应 其 变 化 过 程 和 变 化 规 律 ,而 绘 制 出 趋 势 曲 线 是 有效方法之一。其中一种解决方案是将单片机作为下 位机采样现场温度,将其上传给 PC 机 绘 制 曲 线。 有 鉴 于 点 阵 型 图 形 液 晶 显 示 器 成 本 逐 年 降 低 、显 示 容 量 越 来 越 大 、工 耗 越 来 越 小 、而 且 可 以 方 便 地 与 单 片 机 接 口 ,本 文设计 了 一 种 温 度 检 测 系 统。 利 用 DS18B20 采 集 温 度,LCD12864(ST7920)液 晶 显 示 器 直 接 与 STC89C52 单片机接口,在 LCD12864(ST7920)上显示被测温度和 温度曲线。
STC89C52用于 实 现 算 法、是 整 个 系 统 的 主 控 核 心;LCD12864用于显示实测温 度、温 度 曲 线、时 间 和 日 期等参数;DS18B20用于 温 度 采 集;键 盘 电 路 用 于 设 定 相关参数(上下限温 度 值、时 间);报 警 电 路 用 于 温 度 超 限报警。
图 7 键 盘 电 路
2.4.3 电 源 电 路 LM7805三端集 成 稳 压 器 和 滤 波 电 容 组 成 电 源 电
路,为整个系统提供稳定的工作电压。电 源 电 路 如 图 8 所示。
图 8 稳 压 电 路
3 软 件 设 计 主程序流程如图9所示。
界面显示函数包括:
DisplayDdramChar() DrawGdramSelfChar() SetGdramDot()/DrawGdramLine()
测 温 度 、上 限 温 度 、温 度 曲 线 ,时 间 和 日 期 ,信 息 量 大 ,故 选择点阵图形液晶显示器 LCD12864(ST7920)。
LCD12864(ST7920)具 有 特 性 为 [7-9] :4 位/8 位 并 行、2 线 或 3 线 串 行 等 多 种 接 口 方 式;显 示 分 辨 率 为 128×64,内置8 192个16×16点汉字,和 128个16× 8点 ASCII字符集;接口方式灵活、简单,可方便的构成 中英文式 人 机 交 互 图 形 界 面。LCD12864 与 单 片 机 接 口电路如图4所示。
ReadDs18b20Data()//读 出 温 度 值 (实 测 温 度/上 下 限 温 度 )
Ds18b20DataToString()
//转 换 为 显 示 字 符
SetDs18b20AlarmTempe()
///设 定 上 限 温 度
DisplayDs18b20AlarmTempe()源自///显 示 上 限 温 度
块 ,而 后 调 用 温 度 采 集 ,界 面 显 示 等 函 数 。 (1)初 始 化
TimerInit()
//T0 为 定 时 器 ,工 作 方 式 1,定 时 每 50 ms产 生 中 断
InitLcdBase()
//液 晶 显 示 器 初 始 化
ClearLcdGdram()
ZHOU Peng
(Information Science & Engineering,HuaQiao university,Xiamen 361021,China)
Abstract:A kind of the temperature detection system based on MCU STC89C52is presented in this paper to detect the temperature on spot.The digital temperature sensor DS18B20is applied to collecting the digital signal,which is sent to the MCU STC89C52for processing.The temperature value and trend line are displayed on liquid crystal display LCD12864 (ST7920).Experimental result shows the reliability and accuracy of the system can meet the design requirement.
LCD12864(ST7920) 由 DDRAM (显 示 数 据 RAM),CGROM (字 型 产 生 ROM)和 CGRAM (自 定 义字型产生 RAM)和 GDRAM(绘图 RAM)等组成,实 现显示字符和图形的功能。
DDRAM 模块提供64×2个位元组的空间,最多可 控制4行16字(64个字)的中文字型显示,当 写 入 显 示 数据 RAM 时,可 分 别 显 示 CGROM 与 CGRAM 的 字 型;此模块可显示 HCGROM 字 型 (半 角)、CGRAM 字 型及 CGROM 的中文字型3 种 字 型。 液 晶 显 示 器 屏 幕
图 6 报 警 电 路
12
现代电子技术
2012 年 第 35 卷
2.4.2 键 盘 电 路 键盘电路采用中断和查询相结合的方式设定温度
和调整时间。系统 由 4 个 按 键 组 成,分 别 对 应 温 度/时 间 设 定 的 功 能 选 择 ,数 字 增 加 和 减 少 的 调 节 。 当 有 键 按 下 时 ,负 跳 变 引 起INT1 中 断 ,再 查 询 具 体 按 键 ,并 执 行 相应 功 能。 这 种 结 构 既 扩 充 了 外 部 中 断 源,减 少 了 CPU 的工作负 担,又 能 对 按 键 进 行 实 时 处 理。 键 盘 电 路如图7所示。
DisplayDs18b20DigitalTempe()
//显 示 实 测 温 度
Draw Ds18b20AlarmTempeLine() //绘制上限温度线
DrawDs18b20TempeLine()//绘 制 实 测 温 度 线
3.3 主 函 数 主函 数 包 括 初 始 化 液 晶 显 示 器,定 时/计 数 器 等 模
测温电路的传感器选用 DS18B20 数字式温度传感 器,它具有特点[4-6]为:可通过编程的方式实现9~12 位 的数字 温 度 直 读;测 温 范 围 为 -55~125 ℃,最 高12位 分辨率,精度可达±0.5 ℃;可设置超限温度报警,并有 搜索命令识别报警条 件;单 总 线 接 口,仅 需 一 条 输 入 输 出线(DQ)就 能 与 单 片 机 (P2.0)进 行 通 信。DS18B20 数字测温电路如图3所示。
//数 字/字 符 显 示 //自 定 义 字 符 显 示
//描 点/画 线
3.2 温 度 采 集 函 数 启动 DS18B20温度转换和数据传输必须严格 按 照
其 时 序 进 行 ,温 度 采 集 函 数 包 括 :
InitDs18b20()//启动 DS18B20
WriteDs18b20OneByte() //写命令/数据(上下限温度)
2012 年 11 月 15 日 第 35 卷 第 22 期
现代电子技术
Modern Electronics Technique
Nov.2012 Vol.35 No.22
基 于 STC89C52 单 片 机 的 温 度 检 测 系 统 设 计
周 鹏
(华侨大学 信息学院,福建 厦门 361021)
摘 要:为了检测现场温度,并直观反映其变化趋势,设计了 基 于 STC89C52 单 片 机 的 温 度 检 测 系 统。 利 用 数 字 温 度 传 感 器 DS18B20采集温度信号,该信号送入 STC89C52单片机处理,后由液晶显示器 LCD12864 (ST7920)显示温度值,并绘制 出 温 度 变 化 曲 线 。 实 测 结 果 表 明 ,系 统 可 靠 性 、测 试 精 度 及 温 度 趋 势 曲 线 绘 制 达 到 设 计 要 求 。
相关文档
最新文档