📄 main.c
字号:
#include"reg52.h"
//#include"head.h"
#define uchar unsigned char
/**************子程序定义**********************/
void inilcd();
void showstr(uchar i,char *p);
void sendcom_i(uchar i,char *p);
void sendcom_d(uchar i,char *p);
void resecom();
void delay();
uchar keyscan();
void delayl();
void delays();
void wrcom(uchar c);
void wrdat(uchar c);
//uchar readdat(uchar i);
void kk();
void readee();
//void showword(uchar i,uchar j);
/**************8字符定义*******************/
uchar code str0[];
uchar code str1[];
uchar code str2[];
uchar code str3[];
uchar code str4[];
uchar code str5[];
uchar code str6[];
uchar code at[];
uchar code cmgf[];
uchar code cnmi[];
uchar code cmgr[];
uchar code cmgd[];
uchar code cmgs[];
uchar code s1[];
uchar code s2[];
uchar code fir[]; //火灾报警
uchar code hongwai[]; //红外报警
uchar code yan[]; //烟雾报警
uchar code meiqi[]; //煤气泄露
/**************变量定义***************/
bit flg;
uchar changdat;
uchar idata buf[100];
uchar idata num[11];
//uchar biao;
/*void resecom() //TC35接受数据
{uchar i;
i=0;
loop: while(RI==0);
RI=0;
if (SBUF!=0x0a) goto loop;
loop1:while(RI==0);
RI=0;
buf[i]=SBUF;
i++;
if (SBUF!=0x0d) goto loop1;
if (buf[0]==0x4f) flg=1;
else flg=0;
}
void sendcom_d(uchar i,uchar *p) //TC35命令发送
{ for(;i>0;i--)
{SBUF=*p;
while(TI==0);
TI=0;
p++;
}
}
void sendcom_i(uchar i,uchar *p) //TC35数据发送
{for(;i>0;i--)
{SBUF=*p;
while(TI==0);
TI=0;
p++;
}
SBUF=0x0d;
while(TI==00);
TI=0;
SBUF=0x0a;
while(TI==0);
TI=0;
}
void int0() interrupt 0 //T0中断
{uchar changdat;
changdat=P^1;
if(changdat==0x01)
{
resend: sendcom_i(10,cmgs);
while(RI==0);
RI=0;
sendcom_d(6,s1);
sendcom_d(12,num);
sendcom_d(4,s2);
switch (changdat)
{ case 0x01:sendcom_d(8,fir);break;
case 0x02:sendcom_d(8,hongwai);break;
case 0x03:sendcom_d(8,yan);break;
case 0x04:sendcom_d(8,meiqi);break;
default:break;}
SBUF=0x1a;
while(TI==0);
TI=0;
resecom();
if (flg==0) goto resend;
}
}
*/
main ()
{//uchar key;
TMOD=0x20;
SCON=0x50;
TH1=0xFD;
TL1=0xFD;
TR1=1;
TI=0;
RI=0;
IT0=1;
EX0=1;
//EA=1;
inilcd();
showstr(0x80,str0);
readee();
/* loop2:sendcom_i(2,at);
resecom();
if (flg==0) goto loop2;
loop3:sendcom_i(4,cmgf);
resecom();
if (flg==0) goto loop3;
loop4:sendcom_i(16,cnmi);
resecom();
if (flg==0) goto loop4;
loop5:sendcom_i(9,cmgd);
resecom();
if (flg==0) goto loop5; */
//键盘扫描与显示
while(1)
{ kk();
//showTIME();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -