西安工大学毕业设计(论文) 4.2.6显示子程序流程图
本设计采用动态显示方式。首先显示湿度最低位的一个字符并延时1ms,其余各位不显示,相应的位选线关闭,保证同一时刻只有一位显示,然后循环左移一位显示该位字符,只要循环时间足够短,利用人的视觉暂留效应,使人们看起来像是一直在发光,达到一种稳定显示的视觉效果。流程图如图4.6所示
入口湿度最低位指向显示缓冲区首地址最右端送字节显示缓冲区内容加一取显示缓冲区查表取显示字表送P0口位内容减一延时1us显示位左移一位扫描6位Y返回N 图4.6 显示子程序流程图
24
西安工大学毕业设计(论文) 4.2.7 实时时钟子程序流程图
本设计采用DS1302晶振电路为AT24C02提供信号,地址空间84H、85H为小时读写位操作,因为只需要小时位跳变顾只需要查看小时所存空间信息即可。先写入,后读出,查看跳变,如图4.7所示。
入口初始化写1302地址使DS1302不具备写保护延时复位产生高电平将该地址数据读出写1302地址地址增加N延时数据读完成Y返回向该地址写数据地址增加N数据完成Y复位产生一个高电平
图4.7 实时时钟子程序流程图
25
西安工大学毕业设计(论文) 4.2.8 写入24C02子程序流程图
AT24C02写入流程图,首先启动I2C,发送器件地址,检测ACK,看8字节是否写完,写完地址加一;若没有写完等待继续写入。终止I2C,跳出子程序,返回。
入口启动I2C发送器件地址检查ACK8字节写入完全YN延时1us位地址加一终止I2C返回
图4.8写入24C02子程序流程图
4.2.9 读24C02子程序流程图
读24c02信息与写入其信息大体相同,不但要发送器件地址,还有发送信息所存位地址信息,同样要进行ACK校验,读取信息值,如图4.9所示。
26
西安工大学毕业设计(论文) 入口启动I2C启动I2C发送器件地址器件地址加一校验ACK校验ACK发送器件内部地址读取字节数据校验ACK指向下一个单元返回 图4.9 读24C02子程序流程图
4.3本章小结
本章主要介绍了系统软件设计,选用设计语言为C语言,由课题的要求画
相应的主程序流程图、结合主程序流程图在画子程序流程图,子程序流程图包括:参数设定、温湿度采集、报警、数码管显示、实时时钟、24C02等子程序,为下面相关的编写程序做铺垫。
27
5 系统调试与仿真 5 系统调试与仿真
在原理图完成与软件编程完成后,需要对其进行调试,以保证硬件与软件连接成系统后能够达到设计要求。系统调试是系统开发最重要的环节之一,系统成型后能否正常工作,主要取决于系统调试是否成功。
5.1系统软件调试
本设计是在Keil C环境下开发的,Keil C软件支持C语言的编程及调试,运用方便,是做C语言毕业设计者的首选。设计的首要任务是安装和学习使用这个软件,在简单的学习和了解Keil C后,进行编程,调试。
Keil C程序运行如图5.1所示
图5.1 软件调试
28