4 系统软件设计 4 系统软件设计
对于系统而言,要进行各项功能,首先要有完善的硬件作保证,同时还必须相应合理的软件作支持。前一章节主要是对温湿度监测系统硬件电路设计,本章节主要进行对系统的软件部分设计。主要通过Keil C51语言的介绍、软件流程图的设计两部分进行的。
4.1Keil C51语言的介绍
程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。
高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流。然而,C51语言具有一般高级语言的特点,又能对计算机的硬件进行直接操作,并且采用C51语言编写的程序能够很容易的在不同计算机之间进行移植。与其他高级语言相比,C51语言具有自身的特点:
a. 语言简洁,使用方便灵活 b. 可移植性好
c. 表达能力强
d. 可执行结构化程序设计 e. 可以直接操作计算机硬件 f. 生成的目标代码质量高
4.2系统软件程序流程图
在软件部分设计包括主程序的流程图、设置按键子程序流程图、温度采集子程序流程图、T0中断流程图、报警子程序流程图、数码管显示子程序流程图、晶振子程序流程图、写24C02存储器子流程图、调取24C02子程序流程图、显示子程序流程图、报警子程序流程图 4.2.1主程序流程图
首先开始,接着系统初始化,然后进行键盘扫描,查看设置键是否按下,如果按下执行设置按键子程序;如果没按下按照当前环境下监测无尘室内的温湿
19
西安工大学毕业设计(论文) 度。温度的采集选用DS18B20数字式温度传感器采集温度,湿度用HS1101结合NE555把对湿度的采集转化为频率的采集,将采集到的数据直接送入单片机进行数据处理,看数据是否过限,如果过限启用声光报警且并进行数码管显示,如果没过限,直接进行数码管显示。查看DS1302是否整点,如果整点进行存储,把当前温湿度信息写入到AT24C02里面,没有达到整点在扫描按键S5是否按下,若按下调取AT24C02信息并显示,若没有按下直接跳出并进行下次按键扫描。程序主流程图如图4.1所示。
入口初始化按键扫描设置键按下NY设置参数温度采集湿度采集温度超限NY报警数码管显示整点Y写入存储器N调取键S5是否按下NY调取并显示
图4.1主程序流程图
20
西安工大学毕业设计(论文) 4.2.2设置参数子程序流程图
当设置键按下时,进入设置参数子程序。当S1温度设置键按下时,进入温度设置状态:当S3键按下时对温度执行“加1”;当S4键按下时对温度执行“减1”功能。而当S3、S4键都没按下时,返回子程序。
设置键是S1、S2当S1没有按下时S2按下,进入湿度设置状态,当S3按下时对湿度执行“加1”功能;当S4键按下时,对湿度进行“减1”。同理,S3、S4键都未按下时返回子程序。
入口S1按键按下NY执行S3温度加一YS3按下NYS3按下Y湿度加一NY执行S4温度减一S4按下S4按下N湿度减一N返回 图4.2设置参数子程序流程图
4.2.3温度采集流程图
温度采集程序主要完成DS18B20的初始化并发出温度转换命令,经过指定时间后读取转换的温度值。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。温度采集程序流程图如图4.3所示。
21
西安工大学毕业设计(论文) 入口DS18B20复位跳过ROM指令发读取温度指令CRC校验正确YN读取操作CRC校验移入暂存储器N9字节完返回Y
图4.3 温度采集子程序流程图
4.2.4 湿度采集流程图
湿度采集不像温度采集那样直接接数字式的传感器,它是通过把对湿度的采集转化为频率的采集,频率采集通过对单片机T0、T1口进行定时和计数得出频率值。首先从中断服务程序入口进入,开启定时中断T0、T1,T0进行定时,T0对湿度电路给的频率计数,当满1s 时关闭T0、T1单片机对记得数线性化运算,得出湿度值。流程图如图4.4所示。
22
西安工大学毕业设计(论文) 中断服务程序入口开定时T0、T1是否满1SY据频率查表得出湿度N延时中断返回
图4.4 湿度采集子程序流程图
4.2.5 报警子程序流程图
当监测到的温度数值,超出设定范围时,启动发光二极管报警。当湿度范围超出设定的范围时,启动蜂鸣器报警;若均在设定范围发光二极管和蜂鸣器均不报警。流程图如图4.5所示。
入口温度超限Y发光二极管发光N湿度超限YN蜂鸣器报警发光二极管发光蜂鸣器报警返回 图4.5报警子程序流程图
23