R/W 0 1 0 1 西华大学电气信息学院智能化电子系统设计报告 E端为使能端,后面和时序联系在一起。 除此外,D0~D7分别为8位双向数据线。
RS 0 0 1 1 操作说明 写入指令码D0~D7 读取输出的D0~D7状态字 写入数据D0~D7 从D0~D7读取数据 注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0.
读取状态字时,注意D7位,D7=1,禁止读写操作;D7=0,允许读写操作
4软件设计
4.1软件设计整体结构图
开始 LCD初始化 定时器0、1,外中断0初始输出信号初始化 读取温、湿度值 显示温、湿度值 当前温度大于 设定湿度上限? Y 红灯亮,开蜂鸣器 打开电机,降温 N 当前文度小于 设定湿度下限? Y 红灯亮,打开蜂鸣器 N - 12 -
西华大学电气信息学院智能化电子系统设计报告 温度正常,红灯灭,关蜂鸣器,关电磁阀 Y 当前湿度大于 设定温度上限? 温度正常,黄灯灭 关蜂鸣器,关风扇 关电磁阀 打开外部中断0 启动键盘 N 黄灯亮,开蜂鸣器 开风扇 当前温度小于 设定温度下限 Y 黄灯亮,开蜂鸣器, 开电磁阀 N 延时2S,以便正常 读取温、湿度值
图4-1 系统软件设计整体结构图
首先,初始化单片机设置中断,定义变量,然后初始化LCD1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示。调用温湿度采集程序进行数据采集,经过数据转换程序,将十六进制转换成十进制,将十进制数据输出到LCD1602显示模块进行显示,根据温度调整电机转速,根据湿度判断是否报警,最后,进行新一轮的温湿度采集
- 13 -
西华大学电气信息学院智能化电子系统设计报告 4.2 LCD1602显示模块结构图
LCD1602显示模块初始化延时数据转换十六进制→十进制是否在第一行显示数据?Yaddress = 0x80 + xNaddress = 0xc0 + x输入显示地址命令延时输入显示数据结束
图4-2 LCD1602显示模块结构图
初始化LCD1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示,延时等待,将采集到的温湿度数据进行转换,十六进制转换成十进制,然后,判断是否在第一行显示,输入相应的地址数据,延时等待,输入需要显示的数据。
- 14 -
西华大学电气信息学院智能化电子系统设计报告 4.3外部中断0、按键、设置(SET)温、湿度上下限、UP+,DOWN—:
INTO : P3.4 有 N
Y SET是否按下 Y 一个低电平 N SET 是否放开
Y LCD光标移动到设定温度下限
N
SET是否按下 Y 设定温度上限 设定温度下限
SET N 是否按下
设定湿度下限 Y N SET是否按下
设定湿度上限 Y N SET是否按下
退出设定 图4-3 中断流程图
- 15 -
相关推荐: