程序給上,自己寫的,很穩定。有疑問找我
//串口通信初始設定
void serialcom_init(void)
{
SCON = 0x50; //UART為模式1,8位數據,允許接收
TMOD |= 0x20; //定時器1為模式2,8位自動重裝
//PCON |= 0x80; //SMOD=1;
TH1 = 0xFD; //Baud:9600 fosc="11.0592"MHz
TL1 = 0xFD;
IE |= 0x90; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
}
//向串口發送壹個字符
void send_char_com(unsigned char ch)
{
SBUF=ch;
while (TI==0);
TI=0 ;
}
//串口接收中斷函數
void serial () interrupt 4 using 3
{
if (RI)
{
RI=0;
ch=SBUF;
read_flag=1 ; //就置位取數標誌
}
}