基于单片机的空调温度控制系统设计
器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一接电,暂存存储器内就有有效的数据可供使用。
(4)读电源[B4h]
在此命令送至DS18B20之后最先发出的读数据时间片,器件都会给其电源方式的信号:0=强上拉电阻供电;1=电源供电。
(5)写RAM存储器[44h]
写数据到RAM存储器,地址为第2、第3、第4字节(TH、TL、CONF)。
(6)温度变换[44h]
此命令开始温度变换,不需要另外的数据。温度变换将被执行,接着DS18B20便保持在空闲状态。
5.2 LCD1602液晶数据显示概述 5.2.1 接口信号说明
表5.1
编号 符号 1 2 3 4 5 6 7 8 VSS VDD VL RS R/W E D0 D1 引脚说明 电源地 电源正极 液晶显示偏压信号 编号 符号 引脚说明 9 10 11 D2 D3 D4 D5 D6 D7 BLA BLK Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O 背光源正极 背光源负极 数据/命令选择端(H/L) 12 读/写选择端(H/L) 使能信号 Data I/O Data I/O 13 14 15 16 5.2.2 控制器接口说明
1、基本操作时序
读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高电平 输出:无
-21-
基于单片机的空调温度控制系统设计
读数据:输入:RS=H,RW=H,E=H 输出:D0~D7=数据 写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 输出:无2、状态字说明
表5.2 STA7 D7 STA0-6 STA7 当前数据地址指针的数值 读写操作时能 1: 禁止 0: 允许 STA6 D6 STA5 D5 STA4 D4 STA3 D3 STA2 D2 STA1 D1 STA0 D0 注:对控制器每次进行读写操作前,都必须进行读写检测,确保STA7为0 3、指令说明
表5.3显示模式设置
指令码 0 0 1 1 1 0 0 0 功能 设置16×2显示,5×7点阵,8位数据口
表5.4 初始化设置
指令码 0 0 0 0 1 D C B 功能 D=1 开显示; D=0 关显示 C=1 显示光标; C=0不显示光标 B=1 光标闪烁; B=0 光标不显示 0 0 0 0 0 1 N S N=1 当读或写一个字符后地址指针加一,且光标加一 N=0当读或写一个字符后地址指针减一,且光标减一 S=1 当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。 -22-
基于单片机的空调温度控制系统设计
S=0 当写一个字符,整屏显示不移动 4、数据控制
控制器内部设有一个数据地址指针,用户可通过他们来访问内部的全部80字节RAM。
表5.5 数据指针设置 指令码 80H+地址码(0-27H,40H-67H) 功能 设置数据地址指针 5.2.3 控制接口时序说明
1.读操作时序
图 5.1
2.写操作时序
图5.2
-23-
基于单片机的空调温度控制系统设计
5.3 存储器24C02数据存储概述 5.3.1 I2C 总线的定义
1、是 PHLIPS 公司推出的一种两线制串行总线,简单地说,就是用于连接到总线的器件间传递信息的通道。
2、是一个多主机的总线,具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。
3、是一种双向两线总线,包括一条串行数据线(SDA),一条串行时钟线(SCL),总线空闲时这两条线路都是高电平。
I2C总线上所有外围器件都有规范的器件地址,器件地址由7位组成。主机发送地址时,总线上的每个从机都将这7 位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/W位将自己确定为发送器或接收器。其格式如下:
表5.6 D7 D6 DA3 DA2 D5 DA1 D4 DA0 D3 A2 D2 A1 D1 A0 D0 R/W 其中DA3~DA0是器件地址为厂家设置,A2~A0为引脚地址,最多可连8个,R/W位为数据传输方向控制位。 5.3.2 I2C 总线的时序
1、只有在总线空闲时才允许启动数据传送。
图5.3 IC总线时序图
2
-24-
基于单片机的空调温度控制系统设计
2、在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被看做总线的起始或停止信号。
起始信号:时钟线保持高电平期间,数据线电平从高到低的跳变作为I2C总线的起始信号。
停止信号:时钟线保持高电平期间,数据线电平从低到高的跳变作为I2C总线的停止信号。
5.3.3 数据传送
I2C总线上数据传送的每一帧数据均为一字节。但启动I2C总线后,传送的字节数没有限制,只要求每传送一字节后,对方回答一个应答位。相关的响应时钟脉冲由主机产生,在响应的时钟脉冲期间发送器释放SDA 线拉高。作为响应,在时钟脉冲期间接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。
图5.4 数据传送时序
5.4 软件程序设计
1、模块流程图
1.1主程序模块流程图(图5.5)
1.2 DS18B20通讯模块流程图(图5.6) 1.3 键扫描模块流程图(图5.7)
-25-