1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > STC89C516/C52单片机串口波特率9600初始化代码

STC89C516/C52单片机串口波特率9600初始化代码

时间:2023-12-30 21:18:02

相关推荐

STC89C516/C52单片机串口波特率9600初始化代码

串口初始化代码

bit busy;//全局变量void UartInit(void)//串口初始化,9600bps@11.0592MHz{SCON = 0x50; //8-bit variable UARTTMOD = 0x20; //Set Timer1 as 8-bit auto reload modeTH1 = TL1 = -(11059200L/12/32/9600); //Set auto-reload vauleTR1 = 1;//Timer1 start runES = 1; //Enable UART interruptEA = 1; //Open master interrupt switch}

中断服务函数代码

void Uart_Isr(void) interrupt 4 //中断服务函数{unsigned char Res;if(RI){ RI = 0;}if(TI){TI = 0;//清中断标志busy = 0;}}

附赠2个1串口发送函数

1、发送一个字节(十六进制)

void SendData(unsigned char dat){while (busy); //Wait for the completion of the previous data is sentACC = dat; //Calculate the even parity bit P (PSW.0)busy = 1;SBUF = ACC; //Send data to UART buffer}

2、发送字符串

void SendString(char *s){while (*s) //Check the end of the string{SendData(*s++);//Send current char and increment string ptr}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。