利用超級終端實現單片機與電腦通訊
單片機C程序:
#include
void int_initial()//串口中斷初始化
{
EA=1;
ES=1;
}
void RS232_receive_Init() //串口初始化設置
{
SCON = 0x50; // UART工作于模式1, REN=1
TMOD = 0x20 ; // Timer1 工業(yè)于模式2
PCON |= 0x80; // SMOD1 = 1,波特率加倍
TH1 = 0xF3; // 波特率4800 Bds at 12MHz
TL1 = 0xF3; // 波特率4800 Bds at 12MHz
TR1 = 1; // 啟動Timer1
}
void main()
{
int_initial();
RS232_receive_Init();
while(1)
{
}
}
void receive_int() interrupt 4 //中斷函數,中斷標號是4
{
EA=0;
RI=0;
dat1=SBUF;
····
EA=1;
}
定時器T1模式2的初始值計算公式:
注意:單片機的晶振是12MHz時,串口的波特率最好不要超過4800,否則會出現誤碼。
評論