本測試程序選擇STC12C4052AD單片機,采用內部晶振6M起振,傳輸波特率為2400bps,測試于2012年11月17日通過。使用STC-ISP,V488版本刷機,用其自帶串口助手程序測試。源代碼如下:
#include <reg51.h>
#include <intrins.h>
unsigned char tmp;
void send_int(void);
void send_char(unsigned char txd);
main()
{
send_int();
while(1)
{
if(RI) // 是否有數據到來
{
tmp = SBUF; // 暫存接收到的數據
send_char(tmp); //數據傳回
RI = 0; //RI清零
}
}
}
void send_int(void)
{
TMOD =0x20;//T1工作為方式2
SCON =0x50;//方式1:10位異步同通訊,串口允許接收
PCON =0x80;//波特率倍增,SMOD='1'
TH1=TL1=0xf3; // 波特率2400
TR1=1;// 啟動定時器1
ES=1;
EA=1;//總中斷允許
}
void send_char(unsigned char txd)
// 傳送一個字符
{
SBUF = txd;
while(!TI);
TI=0;
}
void send_string(char *s)
//傳送字符串時使用
{
while(*s)
{
send_char(*s++);
}
}
