亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clock.lst

?? 門禁控制器源代碼
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.07   CLOCK                                                                 09/14/2005 15:20:46 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE CLOCK
OBJECT MODULE PLACED IN Clock.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Clock.c LARGE OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //
   2          // I2C操作函數庫
   3          // I2C有關概念參見《MCS-51系列單片機應用及接口技術》P289
   4          //
   5          // idata=14
   6          
   7          #include "Global.h"
   8          
   9          ///////////////////////////////////////////////////////////////////////////////
  10          // 內部存儲區變量       0~128字節 直接尋址
  11          // 全局變量定義
  12          extern data  uchar cur_time[15];                // 系統當前時間顯示存儲區 XXXX年XX月XX日XX時XX分XX秒星期X
  13          extern data  uchar time[10];                    // 讀取時鐘存儲區                                       
  14          extern bdata bit ack;                                   // 時鐘I2C總線通信應答狀態
  15          
  16          //
  17          // 在I2C總線數據傳送過程中,定義了一種開始和結束信號(有時也稱啟動和停止信號),
  18          // 開始和結束信號的定義在I2C協議中具有十分重要的意義。當SCL為高電平時,SDA發生
  19          // 高到低跳變定義為開始信號;當SCL為高電平時,SDA發生低到高跳變定義為結束信號,
  20          // 開始和結束信號的定義參見《MCS-51系列單片機應用及接口技術》P291所示。開始和
  21          // 結束信號都是由主器件(這里是8051單片機)發出的。在開始信號以后,總線被認為
  22          // 是忙的。在結束信號后過一定時間,總線被認為是空閑的。如果連接在總線上的器件
  23          // 具有相應的硬件接口電路,開始和結束信號的檢測還比較容易,但是沒有這種硬件接
  24          // 口電路的微處理器必須在一個時鐘周期內至少2次采樣,SDA才能檢測到這種跳變。
  25          //
  26          
  27          
  28          //
  29          // 啟動I2C總線
  30          // 函數原型:void Start_I2c8563();
  31          // 功能:
  32          //              啟動I2C時鐘8563總線,即發送I2C起始條件
  33          //
  34          void Start_I2c8563()
  35          {
  36   1              SDA=1;                  // SDA維持高電平,準備發送起始信號
  37   1              SCL=1;                  // SCL為高電平,SDA由高變低,表明通信起始信號
  38   1              Some_NOP;               // SCL信號高電平維持至少4us,等待電平穩定
  39   1              SDA=0;                  // 發送起始信號,SDA下跳
  40   1              Some_NOP;               // 起始信號至少維持4.7us
  41   1              SCL=0;                  // 時鐘信號跳變
  42   1              Some_NOP;               // 等待一段時間
  43   1      }
  44          
  45          //
  46          // 結束I2C總線
  47          // 函數原型: void  Stop_I2c8563();  
  48          // 功能: 
  49          //              結束I2C總線,即發送I2C結束條件.
  50          //
  51          void Stop_I2c8563()
  52          {
  53   1              SDA=0;                  // SDA維持低電平,準備發送停止信號
  54   1              _Nop();
  55   1              SCL=1;                  // SCL信號高電平,SDA由低變高,表明通信停止信號
C51 COMPILER V7.07   CLOCK                                                                 09/14/2005 15:20:46 PAGE 2   

  56   1              Some_NOP;               // SCL信號高電平維持至少4us
  57   1              SDA=1;                  // 發送停止信號
  58   1              Some_NOP;               // 停止信號至少維持4us
  59   1      }
  60          
  61          
  62          //
  63          // 送到SDA線上的每個字節必須為8位長度,每次傳送的字節數是不受限制的,每個字節后
  64          // 面必須跟隨一個響應位。數據傳送時先傳送最高位。如果接收器不能接收下一個字節(
  65          // 例如正在處理一個內部中斷,在這個中斷處理完之前不能接收I2C總線上的數據字節),
  66          // 可以使時鐘保持低電平,迫使主處理器處于等待狀態。當從器件準備好接收下一個數據
  67          // 字節時就釋放SCL,以便數據繼續傳送。
  68          //
  69          // 接收器必須確認數據的接收,確認位相對于主器件產生一個時鐘在這個時鐘內發送器件
  70          // 釋放SDA線。接收器件在這個時鐘內必須將SDA拉成低電平,使SDA在該時鐘的高電平期間
  71          // 為穩定的低電平。
  72          // 通常,被尋址的接收器件必須在收到每個字節后發出響應信息。若一個從器件在處理一
  73          // 個實時事件不能接收數據時,從器件必須使SDA保持高電平。此時,主器件產生一個結
  74          // 束信號使傳送異常結束。
  75          // 在主器件接收的傳送中,主器件對最后一個數據字節不予確認,以對從發送器指出數據
  76          // 傳送的結束,從發送器釋放SDA線,使主器件能產生一個結束信號。
  77          //
  78          
  79          // 字節數據傳送函數,,向從器件寫一個字節
  80          // 函數原型: void  SendByte8563(uchar c);
  81          // 功能: 
  82          //              將數據c發送出去,可以是地址,也可以是數據,發完后等待應答,并對
  83          //              此狀態位進行操作.(不應答或非應答都使ack=0 假)     
  84          //              發送數據正常,ack=1; ack=0表示被控器無應答或損壞。
  85          //
  86          void  SendByte8563(uchar c)
  87          {
  88   1              idata uchar i;
  89   1      
  90   1              for(i=0;i<8;i++)// 每字節必須8位長度
  91   1              {
  92   2                      if((c<<i)&0x80)
  93   2                      {
  94   3                              SDA=1;                                          // 數據最高位先發送,數據1
  95   3                      }
  96   2                      else
  97   2                      {
  98   3                              SDA=0;                                          // 數據0
  99   3                      }
 100   2                      _Nop();
 101   2                      SCL=1;                                                  // 每個主器件在SCL線上產生時鐘,數據僅在
 102   2                                                                                      // 時鐘的高電平期間有效,鎖存數據。
 103   2                      Some_NOP;                                       // 保證SCL時鐘高電平至少為4us     
 104   2                      SCL=0;                                                  // 時鐘低電平,準備寫入下一個字節
 105   2                      _Nop();                                                 // 等待
 106   2                      _Nop();
 107   2              }
 108   1              
 109   1              _Nop();
 110   1              _Nop();
 111   1              SDA=1;                                                          // 8位數據發送完畢,檢測從器件響應
 112   1              _Nop();
 113   1              _Nop();   
 114   1              SCL=1;                                                          // SCL為高電平,發送第9時鐘作為應答信號
 115   1              _Nop();
 116   1              _Nop();
 117   1              _Nop();
C51 COMPILER V7.07   CLOCK                                                                 09/14/2005 15:20:46 PAGE 3   

 118   1              if(SDA==1)
 119   1                      ack=0;                                                  // 從器件保持SDA為高電平,發送異常  
 120   1              else
 121   1                      ack=1;                                                  // 從器件拉低SDA為低電平,發送正常
 122   1      
 123   1              SCL=0;                                                          // SCL為低電平,清除時鐘
 124   1              _Nop();
 125   1              _Nop();
 126   1      }
 127          
 128          //
 129          // 字節數據傳送函數,讀出從器件一個字節
 130          // 函數原型: uchar  RcvByte();
 131          // 功能:
 132          //              用來接收從器件傳來的數據,并判斷總線錯誤(不發應答信號),
 133          //              發完后請用應答函數。  
 134          //
 135          uchar  RcvByte8563()
 136          {
 137   1              idata uchar temp=0;
 138   1              idata uchar i;
 139   1      
 140   1              SDA=1;                                          // 準備接收數據
 141   1              for(i=0;i<8;i++)
 142   1              {
 143   2                      _Nop();           
 144   2                      SCL=0;                                  // SCL時鐘下跳準備接收數據
 145   2                      Some_NOP;                               // SCL時鐘信號,最小低電平為4.7us
 146   2                      SCL=1;                                  // 時鐘上跳
 147   2                      _Nop();                                 // 等待數據出現
 148   2                      _Nop();
 149   2                      temp=temp<<1;   // 數據移位
 150   2                      if(SDA==1)
 151   2                              temp=temp+1;// 接收數據位
 152   2                      _Nop();                                 // 接收下一位數據
 153   2                      _Nop(); 
 154   2              }
 155   1      
 156   1              SCL=0;                                          // 準備發送結束信號 
 157   1              _Nop();
 158   1              _Nop();
 159   1              return temp;                    // 返回接收到的字節
 160   1      }
 161          
 162          //
 163          // 應答子函數
 164          // 原型:  void Ack_I2c8563(bit a);
 165          // 功能:
 166          //              主控器進行應答信號,(可以是應答或非應答信號)
 167          //
 168          void Ack_I2c8563(bit a)
 169          {
 170   1              if(a==0)
 171   1                      SDA=0;                                  // 發應答信號

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人综合在线一区二区| 国产精品网站在线| 最新欧美精品一区二区三区| 精品一区二区三区香蕉蜜桃| 欧美精品第1页| 免费成人深夜小野草| 欧美日韩一区 二区 三区 久久精品| 一区二区三区不卡视频在线观看| 在线欧美一区二区| 亚洲国产综合色| 欧美一卡二卡在线| 在线观看网站黄不卡| 丝袜美腿亚洲一区| 精品国一区二区三区| 成人性视频免费网站| 亚洲男人的天堂一区二区| 精品视频一区二区不卡| 美国一区二区三区在线播放| 久久久综合激的五月天| 99久久精品国产一区二区三区| 亚洲精品中文字幕乱码三区| 欧美日韩视频在线观看一区二区三区 | 日韩免费成人网| 国产成人精品亚洲777人妖| 亚洲欧美日韩在线不卡| 这里只有精品99re| 懂色av一区二区三区蜜臀| 一区二区三区在线视频观看| 日韩一级大片在线| 成人av午夜电影| 五月激情综合网| 国产午夜精品久久| 欧美日韩久久久| 成人夜色视频网站在线观看| 性做久久久久久久免费看| 久久综合久久综合久久| 91久久精品日日躁夜夜躁欧美| 日本麻豆一区二区三区视频| 中文字幕av不卡| 91精品国产免费| 99精品桃花视频在线观看| 视频一区二区中文字幕| 亚洲国产精品传媒在线观看| 欧美欧美欧美欧美首页| 成人av在线一区二区| 男女性色大片免费观看一区二区 | 中文av一区二区| 91精品国产麻豆国产自产在线 | 色天天综合久久久久综合片| 韩国成人在线视频| 亚洲国产综合人成综合网站| 国产精品丝袜在线| 久久综合久久综合九色| 91麻豆精品国产91久久久更新时间| bt7086福利一区国产| 国产一区二区在线观看免费| 亚洲国产精品久久久久婷婷884 | 日本韩国欧美三级| 国产91精品欧美| 国产专区欧美精品| 免费久久99精品国产| 午夜欧美电影在线观看| 亚洲午夜免费视频| 亚洲一线二线三线久久久| 国产精品国产三级国产aⅴ入口 | 91精品国产一区二区三区蜜臀| 91丝袜美女网| 成人av网址在线| 风间由美一区二区三区在线观看| 久久91精品久久久久久秒播| 奇米在线7777在线精品 | 精品区一区二区| 欧美一区二区三区啪啪| 欧美老人xxxx18| 欧美精品粉嫩高潮一区二区| 欧美美女激情18p| 欧美乱妇15p| 777亚洲妇女| 日韩欧美久久久| 精品国产一区二区国模嫣然| 欧美成人三级电影在线| 日韩精品一区国产麻豆| 欧美电视剧在线观看完整版| 欧美电影免费提供在线观看| 日韩欧美亚洲国产精品字幕久久久| 91麻豆精品久久久久蜜臀| 6080yy午夜一二三区久久| 日韩欧美国产一区二区在线播放| 日韩一级二级三级| www国产成人免费观看视频 深夜成人网| 日韩午夜精品电影| 精品国产伦一区二区三区观看体验 | 精品女同一区二区| 久久久久99精品国产片| 亚洲国产成人一区二区三区| 国产精品久久午夜夜伦鲁鲁| 亚洲精品中文在线| 午夜视频在线观看一区| 裸体一区二区三区| 国产成人亚洲综合a∨婷婷图片| 国产91丝袜在线播放0| 99久久久久久| 制服丝袜成人动漫| 亚洲精品在线电影| 成人欧美一区二区三区视频网页 | 91精品国产入口在线| 久久日韩粉嫩一区二区三区 | 91麻豆国产精品久久| 欧美精品视频www在线观看| 欧美一级高清大全免费观看| 国产欧美精品一区二区色综合朱莉 | 一区二区三区四区激情| 男女性色大片免费观看一区二区| 成人夜色视频网站在线观看| 欧美日韩一卡二卡三卡| 久久久精品免费网站| 亚洲一本大道在线| 国产一区二区三区在线观看免费| 99精品欧美一区| 欧美一区二区三区爱爱| 国产精品毛片久久久久久久| 午夜精品一区在线观看| 国产丶欧美丶日本不卡视频| 一道本成人在线| 精品国产自在久精品国产| 亚洲免费高清视频在线| 久久99精品久久久久久国产越南| 一本久道中文字幕精品亚洲嫩| 日韩视频国产视频| 亚洲精品日韩一| 国产一区二区三区不卡在线观看| 欧美在线free| 国产欧美精品区一区二区三区| 亚洲国产成人高清精品| 成人av电影在线| 久久亚洲一级片| 丝袜亚洲另类欧美| 欧洲精品一区二区三区在线观看| 久久综合久色欧美综合狠狠| 丝袜美腿亚洲综合| 日本韩国一区二区三区视频| 日本一区二区三级电影在线观看| 男女男精品视频网| 欧美视频一区二区三区四区 | 欧美日韩国产中文| 中文字幕一区二区在线观看| 精品影视av免费| 欧美欧美欧美欧美首页| 亚洲综合视频在线| 91一区二区在线观看| 国产欧美日韩三级| 国产精品资源在线看| 欧美白人最猛性xxxxx69交| 天天亚洲美女在线视频| 欧洲亚洲精品在线| 亚洲欧美日韩小说| 99久久国产免费看| 中文av字幕一区| 成人美女视频在线观看18| 久久精品一区二区三区av| 精品系列免费在线观看| 日韩欧美亚洲一区二区| 日本女优在线视频一区二区| 欧美久久一二区| 亚洲成人激情综合网| 欧美日韩综合色| 午夜精品久久久久久不卡8050| 在线观看中文字幕不卡| 伊人一区二区三区| 欧美制服丝袜第一页| 亚洲一线二线三线视频| 欧美日韩一区二区欧美激情 | 捆绑调教美女网站视频一区| 777亚洲妇女| 经典一区二区三区| 久久嫩草精品久久久久| 高清beeg欧美| 中文字幕综合网| 色屁屁一区二区| 午夜激情一区二区三区| 欧美一级生活片| 久久97超碰国产精品超碰| 久久精品在线观看| 99re成人在线| 午夜久久久久久久久久一区二区| 欧美日韩国产乱码电影| 青青草原综合久久大伊人精品| 日韩三级av在线播放| 国产剧情一区二区三区| 亚洲国产激情av| 欧美综合一区二区三区| 老司机免费视频一区二区三区| 久久综合久久综合亚洲| 91亚洲大成网污www| 亚洲大片免费看| 久久这里只有精品首页| 99re这里都是精品| 天堂成人国产精品一区| 久久在线观看免费| 99精品久久99久久久久|