#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit fmq=P2^3;
sbit led=P1^0;
uint b,a,flag;
//uint code table[]={1000,100,20,10,5,3,1};
/oid fk();
void inint();
void main()
{
inint();
while(1)
{
// fk();
if(a==0x30)
{
if(b==1000)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x31)
{
if(b==100)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x32)
{
if(b==20)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x33)
{
if(b==10)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x34)
{
if(b==5)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x35)
{
if(b==3)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x36)
{
if(b==1)
{
b=0;
fmq=~fmq;
led=~led;
}
}
if(a==0x37)
{
b=0;
fmq=1;
led=1;
}
}
}
void inint()
{
TMOD=0X21;
TH0=(65535-461)/256;
TL0=(65535-461)%256;
ET0=1;
TR0=1;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
}
void ckzd() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
void timer0() interrupt 1
{
TH0=(65536-461)/256;
TL0=(65536-461)%256;
b++;
}
/*void fk()
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
} */
//這個程序為啥延時的厲害發(fā)送數(shù)據(jù)后老半天才反應,把全局變量 uint b,a,flag; 變成uchar b,a,flag就正常,想不通為啥 |