#include <REGX52.H>
void URET_TX(unsigned int key)
{
SBUF=key;//寫入數據進SBUF緩存器
while(TI==0)//檢測標志位,是否置1,如果置1,表示數據傳輸完成
{TI=0;}//重置標志位位0
if(RI==1)//檢測是否接收完成
{P2=SBUF;//讀取發送過來的SBUF數據
RI=0;}//重置標志位
}
void URET_Tu(void)
{
PCON |= 0x80; //使能波特率倍速位SMOD
SCON = 0x50; //8位數據,可變波特率
TMOD &= 0x0F; //設置定時器模式
TMOD |= 0x20; //設置定時器模式
TL1 = 0x15; //設置定時初值
TH1 = 0x15; //設置定時重載值
ET1 = 0; //
TR1 = 1; //定時器1中斷
}
void main(void)
{
URET_Tu();
while(1)
{
URET_TX(SBUF);
}
} |