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

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

?? 8574keyboard.lst

?? aduc834單片機PCF8574 4*5鍵盤驅動程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.08   8574KEYBOARD                                                          03/31/2009 16:43:21 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 8574KEYBOARD
OBJECT MODULE PLACED IN 8574KEYBOARD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 8574KEYBOARD.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //#include <reg52.h>
   2          #include <ADI/ADuC834.h>
   3          #include <intrins.h>
   4          
   5          #define uchar unsigned char
   6          #define uint unsigned int
   7          
   8          //1602移植過來的
   9          sbit rs=P2^3;    //1602的數據/指令選擇控制線 
  10          sbit rw=P2^4;        //1602的讀寫控制線 
  11          sbit en=P2^5;        //1602的使能控制線 
  12          /*P2口接1602的D0~D7,注意不要接錯了順序,我以前可在這上面吃過虧~*/ 
  13          uchar code table[]="LCD1602 check ok"; //要顯示的內容1放入數組tablel 
  14          uchar code table1[]="study up";             //要顯示的內容2放入數組table1 
  15          uchar code esc[]="ESC";
  16          uchar code light[]="LIGHT";
  17          uchar code avc[]="AVC";
  18          uchar code memo[]="MEMO";
  19          uchar code hold[]="HOLD";
  20          uchar code setup[]="SETUP";
  21          uchar code pgdn[]="PgDn";
  22          
  23          uchar n,m=0;
  24          
  25          uchar slvadr=0x40 ;      //被控器地址
  26          uchar ack;
  27          uchar key;
  28          uchar curkey;
  29          uchar key_right_flag=1;
  30          uchar KeyPort;
  31          uchar RBT[8];
  32          
  33          //1602移植過來的
  34          void delay(uint n)       //延時函數                       
  35          { 
  36   1          uint x,y; 
  37   1          for(x=n;x>0;x--) 
  38   1              for(y=110;y>0;y--); 
  39   1      } 
  40          void lcd_wcom(uchar com)  //1602寫命令函數                 
  41          { 
  42   1          rs=0;            //選擇指令寄存器 
  43   1          rw=0;            //選擇寫 
  44   1          P0=com;            //把命令字送入P2 
  45   1          delay(5);            //延時一小會兒,讓1602準備接收數據 
  46   1          en=1;           //使能線電平變化,命令送入1602的8位數據口 
  47   1          en=0; 
  48   1      } 
  49          void lcd_wdat(uchar dat)        //1602寫數據函數       
  50          { 
  51   1          rs=1;        //選擇數據寄存器 
  52   1          rw=0;        //選擇寫 
  53   1          P0=dat;        //把要顯示的數據送入P2 
  54   1          delay(5);        //延時一小會兒,讓1602準備接收數據 
  55   1          en=1;        //使能線電平變化,數據送入1602的8位數據口 
C51 COMPILER V8.08   8574KEYBOARD                                                          03/31/2009 16:43:21 PAGE 2   

  56   1          en=0; 
  57   1      } 
  58          void lcd_init()              //1602初始化函數       
  59          { 
  60   1          lcd_wcom(0x38);       //8位數據,雙列,5*7字形       
  61   1          lcd_wcom(0x0F);      //開啟顯示屏,關光標,光標不閃爍 
  62   1          lcd_wcom(0x06);    //顯示地址遞增,即寫一個數據后,顯示位置右移一位 
  63   1          lcd_wcom(0x01);    //清屏 
  64   1      } 
  65          
  66          void PCF8574init(void)
  67          {
  68   1              I2CM=1;
  69   1      }
  70          
  71          void delay1ms(uchar x)
  72          {  
  73   1      unsigned char i,j;
  74   1              while(x--)
  75   1                 {
  76   2                   for(i=5;i>0;i--)
  77   2                for(j=132;j>0;j--);
  78   2              }
  79   1      }
  80          
  81          void Delay_Cycles(char delay)
  82          {
  83   1        while(delay--);
  84   1      }
  85          
  86          /*---------------------------------------------------------------------------------------------------
  87          開始:START
  88          描述:啟動I2C 總線子程序--發送I2C 起始條件
  89          ---------------------------------------------------------------------------------------------------*/
  90          void start(void)
  91          {
  92   1        MDE=1;
  93   1        MCO=1;
  94   1        MDO=1;
  95   1        _nop_();
  96   1        _nop_();
  97   1        _nop_();
  98   1        _nop_();
  99   1        _nop_();
 100   1        MDO=0;
 101   1        _nop_();
 102   1        _nop_();
 103   1        _nop_();
 104   1        _nop_();
 105   1        _nop_();
 106   1        MCO=0;
 107   1      }
 108          
 109          void Ack_I2c(uchar a) //a=0發送應答信號,=1發送非應答信號
 110          { 
 111   1              MDE=1;
 112   1        if(a==0)MDO=0; /*在此發出應答或非應答信號 */ 
 113   1        else MDO=1; 
 114   1        _nop_(); 
 115   1        _nop_(); 
 116   1        _nop_(); 
 117   1        MCO=1; 
C51 COMPILER V8.08   8574KEYBOARD                                                          03/31/2009 16:43:21 PAGE 3   

 118   1        _nop_();
 119   1        _nop_(); /*時鐘低電平周期大于4μs*/ 
 120   1        _nop_(); 
 121   1        _nop_(); 
 122   1        _nop_(); 
 123   1        MCO=0; /*清時鐘線,鉗住I2C總線以便繼續接收*/ 
 124   1        _nop_(); 
 125   1        _nop_(); 
 126   1      }
 127          
 128          void wrbyt(uchar shu)
 129          {
 130   1        uchar i;
 131   1        ack=0;
 132   1        MDE=1;                        //        SETB    MDE           ; to enable SDATA pin as an output      
 133   1        MCO=0;
 134   1        for(i=0;i<8;i++)
 135   1        {
 136   2          if(shu&0x80)
 137   2          {
 138   3            MDO=1;
 139   3            _nop_();
 140   3            MCO=1;
 141   3            _nop_();    
 142   3            _nop_();
 143   3            _nop_();
 144   3            MCO=0;
 145   3            //MDO=0;
 146   3          }
 147   2          else
 148   2          {
 149   3            MDO=0;
 150   3            _nop_();
 151   3            MCO=1;
 152   3            _nop_();
 153   3            _nop_();
 154   3            _nop_();
 155   3            MCO=0;
 156   3          }
 157   2        shu=shu<<1;
 158   2        }
 159   1        MDO=1;
 160   1        MDE=0;                        //      CLR     MDE             ; release data line for acknowledge
 161   1        MCO=1;                        //      SETB    MCO             ; send clock for acknowledge
 162   1        Delay_Cycles(3);
 163   1        MCO=0;
 164   1      }
 165          
 166          //void SendByte_Upon_I2C(unsigned char byte)
 167          //{
 168          //      unsigned char send_bitdata;
 169          //  unsigned char send_bytedata=byte;
 170          //  uchar BITCNT=8;             //        MOV     BITCNT,#8     ; 8 bits in a byte
 171          //  MDE=1;                      //        SETB    MDE           ; to enable SDATA pin as an output      
 172          //  MCO=0;                      //        CLR     MCO           ; make sure that the clock line is low
 173          //  Delay_Cycles(5);
 174          //  while(BITCNT--)
 175          //      {
 176          //        if(send_bytedata&0x80)send_bitdata=1;
 177          //              else send_bitdata=0;
 178          //        MDO=send_bitdata;             //      MOV     MDO,C           ; put data bit on SDATA line
 179          //        MCO=1;                //      SETB    MCO             ; clock to send bit
C51 COMPILER V8.08   8574KEYBOARD                                                          03/31/2009 16:43:21 PAGE 4   

 180          //        Delay_Cycles(1);
 181          //        Delay_Cycles(5);
 182          //        MCO=0;                //      CLR     MCO             ; clear clock 
 183          //        send_bytedata<<=1;
 184          //      }               //              DJNZ    BITCNT,SENDBIT  ; jump back and send all eight bits
 185          //  MDE=0;                      //      CLR     MDE             ; release data line for acknowledge
 186          //  MCO=1;                      //      SETB    MCO             ; send clock for acknowledge
 187          //  Delay_Cycles(3);
 188          //  MCO=0;                      //NEXT: CLR     MCO             ; clear clock 
 189          //  return;                     //      RET
 190          //}
 191          
 192          uchar RcvByte() 
 193          { 
 194   1      uchar retc; 
 195   1      uchar BitCnt; 
 196   1      
 197   1      retc=0; 
 198   1      MDE=0; /*置數據線為輸入方式*/ 
 199   1      for(BitCnt=0;BitCnt<8;BitCnt++) 
 200   1      { 
 201   2      _nop_(); 
 202   2      MCO=0; /*置時鐘線為低,準備接收數據位*/ 
 203   2      _nop_(); 
 204   2      _nop_(); /*時鐘低電平周期大于4.7μs*/ 
 205   2      _nop_(); 
 206   2      _nop_(); 
 207   2      _nop_(); 
 208   2      MCO=1; /*置時鐘線為高使數據線上數據有效*/ 
 209   2      _nop_(); 
 210   2      _nop_(); 
 211   2      retc=retc<<1; 
 212   2      if(MDI==1)retc=retc+1; /*讀數據位,接收的數據位放入retc中 */ 
 213   2      _nop_(); 
 214   2      _nop_(); 
 215   2      } 
 216   1      MCO=0; 
 217   1      _nop_(); 
 218   1      _nop_(); 
 219   1      return(retc); 
 220   1      } 
 221          
 222          /*---------------------------------------------------------------------------------------------------
 223          名稱:STOP
 224          描述:停止I2C 總線子程序--發送I2C 總線停止條件
 225          ---------------------------------------------------------------------------------------------------*/
 226          void stop(void)
 227          {
 228   1                   MDE=1;
 229   1             MDO=0;
 230   1             _nop_();
 231   1             MCO=1;
 232   1             _nop_();
 233   1             _nop_();
 234   1             _nop_();
 235   1             _nop_();
 236   1             _nop_();
 237   1             MDO=1;
 238   1             _nop_();
 239   1             _nop_();
 240   1             _nop_();
 241   1      }
C51 COMPILER V8.08   8574KEYBOARD                                                          03/31/2009 16:43:21 PAGE 5   

 242          void checkack(void)
 243          {
 244   1      //  MDO=1; /*8位發送完后釋放數據線,準備接收應答位*/ 
 245   1      //  MDE=0;
 246   1      //  _nop_(); 
 247   1      //  _nop_(); 
 248   1      //  MCO=1; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品中文字幕一区二区小辣椒| 亚洲国产日韩在线一区模特| 精品国精品国产| 91精品国产综合久久福利软件| 欧美无砖砖区免费| 欧美系列亚洲系列| 在线播放欧美女士性生活| 欧美性三三影院| 欧美人牲a欧美精品| 4438x成人网最大色成网站| 69堂精品视频| 欧美不卡一二三| 国产午夜亚洲精品午夜鲁丝片| 久久综合狠狠综合| 中文字幕在线不卡视频| 亚洲欧美日韩精品久久久久| 亚洲午夜视频在线| 全部av―极品视觉盛宴亚洲| 国内精品国产三级国产a久久| 国产精品影音先锋| 色婷婷av一区二区三区gif | 久久综合丝袜日本网| 日韩欧美中文字幕一区| 欧美经典三级视频一区二区三区| 亚洲精品五月天| 日韩av高清在线观看| 国产精品一区二区在线播放| 91在线观看免费视频| 欧美日韩国产综合视频在线观看| 精品99一区二区三区| 国产精品乱码人人做人人爱| 亚洲电影一区二区| 国产成人免费xxxxxxxx| 欧美日韩在线直播| 亚洲国产精品t66y| 蜜臀久久久久久久| 91香蕉视频污在线| 亚洲精品在线观看视频| 一区二区三区.www| 国产成人av电影在线| 6080yy午夜一二三区久久| 久久精品一区二区| 蜜桃视频在线一区| 99精品视频在线免费观看| 欧美一个色资源| 一区二区三区免费网站| 国产精品99久久久久久久女警| 在线观看视频91| 中文字幕的久久| 紧缚奴在线一区二区三区| 欧美午夜精品理论片a级按摩| 国产丝袜在线精品| 日本aⅴ亚洲精品中文乱码| 色久综合一二码| 国产欧美一区二区三区在线看蜜臀| 亚洲第一会所有码转帖| 色屁屁一区二区| 中文字幕亚洲成人| 国产精品99久| 久久久久九九视频| 寂寞少妇一区二区三区| 日韩精品中文字幕一区二区三区| 亚洲.国产.中文慕字在线| 99精品欧美一区二区三区小说| 久久久91精品国产一区二区三区| 日产国产高清一区二区三区| 欧美三级视频在线| 亚洲国产视频在线| 欧美人伦禁忌dvd放荡欲情| 亚洲精品视频在线观看网站| 成人ar影院免费观看视频| 国产日产欧产精品推荐色| 韩国一区二区在线观看| 精品国产乱码久久久久久影片| 麻豆高清免费国产一区| 日韩一区二区麻豆国产| 青青草精品视频| 精品欧美一区二区在线观看| 久久精品国产精品亚洲精品| 日韩免费看的电影| 狠狠色2019综合网| 国产亚洲欧美在线| youjizz久久| 一区二区三区精品视频| 欧美综合天天夜夜久久| 日韩精品三区四区| 精品国产免费人成在线观看| 国产精品一区二区久久不卡| 国产精品久久影院| 色综合久久久久久久久| 天天综合色天天综合色h| 欧美一区二区美女| 国产精一区二区三区| 综合久久国产九一剧情麻豆| 在线免费亚洲电影| 青青国产91久久久久久| 国产农村妇女毛片精品久久麻豆| 一本色道久久综合亚洲aⅴ蜜桃 | 在线欧美日韩国产| 日韩在线一二三区| 精品福利一二区| 色综合久久综合网| 久久aⅴ国产欧美74aaa| 亚洲视频一区二区在线| 4438x亚洲最大成人网| 成人午夜电影网站| 亚洲国产综合91精品麻豆| 欧美变态凌虐bdsm| 91在线云播放| 日本成人中文字幕在线视频| 国产精品毛片高清在线完整版| 欧美日韩一区精品| 国产麻豆精品在线| 婷婷综合另类小说色区| 久久精品综合网| 欧美日韩中文字幕一区| 国产成人一区二区精品非洲| 亚洲一区二区三区三| 国产肉丝袜一区二区| 欧美精品日韩综合在线| 成人免费视频一区| 蜜臀久久久久久久| 一区二区免费在线| 久久精品欧美日韩| 717成人午夜免费福利电影| 99这里都是精品| 精品无人码麻豆乱码1区2区| 亚洲二区在线视频| 国产精品国产馆在线真实露脸| 欧美xxxxx裸体时装秀| 日本丶国产丶欧美色综合| 国产美女视频91| 蜜乳av一区二区三区| 亚洲一级在线观看| 亚洲免费资源在线播放| 国产欧美日韩另类视频免费观看| 欧美高清视频在线高清观看mv色露露十八| 成人高清免费在线播放| 韩国av一区二区三区| 蜜桃视频第一区免费观看| 亚洲国产精品久久艾草纯爱 | 亚洲国产aⅴ天堂久久| 国产精品短视频| 久久久久久久久97黄色工厂| 精品电影一区二区三区| 欧美成人精品1314www| 欧美一级片在线观看| 3atv在线一区二区三区| 欧美日韩视频专区在线播放| 91国偷自产一区二区三区观看| www.av亚洲| 91一区二区三区在线观看| 成a人片国产精品| 丁香亚洲综合激情啪啪综合| 国产精品一区专区| 国产精品资源在线看| 成人精品视频一区| 91色视频在线| 欧美影视一区在线| 欧美日韩中文字幕一区| 欧美久久高跟鞋激| 日韩美女主播在线视频一区二区三区| 91精品国产品国语在线不卡| 欧美一级黄色片| 国产亚洲综合在线| 亚洲人妖av一区二区| 亚洲成人av免费| 久久er99热精品一区二区| 国产suv精品一区二区883| 成人激情动漫在线观看| 91极品视觉盛宴| 欧美一区二区三区四区高清| 精品对白一区国产伦| 国产精品高潮呻吟| 亚洲国产欧美在线| 美女视频黄 久久| 不卡一卡二卡三乱码免费网站| 色综合久久中文字幕综合网| 4438x成人网最大色成网站| 欧美精品一区二区三区四区| 亚洲欧美在线视频| 无码av免费一区二区三区试看 | 日韩精品一区二区在线观看| 久久人人97超碰com| 中文字幕在线一区免费| 亚洲aⅴ怡春院| 国产传媒日韩欧美成人| 在线观看成人小视频| 欧美成人a视频| 亚洲男人的天堂一区二区| 久久国产精品第一页| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲欧美一区二区在线观看| 日韩精品欧美精品| 成人av网站在线观看免费| 欧美日韩国产123区| 国产精品色眯眯| 美女诱惑一区二区| 色激情天天射综合网| 欧美激情一区二区在线|