历史上的今天
今天是:2024年11月25日(星期一)
2021年11月25日 | 单片机UART串口通信(代码亲自调试成功)
2021-11-25 来源:eefocus
1.实现代码
代码如下(示例):
#include #include #define uc unsigned char #define uint unsigned int uc flag,i,flag_t,s[50]="",j=0,flag_n=0; uc code table[]="单片机接收了:"; void init() { TMOD=0x20; //定时器工作方式,选择了定时器1,工作方式2 八位初值自动重装的8位定时器。 TH1=0xf3; //定时器1初值 ,设置波特率为2400 晶振11.955Mhz TL1=0xf3; //若为11.0592Mhz,设置波特率为9600,TH1=0xfd;TL1=0xfd。若接收的乱码,大概率是波特率设置不准确。 TR1=1; //开启定时器1 SM0=0; SM1=1; //10位异步接收,(8位数据)波特率可变 REN=1; //允许串行口接收位 EA=1; //允许中断(总闸) ES=1; //允许串口中断 } void main() { init(); while(1) { if(flag==1)//有接收到数据 { if(flag_n!=0)//使下一次显示换行 { TI=1; printf("nn"); while(!TI); TI=0; } for(i=0;i<13;i++)//发送table[]内容 { SBUF=table[i]; while(!TI);//等待TI=1 TI=0; } for(i=0;s[i]!='




