【转】串口通讯总结——查询方式与中断方式

【转】串口通讯总结——查询方式与中断方式

ID:29759448

大小:18.02 KB

页数:9页

时间:2018-12-23

【转】串口通讯总结——查询方式与中断方式_第1页
【转】串口通讯总结——查询方式与中断方式_第2页
【转】串口通讯总结——查询方式与中断方式_第3页
【转】串口通讯总结——查询方式与中断方式_第4页
【转】串口通讯总结——查询方式与中断方式_第5页
资源描述:

《【转】串口通讯总结——查询方式与中断方式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划【转】串口通讯总结——查询方式与中断方式  //////实验四采用查询中断标志的方式发送串口数据,可用该程序做“如何用示波器观察RX或TX的信号波形,并画出发送如下数据时的波形,并指出波形中的起始位,停止位等相的位置”  #include  main()  {  unsignedcharidatarece,sendd,i;  SCON=0xc0;/*串行口操作模式3:9位UART,波特率可变*/  /*SCON=0x40;/*串行口操作模式1:8位UART,波特率可变,晶振*/T

2、MOD=0x20;/*定时器*计数器1的操作模式为2*/  PCON=0x80

3、PCON;/*SMOD置1*/  TH1=0xfd;/*定时器1的重装载值,此时若SMOD=0,;SMOD=1,*/  TR1=1;/*定时器*计数器1开始工作*/  REN=1;/*允许串行口接收*/  sendd=0xaa;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  again:  SBUF=sendd;  wh

4、ile(TI==0);/*等待发送完毕标志*/  TI=0;  sendd=sendd;  gotoagain;  }  //////实验四采用查询中断标志的方式接收串口数据,可与上面的程序配合做通信的单收单发实验。  #include  main()  {  unsignedcharidatarece,sendd;  SCON=0xc0;/*串行口操作模式3:8位UART,波特率可变,晶振*/TMOD=0x20;/*定时器*计数器1的操作模式为2*/  PCON=0x80

5、PCON;/*SMOD置1*/  TH1=0xfd;/*定时器1的重装载值,此时若SMOD=0,;SMOD=1,*/

6、  TR1=1;/*定时器*计数器1开始工作*/  REN=1;/*允许串行口接收*/  RI=0;  again:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  while(RI==0);/*等待接收数据到来标志*/RI=0;  rece=SBUF;  rece=rece;  gotoagain;  }  查询方式:发送数据——先发后查;  接收数据——先查后收。  中断方式:发送数据——发送、等

7、待中断、中断中发送;  接收数据——等待中断、在中断中接收。  下面让我们通过两个列子进一步看一下两者的区别:  /******************查询方式实现的串口通讯*************************/#include  #defineuintunsignedint  #defineucharunsignedchar  ucharcodetable[]="E-mail:xtxy_esl@";  uchari,temp;  voidinit_ser()//串口初始化  {  TMOD=0x20;//定时器1工作于方式2  TH1=0xf3;//娤初值波特率为2400 

8、 TL1=0xf3;  TR1=1;//开定时器1目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  SCON=0x50;//设置串口方式1允许接收  EA=0;//关总中断  }  voidout_ser()//串口输出  {  while(table[i]!='')  {  SBUF=table[i];  while(!TI);//注意“;”  TI=0;  i++;  }  i=0;  SBU

9、F=temp;  while(!TI);  TI=0;  }  voidmain()  {  init_ser();//串口初始化  while(1)//必须在大循环中  {目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  if(R

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。