好文档 - 专业文书写作范文服务资料分享网站

51单片机串口通信程序整理

天下 分享 时间: 加入收藏 我要投稿 点赞

单片机串口通信程序:

串口调试程序:(已通过编译) //串口调试程序 51单片机

/******************************************************************/ #include//头文件调用,写程序时都要加上

#define uint unsigned int//宏定义,为了后面定义变量书写简便 #define uchar unsigned char

/******************************************************************//*名称:主函数*/

/*内容:打开串口调试程序,将波特率设置为9600,无奇偶校验*/ /*晶振11.0592MHz,发送和接收使用的格式相同,如都使用*/ /*字符型格式,在发送框输入hello,ILoveMCU,在接*/ /*收框中同样可以看到相同字符,说明设置和通信正确*/

/******************************************************************/

//******波特率设置及串口初始化 #define baudrate 9600UL

#define fosc 11059200UL//其中,UL是不能省略的,代表长整型。 unsigned char a,flag; void serial_init(void)

{ unsigned char S_MOD=1;

TMOD=0x20;//T1工作在方式2

SCON=0x50;//SM0=0 SM1=1->串口通信在模式1, //SM2=0->多级通信中使用的位,REN=1; PCON=0;

if((PCON&0x80)==0x80) S_MOD=2;

TH1=256-(fosc*S_MOD)/(baudrate*12*32);//其中SMOD=0, TL1=256-(fosc*S_MOD)/(baudrate*12*32); TR1=1; ES=1; EA=1; }

//************* void main(void) {

serial_init(); //初始化 while(1)

//主循环不做任何动作 {} }

/******************************************************************//*串口中断程序*/

/******************************************************************/

void UART_SER() interrupt 4 { uchar Temp;//定义临时变量 if(RI) { RI=0;

//标志位清零

Temp=SBUF;

//读入缓冲区的值

P1=Temp;//把值输出到P1口,用于观察 SBUF=Temp;//把+接收到的值再发回电脑端 } if(TI)

//如果是发送标志位,清零 TI=0; }

单片机通信,PC向单片机发送一个数据存在SBUF中。将SBUF中的数据转存到在data区定义的一个数组中:

static unsigned char UART_Receive_Buf[50]; static unsigned char Address_Buf=0; if(RI) { RI=0;

UART_Receive_Buf[Address_Buf]=SBUF; Address_Buf++; if(Address_Buf>=50) { Address_Buf=0; } }

51单片机串口初始化:(12M或11.0592M晶振都适用) #include #define baudrate 9600UL

#define fosc 11059200UL//其中,UL是不能省略的,代表长整型。 unsigned char a,flag; void serial_init(void) { unsigned char S_MOD=1; TMOD=0x20;//T1工作在方式2

SCON=0x50;//SM0=0 SM1=1->串口通信在模式1, //SM2=0->多级通信中使用的位,REN=1; PCON=0;

if((PCON&0x80)==0x80) S_MOD=2;

TH1=256-(fosc*S_MOD)/(baudrate*12*32);//其中SMOD=0, TL1=256-(fosc*S_MOD)/(baudrate*12*32); TR1=1;ES=1;EA=1; }

51单片机串口中断: http://wenku.http://www.diyifanwen.net//link?url=qWEYxQ_v98tNEDMTOxxSJWraAgqoyg2CXoE3Qb7VarBW3u5j9jXmI2fZpJYh6EYca12EpFFLNucBXTNg4B7WxJwGuSxn6WRXYJUAZXjUyuy

51单片机串口通信程序整理

单片机串口通信程序:串口调试程序:(已通过编译)//串口调试程序51单片机/******************************************************************/#include//头文件调用,写程序时都要加上#defineuintunsignedint//宏定义,
推荐度:
点击下载文档文档为doc格式
6zsg53uyv17u3cm9al6h
领取福利

微信扫码领取福利

微信扫码分享