网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
单片机串口通信中字符发送的总结
作者:管理员    发布于:2015-07-26 17:00:22    文字:【】【】【

 菜鸟我今天在练习单片机串口通信时,对字符的发送方式总结了一下,有以下三种方式,若有大侠看到请勿见笑。
 
 

/*字符发送方式一*/

 #include<reg52.h>

 #define uchar unsigned char

 #define uint unsigned int

 uchar flag,a,i;

 uchar code table[]="I get ";

 

 void init()

 {

 TMOD=0x20;

 TH1=0xfd;

 TL1=0xfd;

 TR1=1;

 SM0=0;

 SM1=1;

 REN=1;

 //TI=1;

 EA=1;

 ES=1;

}

 

 void main()

 {

 

 init();

 while(1)

 {

 

 if(flag==1)

{

 ES=0;

 for(i=0;i<6;i++)

 {

 SBUF=table[i];

     while(TI==0);

     TI=0;

 }

SBUF=a;

     while(TI==0);

     TI=0;

 ES=1;

 flag=0;

 }

 }

 }

 

 void ser() interrupt 4

 {

 a=SBUF;

 RI=0;

 P1=~P1;

 flag=1;

 

 }

 

/*字符发送方式二*/

 #include<reg52.h>

 #include<stdio.h>

 #include<intrins.h>

 #define uchar unsigned char

 #define uint unsigned int

 uchar flag,a,i=0;

 uchar code table[]="I get ";

 

 void init()

 {

 TMOD=0x20;

 TH1=0xfd;

 TL1=0xfd;

 TR1=1;

 SM0=0;

 SM1=1;

 REN=1;

 //TI=1;

 EA=1;

 ES=1;

}

 

 void main()

 {

 

 init();

 while(1)

 {

 

 if(flag==1)

{

 ES=0;

 while(table[i]!='\0')//注意字符串末尾为'\0'

 {

 SBUF=table[i];

     while(TI==0);

     TI=0;

 i++;

 }

 i=0;//用完了i记得清零

SBUF=a;

     while(TI==0);

     TI=0;

 ES=1;

 flag=0;

 }

 }

 }

 

 void ser() interrupt 4

 {

 a=SBUF;

 RI=0;

 P1=~P1;

 flag=1;

 

 }

 

/*字符发送方式三--打印函数(重要)*/

 #define uint unsigned int

 uchar flag,a,i=0;

 uchar code table[]="I get ";

 

 void init()

 {

 TMOD=0x20;

 TH1=0xfd;

 TL1=0xfd;

 TR1=1;

 SM0=0;

 SM1=1;

 REN=1;

 //TI=1;

 EA=1;

 ES=1;

}

 

 void main()

 {

 

 init();

 while(1)

 {

 

 if(flag==1)

{

 ES=0;

 TI=1;//用printf,puchar,_getkey等函数要先进行初始化串行口

//该函数在头文件中的定义如下

//while(!TI);

 // TI=0;

 // return(SBUF=a);

 //所以用打印函数时如果没有将TI设置为1,执行到该句会进入死循环

printf("I get %c\n",a);

     while(TI==0);

     TI=0;

 ES=1;

 flag=0;

 }

 }

 }

 

 void ser() interrupt 4

 {

 a=SBUF;

 RI=0;

 P1=~P1;

 flag=1;

 

 }

浏览 (56) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们