蓝桥杯单片机必备知识-----(12)串口通讯
串口初始化函数
//主程序中调用
void UartInit(void) //9600bps@11.0592MHz
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x01; //串口1选择定时器2为波特率发生器
AUXR &= 0xFB; //定时器2时钟为Fosc/12,即12T
T2L = 0xE8; //设定定时初值
T2H = 0xFF; //设定定时初值
AUXR |= 0x10; //启动定时器2
}
发送字符串
void sendstring(unsigned char *str)//发送字符串
{
while(*str !='\0')//等待\0
{
//sendbyte(*str++);//发送下一个字符
SBUF=*str++; //将数据放进SBUF缓冲器
while(TI==0); //等待发送数据完成
TI=0; //清除发送完成标志
}
}
串口中断
void s() interrupt 4
{
if(RI)
{
str1[scount++]