使用P2口外接八個按鍵,按鍵按下后把P2口的數據通過串行通信發給上位機。這是代碼,上位機接受不到數據。麻煩高手給看看。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define key P0
uchar con,a,num;
void init()
{
num=0;
SCON=0X50;
TMOD=0X21;
TH0=(65535-45872)/256;
TL0=(65535-45872)%256;
PCON=0X80;
TH1=0XF3;
TL1=0XF3;
EA=1;
ES=1;
TR1=1;
ET0=1;
TR0=1;
}
/*void delayms(uint xms)
{
uchar i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
} */
void main()
{
init();
while(1)
{
con=0xff;
if(num==10)
{
num=0;
if(key!=0xff)
{
//if(key&con!=0xff) a=key&con;
a=key&con;
SBUF=a;
while(!TI);
TI=0;
//delayms(200);
}
}
}
}
void T0_time() interrupt 1
{
TH0=(65535-45872)/256;
TL0=(65535-45872)%256;
num++;
} |