云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的温湿度报警器设计

基于单片机的温湿度报警器设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 0:47:26

基于单片机的温湿度监控报警系统设计

L1602_char(2, 16, HH+48); break; default: break; } Save_Setting(); }

/*********主函数**********/ void main()

{ U16 i, j, testnum; EA = 0;

Timer0_Init(); //定时器0初始化 Data_Init(); EA = 1;

L1602_init(); L1602_string(1,1,\ \ L1602_string(2,1,\ \

for (i=0;i<1000;i++) //延时 for (j=0;j<1000;j++) {;}

L1602_string(1,1,\ \清屏 L1602_string(2,1,\ \ L1602_string(1,1,\ C TH:\ L1602_string(2,1,\ % HH:\

Load_Setting(); //载入温度上限和湿度上限设定值 L1602_char(1, 15, TH/10+48); L1602_char(1, 16, TH+48); L1602_char(2, 15, HH/10+48); L1602_char(2, 16, HH+48); while(1) { if (FlagStartRH == 1) //温湿度转换标志检查 { TR0 = 0;

testnum = RH(); FlagStartRH = 0; TR0 = 1;

- 28 -

基于单片机的温湿度监控报警系统设计

humidity = U8RH_data_H; //读出温湿度,只取整数部分 temperature = U8T_data_H;

L1602_int(1,5,temperature); //显示温湿度 L1602_int(2,5,humidity); } //温湿度控制

if (temperature > TH) { Led_jiangwen = 0; beep=0; DELAY(500); } else

//判断超温

//二极管亮,超温报警 //蜂鸣器响,超温报警 //延时

{ Led_jiangwen = 1; beep=1; DELAY(500); }

//判断潮湿

//二极管亮,超湿报警 //蜂鸣器响,超温报警

if (humidity > HH)

{ Led_qushi = 0; beep=0; DELAY(500); } else

{ Led_qushi = 1;

beep=1;

DELAY(500); }

//键盘查询,在弹起时响应

if ((Key_TH1)&&(keyTH1==0)) {FlagKeyPress = 1; keyvalue = 1;} else if((Key_TH2)&&(keyTH2==0)){FlagKeyPress=1;keyvalue = 2;} else if((Key_HH1)&&(keyHH1==0)){FlagKeyPress =1;keyvalue=3;} else if((Key_HH2)&&(keyHH2==0)){FlagKeyPress=1;keyvalue=4;} if (FlagKeyPress == 1) { KeyProcess(keyvalue); FlagKeyPress = 0; } if (!Key_TH1) keyTH1 = 0; else keyTH1 = 1;

if (!Key_TH2) keyTH2 = 0; else keyTH2 = 1;

- 29 -

基于单片机的温湿度监控报警系统设计

if (!Key_HH1) keyHH1 = 0; else keyHH1 = 1;

if (!Key_HH2) keyHH2 = 0; else keyHH2 = 1; } }

A1.2 24C02程序

#include \

void DELAY(unsigned int t) { while(t!=0)

t--; }

void IICStart(void)

{ SCL=0; DELAY(1);

SDA=1; SCL=1; DELAY(1); SDA=0; DELAY(1); SCL=0; } void IICStop(void)

{ SDA=0;SCL=1; DELAY(1); SDA=1; DELAY(1); SCL=0; } void SEND0(void)

{ SDA=0; SCL=1; DELAY(1); SCL=0; } void SEND1(void)

{ SDA=1; DELAY(1); SCL=1; DELAY(1); SCL=0; }

bit Check_Ack(void)

{ unsigned char errtime=250; DELAY(1); SCL=1; DELAY(1); CY=SDA; while(CY)

{ errtime--; CY=SDA; if (!errtime)

- 30 -

基于单片机的温湿度监控报警系统设计

{ IICStop(); return 1; } }

DELAY(1); SCL=0; return 0; }

void Write_byte(unsigned char dat) { unsigned char i; for(i=0;i<8;i++) { if((dat<

unsigned char Read_byte(void) { unsigned char i,temp=0; for(i=0;i<8;i++) { SDA=1; SCL=1; DELAY(1); if(SDA==1) { temp=temp<<1; temp=temp|0x01; } else temp=temp<<1; SCL=0; } return temp; }

unsigned char rdeeprom(unsigned char addr) { unsigned char temp=0; bit flag=0; IICStart(); Write_byte(0xa0); Check_Ack(); Write_byte(addr); Check_Ack(); IICStart();

- 31 -

搜索更多关于: 基于单片机的温湿度报警器设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于单片机的温湿度监控报警系统设计 L1602_char(2, 16, HH+48); break; default: break; } Save_Setting(); } /*********主函数**********/ void main() { U16 i, j, testnum; EA = 0; Timer0_Init(); //定时器0初始化 Data_Init(); EA = 1; L1602_init(); L1602_string(1,1,\ \ L1602_string(2,1,\ \ for (i=0;i<1000;i++) //延时 fo

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com