📄 wenshidu.c
字号:
#include<reg52.h>
#include <absacc.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P2_4=P2^4;
sbit P2_5=P2^5;
sbit P2_6=P2^6;
sbit P2_7=P2^7;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_0=P2^0;
#include "display_led.H"
#include "get_freq.H"
#include "get_hum.H"
#include "qudoudong.H"
#include "delay2s.H"
#include "delay5ms.H"
#include "ds18b20.H"
void main(){
bit flag=0;
float tt;//中间变量
uint t;//中间变量
float alarm_temp=40;//原始温度报警值
float alarm_hum=80;//原始湿度报警值
for (;;)
{if(P2_5==0)
{dlms();if(P2_5==0)
{if (flag ==0)
{tt=ds1820();
display_led(tt);
flag=1;}}//显示温度
else {t=getfreq();
tt=get_hum(t);
diaplay_led(tt);
flag=0;}} //显示湿度
else {if(flag==0)
{tt=ds1820();
display_led(tt);
flag=0;}}//无键按下显示温度
else {(flag==1)
{t=getfreq();
tt=get_hum(t);
diaplay_led(tt);
flag=1;}}
if(P2_4==0)//按一次报警值减一
{dlms();if(P2_4==0)
{if(flag==1)
{display_led(alarm_temp);//显示温度的时候设置温度
while()
{if(P2_4==0)
{dlms();if(P2_4==0)
{alarm_temp--;
display_led(alarm_temp);}}
if(P2_6==0)
{dlms();
if(P2_6==0) break;}}}}}//按下s4退出
else {display_led(alarm_hum);//显示湿度的时候设置温度
while()
{if(P2_4==0)
{dlms();if(P2_4==0)
{alarm_hum--;
display_led(alarm_hum);}}
if(P2_6==0)
{dlms();
if(P2_6==0) break;}}}//按下s4退出
if(P2_7==0)//按一次报警值加一
{dlms();if(P2_7==0)
{if(flag==1) {display_led(alarm_temp);
while()
{if(P2_7==0) {dlms();
if(P2_7==0)
{alarm_temp++;
display_led(alarm_temp);}}
if(P2_6==0)
{dlms();
if(P2_6==0) break;}}}}}
else {display_led(alarm_hum);
while()
{if(P2_7==0)
{dlms();if(P2_7==0)
{ alarm_hum++;
display_led(alarm_hum);}}
if(P2_6==0)
{dlms();
if(P2_6==0) break;}}}
if(P2_6==0) //进入休眠省电状态
{delay2s() ;
if(P2_6==0)
{ P1_0=0;
P1_1=0;
P2_0=0;
P2_1=0;
P2_2=0;
P_3=0;
while()
{if (P2_6==0)
{delay2s();if(P2_6==0) break;}}}}//长按后退出
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -