#include <STC8.H>
void delay(unsigned int x)
{
while(x--);
}
void main()
{
int x,k;
S3CON = 0x10; //8位數據,可變波特率24k
S3CON &= 0xBF; //串口3選擇定時器2為波特率發生器
AUXR |= 0x04; //定時器時鐘1T模式
T2L = 0x8F; //設置定時初始值
T2H = 0xFD; //設置定時初始值
AUXR |= 0x10; //定時器2開始計時
while(1)
{
// if(S3CON & 0x01)
// {
// x=S3BUF;
// delay(20000);
// S3CON &=0xfe;
// if(x==0x22)
// P0=0;else P0=0xff;//檢查P0的燈不對
//
// }
S3BUF=x;
while(!(S3CON & 0x01));
S3CON &=(0xff-0x01);
x=S3BUF; S3BUF=x;
delay(20000);
if(x==0x02)
P3=0;else P3=0xff;//檢查P3燈有沒有亮,正常
}
}
這個檢測寄存器,因為是串口3用到P0口,寫完之后檢查也是用P0口,一直不對,檢查換P3口就可以了
|