DHT11程序TLC2543程序LCD1602程序DS1302程序报警程序.docx
- 文档编号:9623988
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:50
- 大小:24.08KB
DHT11程序TLC2543程序LCD1602程序DS1302程序报警程序.docx
《DHT11程序TLC2543程序LCD1602程序DS1302程序报警程序.docx》由会员分享,可在线阅读,更多相关《DHT11程序TLC2543程序LCD1602程序DS1302程序报警程序.docx(50页珍藏版)》请在冰豆网上搜索。
DHT11程序TLC2543程序LCD1602程序DS1302程序报警程序
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#include"DHT11.h"
#include"DS1302.h"
#include"TLC2543.H"
#include"lcd_1602.h"
sbitKey_swi=P3^4;
sbitKey_set=P3^5;
sbitKey_add=P3^6;
sbitKey_min=P3^7;
sbitBeer=P2^1;
sbitLED_RED=P3^0;
sbitLED_GRE=P3^1;
bitflag_display=0;//自动切换标志位=1显示时间和温湿度=0时多界面有按键决定
bitflag_display1=0;
bitdisplay_flag=0;//***********动态显示控制位
ucharsw1_2=0;//键二,设置时间
ucharsw2_2=0;//键二,设置温湿度报警值
ucharsw3_2=0;//建二,设置酒精浓度报警值
ucharsw4_2=0;//建二,设置烟雾浓度报警值
ucharnum1=0;//功能切换
ucharspeed=0;//数据说新速度
uintt0=0;
delayms(uintz)
{
uintm,n;
for(m=z;m>0;m--)
for(n=124;n>0;n--)
;
}
voidbeer()
{
Beer=0;
delayms(30);
Beer=1;
t0=0;//自动切换清零
}
/*****************************功能键11111111111111******************************************************/
voidKKey_switch()//功能键一
{
if(!
Key_swi)
{
beer();
if(!
Key_swi&&(sw1_2==0)&&(sw2_2==0)&&(sw3_2==0)&&(sw4_2==0))//=1时,表示正在设置状态,不能却换到其他的状态
{
flag_display=0;//自动切换标志位
num1++;
if(num1>=4)num1=0;
while(!
Key_swi);
switch(num1)
{
case0:
{
init_xian(0x80,str5_1);
init_xian(0xc0,str5_2);
break;//
}
case1:
{
init_xian(0x80,str6_1);
init_xian(0xc0,str6_2);
break;//
}
case2:
{
init_xian(0x80,str7_1);
init_xian(0xc0,str7_2);
break;//
}
case3:
{
init_xian(0x80,str8_1);
init_xian(0xc0,str8_2);
break;//
}
}
}
}
}
/*****************************功能键2222222222222*****************************************************************/
voidKKey_set()//功能键二
{
if(Key_set==0)//设置
{
beer();
if(Key_set==0&&flag_display==0)
{
switch(num1)
{
case0:
{
sw1_2++;
if(sw1_2>=7)sw1_2=0;
switch(sw1_2)///////////////////////////温湿度设置
{
case0:
//确定光标消失
{
display_flag=0;
wr_com(0x0c);
Init_DS1302();
break;//
}
case1:
//光标移动到
{
display_flag=1;
wr_com(0x88);
wr_com(0x0d);
break;//
}
case2:
{
display_flag=1;
wr_com(0x8b);
wr_com(0x0d);
break;//
}
case3:
{
display_flag=1;
wr_com(0x8e);
wr_com(0x0d);
break;//
}
case4:
{
display_flag=1;
wr_com(0xc7);
wr_com(0x0d);
break;//
}
case5:
{
display_flag=1;
wr_com(0xca);
wr_com(0x0d);
break;//
}
case6:
{
display_flag=1;
wr_com(0xcd);
wr_com(0x0d);
break;//
}
}
break;
}
case1:
{
sw2_2++;
if(sw2_2>2)sw2_2=0;
switch(sw2_2)//温湿度设置
{
case0:
//确定光标消失
{
display_flag=0;
wr_com(0x0c);
break;//
}
case1:
//光标移动到
{
display_flag=1;
wr_com(0xc5);
wr_com(0x0d);
break;//
}
case2:
{
display_flag=1;
wr_com(0xcE);
break;//
}
}
break;//
}
case2:
//酒精浓度设置
{
sw3_2++;
if(sw3_2>=5)sw3_2=0;
switch(sw3_2)
{
case0:
//确定光标消失
{
display_flag=0;
wr_com(0x0c);
break;//
}
case1:
//光标移动到
{
display_flag=1;
wr_com(0xc8);
wr_com(0x0d);
break;//
}
case2:
//光标移动到
{
display_flag=1;
wr_com(0xc7);
wr_com(0x0d);
break;//
}
case3:
//光标移动到
{
display_flag=1;
wr_com(0xc6);
wr_com(0x0d);
break;//
}
case4:
//光标移动到
{
display_flag=1;
wr_com(0xc5);
wr_com(0x0d);
break;//
}
}
break;//
}
case3:
{
sw4_2++;
if(sw4_2>=5)sw4_2=0;
switch(sw4_2)
{
case0:
//确定光标消失
{
display_flag=0;
wr_com(0x0c);
break;//
}
case1:
//光标移动到
{
display_flag=1;
wr_com(0xc9);
wr_com(0x0d);
break;//
}
case2:
//光标移动到
{
display_flag=1;
wr_com(0xc8);
wr_com(0x0d);
break;//
}
case3:
//光标移动到
{
display_flag=1;
wr_com(0xc7);
wr_com(0x0d);
break;//
}
case4:
//光标移动到
{
display_flag=1;
wr_com(0xc6);
wr_com(0x0d);
break;//
}
}
}
break;//
}
while(Key_set==0);
}
}
}
voidKKey_add()
{
if(Key_add==0)
{
beer();
if(Key_add==0)
{
switch(num1)
{
case0:
{
switch(sw1_2)////设置年月日及其时间
{
case0:
{
break;
}
case1:
{
year++;
if(year>99)year=0;
lcd_display_ds1302();
wr_com(0x88);
break;
}
case2:
{
month++;
if(month>12)month=1;
lcd_display_ds1302();
wr_com(0x8b);
break;
}
case3:
{
day++;
if(day>31)day=1;
lcd_display_ds1302();
wr_com(0x8e);
break;//
}
case4:
{
hour++;
if(hour>23)hour=0;
lcd_display_ds1302();
wr_com(0xc7);
break;//
}
case5:
{
minute++;
if(minute>59)minute=0;
lcd_display_ds1302();
wr_com(0xca);
break;//
}
case6:
{
second++;
if(second>59)second=0;
lcd_display_ds1302();
wr_com(0xcd);
break;//
}
}
break;//
}
case1:
{
switch(sw2_2)//设置温湿度报警值
{
case0:
{
break;
}
case1:
//设置温度
{
T_num++;
if(T_num>=99)T_num=99;
display_T_num();
break;
}
case2:
//设置湿度
{
H_num++;
if(H_num>=99)H_num=99;
display_H_num();
break;
}
}
break;
}
case2:
{
switch(sw3_2)//酒精浓度
{
case0:
{
break;
}
case1:
{
Alc_num+=1;
if(Alc_num>=4999)Alc_num=4999;
display_Alc_num();
wr_com(0xc8);
break;//
}
case2:
{
Alc_num+=10;
if(Alc_num>=4999)Alc_num=4999;
display_Alc_num();
wr_com(0xc7);
break;//
}
case3:
{
Alc_num+=100;
if(Alc_num>=4999)Alc_num=4999;
display_Alc_num();
wr_com(0xc6);
break;//
}
case4:
{
Alc_num+=1000;
if(Alc_num>=4999)Alc_num=4999;
display_Alc_num();
wr_com(0xc5);
break;//
}
}
break;//
}
case3:
{
switch(sw4_2)//烟雾浓度
{
case0:
{
break;
}
case1:
{
Smog_num+=1;
if(Smog_num>=4999)Smog_num=4999;
display_Smog_num();
wr_com(0xc9);
break;
}
case2:
{
Smog_num+=10;
if(Smog_num>=4999)Smog_num=4999;
display_Smog_num();
wr_com(0xc8);
break;
}
case3:
{
Smog_num+=100;
if(Smog_num>=4999)Smog_num=4999;
display_Smog_num();
wr_com(0xc7);
break;
}
case4:
{
Smog_num+=1000;
if(Smog_num>=4999)Smog_num=4999;
display_Smog_num();
wr_com(0xc6);
break;
}
}
break;
}
}
while(Key_add==0);
}
}
}
voidKKey_min()
{
if(Key_min==0)
{
beer();
if(Key_min==0)
{
switch(num1)
{
case0:
{
switch(sw1_2)///////////////////////////设置年月日及其时间
{
case0:
{
break;//
}
case1:
//温度报警值增加
{
year--;
if(year<=0)year=99;
lcd_display_ds1302();
wr_com(0x88);
break;//
}
case2:
{
month--;
if(month<=0)month=12;
lcd_display_ds1302();
wr_com(0x8b);
break;//
}
case3:
//湿度报警值增加
{
day--;
if(day<=0)day=31;
lcd_display_ds1302();
wr_com(0x8e);
break;//
}
case4:
{
hour--;
if(hour<0)hour=23;
lcd_display_ds1302();
wr_com(0xc7);
break;//
}
case5:
//温度报警值增加
{
minute--;
if(minute<0)minute=59;
lcd_display_ds1302();
wr_com(0xca);
break;//
}
case6:
//温度报警值增加
{
second--;
if(second<0)second=59;
lcd_display_ds1302();
wr_com(0xcd);
break;//
}
}
break;//
}
case1:
{
switch(sw2_2)///////////////////////////
{
case0:
{
break;//
}
case1:
//温度报警值减小
{
T_num--;
if(T_num<=0)T_num=0;
display_T_num();
break;//
}
case2:
{
H_num--;
if(H_num<=0)H_num=0;
display_H_num();
break;//
}
}
break;//
}
case2:
{
switch(sw3_2)///////////////////////////
{
case0:
{
break;
}
case1:
{
Alc_num-=1;
if(Alc_num<=1000)Alc_num=1000;
display_Alc_num();
wr_com(0xc8);
break;//
}
case2:
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DHT11 程序 TLC2543 LCD1602 DS1302 报警