蓝桥杯单片机学习过程记录(二十)UART串口通信

Kathy ·
更新时间:2024-11-10
· 519 次阅读

蓝桥杯单片机学习过程记录(二十)UART串口通信

今天学习了串口通信UART部分,理解得还不够深刻,总体来说感觉比IIC等简单一些,通用异步收发,实现发送接收指令控制的基础内容。
在这里插入图片描述
实现代码如下:

//UART串口通信 #include unsigned char urdat; void delayms(int ms); void sendbyte(unsigned char dat); void uart_init(); void sendstring(unsigned char *str); void working(); void main(){ uart_init(); delayms(10); sendstring("Hello,everyone\r\n"); while(1){ working(); } } void delayms(int ms){ int q,w; for(q=0;q<ms;q++) for(w=0;w<845;w++); } void uart_init(){ //定时器1设置波特率.自动重装模式,tl1=th1 TMOD=0x20; TH1=0XFD; TL1=0XFD; TR1=1; SCON=0X50; AUXR&=0X40; //中断打开 ES=1;EA=1; } void uart_service() interrupt 4{ //接收完人工进行清零 if(RI==1){ RI=0; urdat=SBUF; } } void working(){ if(urdat!=0){ switch(urdat){ case 0x01: sendstring("Hello\r\n");urdat=0x00; break; case 0x02: sendstring("Goodbye\r\n");urdat=0x00; break; case 0x03: sendstring("Happy\r\n");urdat=0x00; break; } } } void sendbyte(unsigned char dat){ SBUF=dat; while(TI==0); TI=0; } void sendstring(unsigned char *str){ while(*str !='\0'){ sendbyte(*str++); } }
作者:小老弟哟



uart 蓝桥杯 学习 通信 单片机

需要 登录 后方可回复, 如果你还没有账号请 注册新账号