91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問上海現易電子元器件有限公司網站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 單片機

?51單片機 (6)串口中斷通信+定時器2串口中斷

文章出處:單片機 責任編輯:上海現易電子元器件有限公司 發表時間:2018-05-19

51單片機默認使用定時器1作為串口通信的波特率發生器、定時器1中斷通信,串口與定時器1沖突,在遇到定時器不夠用的時候可以用定時器2


  1. #include   

  2.  

  3. void DelayMs(unsigned int i);  

  4. void SerialInit();  

  5. void SendByte(unsigned char sbyte);  

  6. void SendString(unsigned char *pstr);  

  7.   

  8.   

  9. void main(void)  

  10. {  

  11.         SerialInit();  

  12.         while(1);     //注:必需要無限循環  

  13. }  

  14.   

  15.   

  16. /* 

  17. //單片機時鐘周期:11.0592MHz   以時鐘1作為波特率發生器 

  18. void SerialInit(){ 

  19.  TMOD=0x20;   //設置T1工作方式為方式2 

  20.  TH1=0xfd; //給定時器高位裝初值 

  21.  TL1=0xfd; //給定時器低位裝初值 

  22.  TR1=1;  //開定時器 

  23.              //以上是設置波特率 

  24.  SM0=0;  //設置串口通訊方式為方式1 

  25.  SM1=1;   

  26.  REN=1;  //串口是否接收數據的開關 

  27.  

  28.  EA=1; //總中斷打開,采用查詢法時不用打開中斷 

  29.  ES=1; //串口中斷開關,采用查詢法時不用打開中斷 

  30. */  

  31. //單片機時鐘周期:11.0592MHz       以時鐘T2作為波特率發生器  

  32. void SerialInit(){  

  33.      PCON &= 0x7F;      //波特率不倍速 SMOD=0  

  34.      SCON = 0x50;       //方式1,8位數據,可變波特率,接收允許  

  35.      T2CON  = 0x34;     

  36.      RCAP2H = 0xFF;      

  37.      RCAP2L = 0xDC;    

  38.      TH2    = 0xFF;    

  39.      TL2    = 0xDC;  

  40.          

  41.      EA=1; //總中斷打開,采用查詢法時不用打開中斷   

  42.      ES = 1;          //串口中斷開關,采用查詢法時不用打開中斷  

  43.   

  44. }  

  45.   

  46.   

  47. //串口中斷函數:  

  48. void SerialPortInte(void) interrupt 4 //采用串口中斷法收發數據  

  49. {  

  50.      unsigned char rbyte;  

  51.      if(RI){     //RI=1,判定為串口接收到了數據,RI要清零,  

  52.          RI=0;  

  53.          rbyte=SBUF;   

  54.          if(rbyte==0x0A){       

  55.             SendString("換行");  

  56.          }else if(rbyte==0x0D){  

  57.             SendString("回車");  

  58.          }else{  

  59.             SendByte(rbyte);   

  60.          }  

  61.               

  62.      }  

  63.   

  64. }  

  65.   

  66. //串口發送一個字節:  

  67. void SendByte(unsigned char sbyte)  

  68. {   

  69.      SBUF=sbyte; //發送數據  

  70.      while(!TI); //等待發送完成  

  71.      TI=0; //清零發送標志位  

  72. }  

  73.    

  74. //串口發送一個字符串:  

  75. void SendString(unsigned char *pstr) //定義指針  

  76. {  

  77.      while(*pstr!='\0') //字符串是否發完  

  78.      {  

  79.          SendByte(*pstr);//發送字符串數據  

  80.          pstr++; //指向下一個字符  

  81.      }  

  82. }  

  83.   

  84. void DelayMs(unsigned int i)  //延時i ms  

  85. {  

  86.     unsigned int j;  

  87.     while(i--)  

  88.     {  

  89.         for(j = 0; j < 125; j++);  

  90.     }  


上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號

友情鏈接:

電話

易經理

18019251567

微信

易經理

易經理

頂部

咨詢
主站蜘蛛池模板: chinese国产乱在线观看 | 天堂岛资源www | 天天鲁一区摸一摸爽一爽 | 欧美日韩在线免费观看 | 99在线视频观看 | 国产激情一区二区三区四区 | 麻豆精品国产精华液好用吗 | 国产精品长腿丝袜第一页 | 麻豆免费在线观看 | 欧美亚洲国产专区在线app | 亚洲综合网国产精品一区 | 逍遥五月天 | 午夜理论在线观看不卡大地影院 | 亚洲 欧美 字幕 一区 在线 | 欧洲每年百万吨电子垃圾流向亚非 | 日本高清一二三不卡区 | 久久综合久久综合久久 | 天天影视香色欲综合网 | 免费视频在线观看网站 | 亚洲精品久久久WWW游戏好玩 | 日韩网红少妇无码视频香港 | 欧美视频在线观看免费最新 | 欧美一区二区人人喊爽 | 日本一区二区三区免费高清在线 | 欧美97色伦影院在线观看 | 国产精品AV一区二区三区不卡蜜 | 中国一级毛片特级毛片 | 丁香花丁香五香天堂网 | 午夜快车神马影视 | 色噜噜狠狠色综无码久久合欧美 | 国产精品久久久久久99人妻绯闻 | 国产成人午夜精品免费视频 | 国产又粗又黄又爽的A片精华 | 国内精品乱码卡一卡2卡三卡新区 | 久久久久99这里有精品10 | 色妇视频| 高清午夜福利电影在线 | 中日韩AV亚洲高潮无码 | 日日夜夜天天干 | 在线观看视频网站www色 | 亚洲精品综合一区二区三 |