void uart_init()
{
SCON = 0x50; /*设置串口uart的工作方式SCON:
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
*/
TMOD |= 0x20; //设置定时器的工作方式,用作串口波特率
TH1 = 0xfd; //设置串口波特率为9600
TR1 = 1; //打开定时器1中断
}
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
while(!TI);
TI = 0; //TI:发送中断标志位
}
void uart_send_str(unsigned char *s)
{
while(*s != '\0')
{
uart_send_byte(*s);
s++;
}
}
void rec_and_send_to_up()
{
static unsigned char src[10];
static unsigned char i;
if(RI) //RI:接收中断标志位
{
if(SBUF != 0x20)
{
src[i] = SBUF;
i++;
}
else
{
src[i] = '\0';
uart_send_str(src);
uart_send_byte('\n');
i = 0;
}
RI = 0;
}
}
uart——51程序
最新推荐文章于 2024-08-02 15:43:16 发布