基于ds18b20和at89c51单片机的温度检测的系统设计内容摘要:

6 DS18B20 与单片机接口电路 DSl8B20 使用中注意到事项: DSl8B20 虽然具有测温系统简单,测温精度高、连接方便、占用 I/ O 口线少等 优点,但在实际应用中也应注意以下问题: ( 1) 在实际片使用中发现,应使电源电压保持在 5v 左右,如果电压过低,会使 所测得到温度与实际温度出现偏高现象,使 温度输出定格在 85℃ ( 2) 连接 DSl8B20 的总线电缆是有长度限制的。 当采用普通信号电缆传输长度 超过 50m 时,读取的测温数据发生错误,当采用双绞线带屏蔽电缆为总线电缆时, 正常通讯距离可达 l50m,当采用每米胶合次数更多 的双绞线带屏蔽电缆时,正常通讯距离可以进一步加长。 这种情况主要由总线分布电容使信号波形产生畸变造成的。 因此,存进行长距离测量时要充分考虑总线分布电容和阻抗匹配问题。 LM016L液晶显示器和单片机接口技术 LM016L 显示器简介 LM016L 字符型液晶显示模块是一种专门用 于显示字母、数字、符号等点阵式 LCD,目前常用 16*1, 16*2, 20*2 和 40*2 行等的模块。 显示字符时, 由于 LM016L 内带字符 VDD DS18B20 DQ GND 单 片 机 基于 AT89C51 的温控制系统设计 8 发生器的控制器,可以让控制器工作在文本方式,根据在 LCD 上开始显示的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符对应的代码 即可。 1602LCD 的基本参数及引脚功能 1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图 7 所示。 图 7 LM016L 结构图 LCD1602 主要技术参数: 容量 :162 个字符 芯片工作电压 :— 工作电流 :() 模块最佳工作电压 : 字符尺寸 :(WH)mm 引脚功能说明 : 1602LCD 采用标准的 14 脚(无背光)或 16脚(带背光)接口,各引脚接口说明如表 6 所示: 表 6 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 基于 AT89C51 的温控制系统设计 9 第 1脚: VSS 为地电源。 第 2脚: VDD 接 5V 正电源。 第 3脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生 “ 鬼影 ” ,使用时可以通过一个 10K 的电位器调整对比度。 第 4脚: RS 为寄存器选 择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5脚: R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14脚: D0~ D7 为 8 位双向数据线。 第 15脚:背光源正极。 第 16脚:背光源负极。 LM016L 与单片机接口电路 系统 显示 电路由单片机 AT89C5字符 液晶显示器 LM016L 和 1k 8 的排组构成。 单片机实现对 LCD 命令和显示数据的读写控制功能, P0 口作数据口,与 LM016L 的 D0~ D7相接,在 P0 口与 D0~ D7数据线之间分别接 8个上拉电阻,以确保电路能够正常显示。 AT89C51 的 P1 口作为 LCD 的控制线, ~ 分别接 LM016L 的 RS、 RW 和 E端; LM016L的其它三个控制端 VDD 和 VSS、 VEE 分别接电源和地。 系统显示 电路组成如图 8 所示。 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1L M 0 1 6 L23456789 1R P 11K 图 8 系统硬件电路组成 键盘电路设计 行列式键盘与单片机接口电路 根据本设计需要,本系统采用 2 2键盘实现对温度值和功能键的设定。 基于 AT89C51 的温控制系统设计 10 行列式键盘与单片机接口电路如图 9 所示, H0H1 为行线,接单片机 P2 口的 、 口, L0L1 为列线,接单片机的 、 口。 初始化时键盘列线为高电平,行线为低电平。 列线上需接 10K 的上拉电阻。 图 9 2 2 键盘结构 Proteus 中 2 2 键盘的制作 首先在 Proteus 中画出键盘面板,如图 10 所示,并指定键盘的左上角为坐标圆点,用软件中的坐标跟踪功能检测出面板按键的边长为 300mm 和中心坐标,分别为:( 300,400 )( 300,700)( 700,400)( 700, 700)。 图 10 2 2 键盘面板 在 Proteus 中选中制作的面板右击鼠标,选 Make Device 选项,制作步骤如下图 11所示 : (a) (b) 基于 AT89C51 的温控制系统设计 11 (c) (d) (e) (f) (g) (h) 图 11 矩阵键盘制作步骤 基于 AT89C51 的温控制系统设计 12 读 DS18B20 温度传感器序列号电路设计 每个 DS18B20 温度传感器的序列号都不相同,在使用 DS18B20 温度传感器多点测温时要先读出其序列号。 硬件设计如图 12所示: 在 口接 DS18B20 温度传感器,在片 口接发光二极管显示电路,发光二极管亮,与其相连的接口为低电平,发光二极管灭,与其相连的接口为高电平,在程序中把 DS18B20 的序列号读出后以 8 位为单位存放在单片机的 RAM 中,共放 8 个存储单元,依次把每个单元送到 P2 口显示,即可读出DS18B20 温度传感器的序列号。 图 12 读 DS18B20 的序列号原理图 系统在 PROTUSE 中原理图的设计 PROTUSE 简介 Proteus 是英国 Labcenter electronics 公司研发的 EDA 设计软件,是一个基于ProSPICE 混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真下台。 Proteus 不仅可以做数字电路、模拟电路、数模混合电路的仿真,还可进行多种 CPU的仿真,涵盖了 5 PIC、 AVR、 HCll、 ARM 等处理器,真正实现了在计算机上从原理设计、电路分析、系统仿真、测试到 PCB 板完整的电子设计,实现了从概念到产品 的全过程。 Proteus ISIS 的工作界而是一种标准的 Windows 界 面 ,如图 13 所示。 包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。 基于 AT89C51 的温控制系统设计 13 图 13 Protuse ISIS 工作界面 原理图绘制 (1)新建文件:打开 Protuse,点 FILE,在弹出的下拉菜单中选择 NEWDESIGN,在弹出的图幅选择对话框中选 Landscape A4。 (2)元器件选取:按设 计 要求,在对象选择窗口中点 P,弹 出 PICK DEVICES 对话框,在 KEYWORDS 中填写要选择的元器件,然后在右边对话框中选中要选的元器件,则元器件列存对象选择的窗口中。 本设计所需选用的元器件如下:  AT89C51:单片机  LM016L:图形液晶  RES、 RESPACK8:电阻、上拉电阻  CRYSTAL:晶振  KEYPADXIAO:2 2矩阵键盘  DS18B20:温度传感器  BUTTON:按钮  CERAMIC10P:电容 (3)按设计连接原理图 , 如图 14 所示 基于 AT89C51 的温控制系统设计 14 图 14 Proutes 中 系统仿真原理图 3 系统软件设计 读 DS18B20 的序列号程序设计 读 DS18B20 的序列号的主程序设计流程图如图 15 所示,程序中主要对 DS18B20 的初始化子程序,然后读出 DS18B20 的 64位序列号存入到 40H~ 47H 中,然后将 40H 内容送入 P0 口,显示出 40H 中的二进制数,记录下来,然后分别把 41H47H 的内容送入 P0口显示并记录,四个 DS18B20 的序列号分别为: (1)28H 30H ECH 57H 02H 00H 00H 19H (2)28H 04H C6H 57H 02H 00H 00H 6DH (3)28H 75H E6H 57H 02H 00H 00H 3AH (4)28H 95H E5H 57H 02H 00H 00H 5DH 主程序设计 系统主流程图如图 16 所示,主要完成 LCD 初始化、 DB 块内容显示、对 CGRAM 的读写和对 DS18B20 的初始化和精度设置、多个 DS18B20 的匹配、温度值 BCD 码的转换、报警判断子程序。 基于 AT89C51 的温控制系统设计 15 宏 指 令置 高 使 能读 出 64位 ROM存 入40H47H跳 过 ROMDS18B20初 始 化清 使 能调 至 当 前把 40H送 入 P0口 宏 指 令处 理 B C D 码温 度 值 转 换 B C D 码D S 1 8 B 2 0 初 始 化设 置 温 度 报 警 值D S 1 8 B 2 0 初 始 化设 置 D S 1 8 B 2 0显 示 屏 初 始 化 并 写C G R O M2 0 H 2 F H 单 元 清 零F L A G 1 = 1 ?发 出 温 度 转 换 命 令取 第 2 个D S 1 8 B 2 0 温 度跳 过 R O M取 第 4 个D S 1 8 B 2 0 温 度显 示 “ 错 误 ” 字 符取 第 3 个D S 1 8 B 2 0 温 度按 3 键。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。