器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P3.7与DS18B20的IO口连接加一个上拉电阻,Vcc接电源,Vss接地。
图2.4 DS18B20温度采集模块
2.5 功能按钮设计
当按钮被按下时,该按钮对应的IO口被拉为低电平,松开时按钮对应的IO口由内部的上拉电阻将该IO拉为高电平,如图2.5所示:
图2.5 键盘电路设计
2.6 总体电路图
3 软件设计流程
3.1 系统总流程图
系统总体流程图如图3.1所示,系统流程图设计分析如下:首系统初始化,系统运行,当有设置键按下时进入时间修改模式,无按键按下时读取时间温度等数据送入显示器显示。在时间修改模式下设置时间完成后再将时间送入显示器显示。
图3.1 系统流程图
3.2 温度程序流程图
温度读取程序流程图如图3.2所示。流程图分析:开始进入初始化DS18B20,就是通过主机拉低单线产生复位脉冲然后释放总线,如果有应答就发起ROM命令,当成功执行操作命令后,就使用温度转换,当温度转换完成后又初始化DS18B20是否有应答脉冲,若有就发起读暂存器和CRC命令,同时读出第一第二字节即温度数据。
图3.2 温度读取程序流程图
3.3 DS1302时钟程序流程图
时钟流程图如图3.3所示,流程图分析:DS1302开始计时时,首先进行初始化,当有中断信号时,读取时钟芯片的时间数据送入液晶显示。这时若有设置键按下,进行时间修改,完成后将时间数据送入1302芯片,若
没有按键按下,直接送入EPROM中,送入液晶显示。
图3.3 时钟程序流程图
DS1302时钟部分子程序
void write_byte(uchar dat)写一个字节 {
ACC=dat;
相关推荐: