久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2515|回復: 0
打印 上一主題 下一主題
收起左側

單總線通訊接口的單片機源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:299361 發表于 2018-3-30 12:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. /*********單總線通信脈沖時間定義**********/      
  2. #define H_LVL        5      
  3. #define L_LVL_0        5      
  4. #define L_LVL_1        10      

  5. #define S_H                10        //起始位高電平,起始位用于將期間從休眠中喚醒并做好接收數據的準備,暫沒使用
  6. #define S_L                5        //起始位低電平

  7. #define START_T0()        {TMR0=158;T0IF=0;T0IE=1;}
  8. #define STOP_T0()        {T0IE=0;}

  9. /*
  10. 函數功能:數據位發送,數據位0或1都包括固定寬度的高電平脈沖和不同寬度的低電平
  11. 說明:
  12. */
  13. void SendBit(uchar databit)
  14. {
  15.         timeout=H_LVL;
  16.         START_T0();
  17.         ORDER=1;        //信號線高電平
  18.         while(timeout);
  19.         STOP_T0();        //禁止T0中斷
  20.                
  21.         if(databit)
  22.                 timeout=L_LVL_1;        //數據位1
  23.         else
  24.                 timeout=L_LVL_0;        //數據位0
  25.         START_T0();      
  26.         ORDER=0;        //信號線低電平
  27.         while(timeout);
  28.         STOP_T0();
  29. }
  30. /*發送結束脈沖,用于標記最后一個數據位的脈沖寬度,*/
  31. void SendEnd()
  32. {
  33.         timeout=5;
  34.         START_T0();
  35.         ORDER=1;        //信號線高電平
  36.         while(timeout);
  37.         STOP_T0();        //禁止T0中斷
  38.         timeout=20;
  39.         START_T0();
  40.         ORDER=0;
  41.         while(timeout);      
  42.         STOP_T0();      
  43. }
  44. void SendStart()
  45. {
  46.         timeout=S_H;
  47.         START_T0();
  48.         ORDER=1;        //信號線高電平
  49.         while(timeout);
  50.         STOP_T0();        //禁止T0中斷
  51.         timeout=S_L;
  52.         START_T0();
  53.         ORDER=0;
  54.         while(timeout);      
  55.         STOP_T0();      
  56. }      
  57. /*
  58. 函數功能:數據字節發送,低位在前
  59. 參數說明:dat 要發送的數據字節
  60. */
  61. void SendData(uchar dat)
  62. {
  63.         uchar i,j;
  64.       
  65.         CCP1IE=0;        //關閉捕捉中斷
  66.         se_ccp1_int++;
  67.         TMR2IE=0;
  68.       
  69. //        SendStart();        //起始位高電平,起始位用于將期間從休眠中喚醒并做好接收數據的準備      
  70.         for(i=0;i<8;i++)
  71.         {
  72.                 j=(dat>>i)&0x01;
  73.                 SendBit(j);                       
  74.         }
  75.         SendEnd();
  76.       
  77.         CTR_LED=1;
  78.         delay(200);
  79.         CTR_LED=0;
  80.         se_ccp1_int--;
  81.         if(se_ccp1_int==0)
  82.         {
  83.                 CCP1IF=0;
  84.                 CCP1IE=1;        //開捕捉中斷
  85.         }
  86.         TMR2IE=1;
  87.                
  88. }                        
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人国产精品久久久 | 日韩高清国产一区在线 | av超碰 | 日日天天| 亚洲人在线观看视频 | 国产日韩欧美中文字幕 | 成人午夜 | 欧美性视频在线播放 | 欧美日韩精品久久久免费观看 | 国产免费拔擦拔擦8x高清 | 亚洲一区国产精品 | 在线观看中文字幕 | 亚洲精品黄色 | 四虎影院在线观看免费视频 | 精品美女久久久 | 欧美视频在线一区 | 日韩视频在线播放 | 亚洲激情一区二区三区 | 欧美精品一区二区三区在线 | 91免费福利在线 | 日韩在线视频一区 | 国产区在线免费观看 | 在线观看日韩 | 一区2区 | 成人福利片 | 日韩国产在线 | 99精品电影 | 国产成人精品一区二区三区在线 | 综合婷婷 | 久久99国产精品久久99果冻传媒 | 亚洲精品国产偷自在线观看 | 国产免费视频 | 韩国av一区二区 | 小草久久久久久久久爱六 | 国产色视频网站 | 91精品国产92 | 国产成人精品一区二三区在线观看 | 久草视频在线看 | 中文字幕在线观看一区二区 | 亚洲视频在线一区 | 精品国产成人 |