#include<reg51.h>
main()
{TMOD=0x20;
TH1=0xfa;
TL1=0xfa;
SCON=0x50;
PCON=0x00;
TR1=1;
{
unsigned char SW;
while(1)
{
SW=P1;
SW=SW&0x3c;
if(SW==0x38)
SBUF=0xfc;
else if(SW==0x34)
SBUF=0xf8;
else if(SW==0x2c)
SBUF=0xf0;
else if(SW==0x1c)
SBUF=0xe0;
else
SBUf delete(0, SBUf.length());
while(!TI);
TI=0;
}
}
}
如上程序是不是P1口无输入的话就一直发送0X00,我只要发送一次8位数据,程序结束后停止串口发送该怎么写?
搞错.是如下程序
#include<reg51.h>
main()
{TMOD=0x20;
TH1=0xfa;
TL1=0xfa;
SCON=0x50;
PCON=0x00;
TR1=1;
{
unsigned char SW;
while(1)
{
SW=P1;
SW=SW&0x3c;
if(SW==0x38)
SBUF=0xfc;
else if(SW==0x34)
SBUF=0xf8;
else if(SW==0x2c)
SBUF=0xf0;
else if(SW==0x1c)
SBUF=0xe0;
else
SBUF=0x00;
while(!TI);
TI=0;
}
}
}