本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
#include "stc11.h"
#define uchar unsigned char
#define uint unsigned int
sbit HW=P3^2;
uchar k,h;
uchar idata date[4]={0x00,0x00,0x00,0x00};
void delay840(void) //840us/1T/12m
{
unsigned char a,b,c;
for(c=1;c>0;c--)
{for(b=146;b>0;b--)
for(a=33;a>0;a--);
}
}
void delay2400(void) //2400us/1T
{
unsigned char a,b;
for(b=87;b>0;b--)
for(a=164;a>0;a--);
}
void delay1(uchar t) //1000us/1T/12m
{
uchar a,b,c;
for(c=t;c>0;c--)
{
for(b=129;b>0;b--)
for(a=45;a>0;a--);
}
}
void main()
{
EA=1;
EX0=1;
P1=0x00;
while(1);
}
void hw() interrupt 0
{
EX0=0;
if(HW==0)
{
delay1(4);
if(HW==0)
{
while(HW==0); //9ms引导码
delay2400();
if(HW==1)
{
delay2400(); // while(HW==1);//4.5ms引导码
for(k=0;k<4;k++)
{
for(h=0;h<8;h++)
{
while(HW==0);
delay840();
if(HW==0) //1.125ms
{
date[k]=(date[k]>>1)|0x00;
}
else //if(HW==1) //2.25ms
{
date[k]=(date[k]>>1)|0x80;
delay1(1); //while(HW==1);
}
}
}
}
else while(HW==0); //重发码
}
}
P1=date[3];//将解出来的数据码送到P1口显示
delay1(1);
EX0=1;
} |