- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于SHT11传感器的温湿度测量系统设计
3.2键盘设定算法程序设计
键盘采用K1、K2、K3、K4,4个非自锁开关设计,当开关按下后会给单片机相应I/O口一个高电平。键盘主要实现对显示界面的切换、温湿度报警上下限设定及时间设定3大功能。这4个开关的功能为:K1为界面切换键;K2为逻辑"+",上翻页,光标上移;K3为逻辑"-",下翻页,光标下移;K4选择键。
图7 SHT11 传感器工作时序图
3.3液晶显示程序设计
液晶显示模块的编程方式主要由该模块使用的控制/驱动器所决定。设计采用ST7920汉字液晶控制/驱动器,其拥有8位并行微控制器接口,通过单片机编程,并使用了显示字母、数字符号和中文字型的功能。另外,对于液晶屏的编程,一般只需向其中写数据即可。显示程序设计流程如图9所示。
图8 SHT11测量操作流程图
图9 液晶模块操作程序流程图
3.4报警程序设计
温湿度越限报警功能通过报警函数实现,当温湿度高于设定的报警上限或低于设定的报警下限时,便会在单片机的P2.1管脚输出高电平,并通过三极管放大电路驱动蜂鸣器报警。
在报警函数中,通过算法比较温湿度显示的限值和湿度设定限值的大小来判断当前湿度是否越限。而温度与湿度的比较类似,仅是算法上仍需对综合温度的正负值进行考虑。
3.5 DS1302时钟程序设计
DS1302时钟芯片在系统中起计时及时间显示、设定的功能。DS1302的读写操作时序如图10所示,在控制指令字输入后的下一个SCLK时钟上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据。
图10 DS1032的读写时序图
3.6主函数程序设计
主函数程序将上述各功能单元子函数程序综合到一个函数中循环运行,其流程如图11所示。
图11 主函数程序流程图
上一篇:精度0.2%的双相电表解决方案
下一篇:一种立体声信号相位差电平差测试仪的设计方法