智能温控风扇报告 下载本文

洛阳理工学院毕业设计(论文)

开始 调用按键 扫描函数 程序初始化 调用数码管 显示函数 调用DS18B20 初始化函数 调用温度 处理函数 调用DS18B20 温度转换函数 调用风扇 控制函数 调用温度读取函数 结束 图4-4 主程序流程图

4.3 DS18B20子程序流程图

先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

33

洛阳理工学院毕业设计(论文)

发DS18B20复位命令CRC校验正确?发跳过ROM命令Y发读取温度命令移入温度暂存器NY读取操作,CRC校验N结束9字节完?

图4-5 DS18B20程序流程图

4.4 数码管显示子程序流程图

程序实现的功能是将从DS18B20读取的二进制温度值转换为七段码在LED上显示出来。显示方式采用的是动态扫描的方式,先给位选信号,再给段选信号,然后延时一下。具体流程图如图4-6

34

洛阳理工学院毕业设计(论文)

第一位送位选给低 第三位送位选给低 第一位送形 第三位送形 延时10ms显示 延时10ms显示 第二位送位选给低 第四位送位选给低 第二位送形 第四位送形 延时10ms显示 结束 延时10ms显示 图4-6 数码管显示程序流程图

4.5 按键子程序流程图

硬件设计上为通过3个按键,由按键扫描子程序KEYSCAN子程序提供软件支持。按下一次设置键K1,进入温度上限设置,此时按下“加”键K2,加一,按下“减”键K3,减1。再按一次设置键K2,进入温度下限设置状态,此时按下“加”键K2,加一,按下“减”键K3,减1。下限动作温度值TL和上限动作温度值的设置范围为10-100摄氏度,满足一般使用要求。再按一次设置键K3退出上下限温度设置状态。

35

洛阳理工学院毕业设计(论文)

设置按键按下 延时去抖 N 判断设置键 是否按下 Y 判断当前设置模式 设置上限 设置下限 退出设置 判断加、减键 是否按下 N Y 修改设置的阀值 结束 图4-7 按键程序流程图

36