1030.c
来自「单片机红外解码及无线解码的应用」· C语言 代码 · 共 129 行
C
129 行
//xing
#include <reg51.h>
#include <YAOKONG.h>
#define uchar unsigned char
#define uint unsigned int
#define dataBUS P2
uchar serior[4]={0xAA,0X55,0XA5,0X00};
uchar VT=0;
uchar datacode=0;
void delay(void)
{
uchar j,k;
//for(i=0;i<1;i++)
for (j=0;j<50;j++)
for (k=0;k<50;k++);
}
void yaokong (void)
{
datacode=dataBUS;
datacode&=0X0F;
}
void int0 (void) interrupt 0
{
VT=1;
}
void receive (void) interrupt 4
{
if (TI==1)
TI=0;
else
RI=0;
}
initial ()
{
SCON=0X50;
TMOD=0x20;
TH1=0xF3;//0xF3;2400
TL1=0xF3;
TR1=1;
IT0=1;
EA=1;
ES=1;
EX0=1;
P0=0X00;
P1&=0X70;
}
void sendstring (uchar *p ,uchar len)
{
uchar i;
for (i=0;i<len;i++)
{
SBUF=*(p++);
delay();
}
}
void delay1(void)
{
uchar j,k;
for (j=0;j<200;j++)
for (k=0;k<250;k++);
}
void main(void)
{
initial();
while(1)
{
if (VT==1)
{
delay();
yaokong();
switch (datacode)
{
case 0x08:
serior[3]=0x08;
sendstring (serior,4);
break;
case 0x04:
serior[3]=0x04;
sendstring (serior,4);
break;
case 0x02:
serior[3]=0x02;
sendstring (serior,4);
break;
case 0x01:
serior[3]=0x01;
sendstring (serior,4);
break;
/*
case 0x03:
JK5=!JK5;
break;
case 0x06:
JK6=1;
while(NOT_VT==0);
JK6=0;
break;
case 0x09:
JK7=!JK7;
break;
case 0x0D:
JK8=1;
while(NOT_VT==0);
JK8=0;
break;
*/
default : //JK9=!JK9;
break;
}
VT=0;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?