#include<reg52.h>
#include "./delay/delay.h"
#include<stdio.h>
//串口中断的初始化
void uart_init()
{
SCON = 0x50; //设置uart工作方式 “8N1”
TMOD = 0x20; //设置定时器工作方式为8位,用作串口波特率
TH1 = 0xfd; //填初值
TR1 = 1; //打开定时器
}
//发送一个字节
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
while(!TI); //自动置1,手动置0,发送标志位
TI = 0;
}
//发送字符串
void uart_send_str(unsigned char *s)
{
while(*s != '\0')
{
uart_send_byte(*s);
s++;
}
}
void main()
{
//unsigned char temp;
uart_init();
while(1)
{
if(RI)
{
uart_send_str("hengzhe shi wo er");
uart_send_byte(SBUF);
delay_ms(200);
RI = 0;
}
TI = 1;
printf("hengzheshiwo erzi\n");
printf("line is %d\n",(unsigned int)__LINE__);
// if(RI)
// {
// temp = SBUF;
// P0 = temp;
// delay_ms(50);
// RI = 0;
// }
// uart_send_byte(0x55);
//delay_ms(50);
}
}
串口每次发送最低位
//后续截图次日补上