基于单片机温湿度采集系统毕业设计-毕设课设资料
【资源下载】下载地址如下1528:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
温度和湿度是两个最基本的环境参数,与人们的生活息息相关。在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度和湿度进行测量和控制。准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要。因此研究温湿度的测量和控制方法具有重要的意义。
本设计实现的是单片机温湿度测量和控制系统,通过LCD显示所测量的温湿度。系统采用集温湿度传感器与A/D转换器于一体的SHT11芯片,通过单片机进行处理显示,其它模块包括了实时时钟/日期产生电路和超限报警处理电路,对测量的值进行实时显示和报警处理。文章介绍了基于ATMEL公司的AT89C51系列单片机的温湿度实时测量与控制系统和显示系统的设计,包括介绍了硬件结构原理,并分析了相应的软件的设计及其要点,包括软件设计流程及其程序的实现。系统结构简单、实用,提高了测量精度和效率。
关键词:AT89C51、SHT11、LCD、DS1302、温湿度控制
#include<reg51.h>
#include<absacc.h>
#include<intrins.h>
#include<math.h>
#include<12864.h>
#include<LCD1604.h>
#include<DS1302.h>
#include<SHT11.h>
#include<set_key.h>
void Delay1ms(unsigned int count) //延时函数
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
main()
{
SYSTEMTIME CurrentTime; //定义时间日期结构体
SHT_dat aa; //定义温湿度测量处理结构体
Init_12864(); //12864的显示*/
Initial_DS1302(); //DS1302初始化*/
LCD_Initial(); //LCD初始化
GotoXY(0,0); //LCD显示函数
Print("Date:");
GotoXY(16,0);
Print("Temper:");
GotoXY(0,1);
Print("Time:");
GotoXY(16,1);
Print("Humidi:");
while(1)
{
convert_SHT(&aa,TEMP); //温度转换
convert_SHT(&aa,HUMI); //湿度转换
caculation_SHT(&aa); //温度和湿度的补偿
float_convert(&aa); //将浮点数转换成整型,各个位的数分别保存
doing_temp(&aa); //检测温度是否超限
doing_humi(&aa); //检测湿度是否超限
DS1302_GetTime(&CurrentTime);
DateToStr(&CurrentTime);
TimeToStr(&CurrentTime);
GotoXY(5,0); //第一行显示日期
Print(CurrentTime.DateString);
GotoXY(23,0); //第三行显示温度
Print(aa.num_temp);
GotoXY(28,0);
Print(" ");
// Print(" C ");
GotoXY(5,1); //第二行显示时间
Print(CurrentTime.TimeString);
GotoXY(23,1); //第四行显示湿度
Print(aa.num_humi);
GotoXY(28,1);
Print(" ");
//Print(" % ");
Delay1ms(300); //延时