完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
单片机UART串口通信 单片机的串口通信,一般指的就是UART串口通信(TXD,RXD)。本文实现的是单片机和电脑之间的串口通信,需要用到51单片机开发板,电脑,STC-ISP软件,代码已调试成功,切实可用。 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; while(!TI);//等待TI=1 TI=0; } for(i=0;s!=' |