#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);
}
} |