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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eeprom.lst

?? MCS51 C語言操作AT24Cxx的函數(shù)。采用頭文件加c文件的形式??蓪T24Cxx系列的EEPROM進(jìn)行單字節(jié)和多字節(jié)的讀寫操作??勺鞯讓訋旌瘮?shù)使用。在EEPROM.c文件修改編譯設(shè)置
?? LST
字號:
C51 COMPILER V7.50   EEPROM                                                                05/26/2009 15:22:14 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE EEPROM
OBJECT MODULE PLACED IN eeprom.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE eeprom.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*************************************************************************
   2          File Name:      eeprom.c
   3          Description:    AT24cXX
   4          By:     Jemmydeng
   5          Date:   2008-06-xx
   6          *************************************************************************/
   7          #include <reg51.h>
   8          #include <intrins.h>
   9          
  10          #include <delay.h>
  11          #include <eeprom.h>
  12          
  13          
  14          #define uchar unsigned char
  15          #define uint  unsigned int
  16          
  17          //#define _PAGES_       1                       //單字節(jié)地址,多頁時定義此項(for 24c04,24c08,24c16)
  18          
  19          //#define _16_BITS_ADDRESS_     1       //雙字節(jié)地址時定義此項(for 24c32,24c64)
  20          //=======================================================================
  21          sbit SCL=P0^4;
  22          sbit SDA=P0^5;
  23          
  24          bit ack_state=0;
  25          //=======================================================================
  26          
  27          void ST_EEPROM(void)
  28          {
  29   1          SDA=1;
  30   1          SCL=1;
  31   1          delay_us(10);
  32   1          SDA=0;
  33   1          delay_us(10);
  34   1          SCL=0;
  35   1          delay_us(10);
  36   1      }
  37          
  38          //------------------------------------
  39          void END_EEPROM(void)
  40          {
  41   1          SDA=0;
  42   1          SCL=0;
  43   1          delay_us(10);
  44   1          SCL=1;
  45   1          delay_us(10);
  46   1          SDA=1;
  47   1          delay_us(10);
  48   1      }
  49          
  50          //------------------------------------
  51          void write(unsigned char byte)
  52          {
  53   1          unsigned char i,j;
  54   1          
  55   1          for(i=0;i<8;i++)
C51 COMPILER V7.50   EEPROM                                                                05/26/2009 15:22:14 PAGE 2   

  56   1          {
  57   2              j = (0x80>>i);
  58   2              j = j&byte;
  59   2              if(j)
  60   2              {
  61   3                  SDA=1;
  62   3                  }
  63   2              else
  64   2              {
  65   3                  SDA=0;
  66   3              }
  67   2              
  68   2              delay_us(10);
  69   2      
  70   2              SCL=1;
  71   2              delay_us(10);
  72   2              SCL=0;
  73   2              delay_us(10);
  74   2          }
  75   1      }
  76          
  77          //------------------------------------
  78          unsigned char read(void)
  79          {
  80   1          bit data1=0;
  81   1          unsigned char a=0,i;
  82   1          
  83   1          for(i=0;i<8;i++)
  84   1          {
  85   2              SDA=1;
  86   2              SCL=1;
  87   2              delay_us(10);
  88   2              data1=SDA;
  89   2              delay_us(10);
  90   2              SCL=0;
  91   2              delay_us(10);
  92   2              a=a<<1;
  93   2              if(data1)
  94   2              {
  95   3                  a+=1;
  96   3              }
  97   2          }
  98   1          
  99   1          return a;
 100   1      }
 101          
 102          //-------------------------------------
 103          bit TEST_ACK(void)
 104          {
 105   1           bit ack1;
 106   1           SDA=1;
 107   1           SCL=1;
 108   1           delay_us(10);
 109   1           ack1=SDA;
 110   1           delay_us(10);
 111   1           SCL=0;
 112   1           delay_us(10);
 113   1           return ack1;
 114   1      }
 115          
 116          //----------------------
 117          void ACK(void)
C51 COMPILER V7.50   EEPROM                                                                05/26/2009 15:22:14 PAGE 3   

 118          {
 119   1              SDA=0;
 120   1              SCL=1;
 121   1              delay_us(10);
 122   1              SCL=0;
 123   1              SDA=1;
 124   1      }
 125          
 126          //---------------------
 127          void NOT_ACK(void)
 128          {
 129   1              SDA=1; 
 130   1              SCL=1;
 131   1              delay_us(10);
 132   1              SCL=0;
 133   1      }
 134          
 135          //===============================================================
 136          //  寫EEPROM單字節(jié)程序,參數(shù)1為高地址,參數(shù)2為低地址,參數(shù)3為要寫的數(shù)據(jù)
 137          //  器件地址引腳固定接地(0xa0)
 138          //------------------------------------------------------------
 139          
 140          void WR_BYTE(unsigned char page,uchar address_h,uchar address_l,uchar data1)
 141          {
 142   1          unsigned char device_addr;
 143   1          
 144   1          #ifdef _PAGES_
                  page = (page<<1);
                  device_addr = (0xa0|page);  //器件地址引腳固定接地
                  #else
 148   1          device_addr = 0xa0;
 149   1          #endif
 150   1          
 151   1          ST_EEPROM();               //啟動開始
 152   1          write(device_addr);        //寫器件地址10100000
 153   1          ack_state = TEST_ACK();
 154   1          
 155   1          #ifdef _16_BITS_ADDRESS_
                  write(address_h);          //寫高地址
                  ack_state=TEST_ACK();
                  #endif
 159   1          
 160   1          write(address_l);          //寫低地址
 161   1          ack_state=TEST_ACK();
 162   1          write(data1);              //寫數(shù)據(jù)
 163   1          ack_state=TEST_ACK();
 164   1          END_EEPROM();              //結(jié)束
 165   1              delay_us(300);
 166   1      }
*** WARNING C280 IN LINE 140 OF EEPROM.C: 'page': unreferenced local variable
*** WARNING C280 IN LINE 140 OF EEPROM.C: 'address_h': unreferenced local variable
 167          
 168          //-----------------------------------------------------
 169          //  讀EEPROM單字節(jié)程序,參數(shù)1為高地址,參數(shù)2為低地址
 170          //----------------------------------------------------
 171          uchar RD_BYTE(unsigned char page, uchar address_h,uchar address_l)
 172          {
 173   1              unsigned char rd_data=0;
 174   1              unsigned char device_addr;
 175   1          
 176   1              #ifdef _PAGES_
                      page = (page<<1);
C51 COMPILER V7.50   EEPROM                                                                05/26/2009 15:22:14 PAGE 4   

                      device_addr = (0xa0|page);      //器件地址引腳固定接地
                      #else
 180   1              device_addr = 0xa0;
 181   1              #endif
 182   1          
 183   1              ST_EEPROM();               //啟動
 184   1              write(device_addr);               //寫器件地址
 185   1              ack_state=TEST_ACK();
 186   1              
 187   1              #ifdef _16_BITS_ADDRESS_
                      write(address_h); 
                      ack_state=TEST_ACK();
                      #endif
 191   1              
 192   1              write(address_l);
 193   1              ack_state=TEST_ACK();
 194   1              ST_EEPROM();               //再次啟動
 195   1              write(device_addr|1);               //讀器件地址10100001
 196   1              ack_state=TEST_ACK();
 197   1              rd_data=read();            //讀數(shù)據(jù)
 198   1              NOT_ACK();                 //無應(yīng)答信號
 199   1              END_EEPROM();
 200   1              delay_us(300);
 201   1              
 202   1              return rd_data;
 203   1      }
*** WARNING C280 IN LINE 171 OF EEPROM.C: 'page': unreferenced local variable
*** WARNING C280 IN LINE 171 OF EEPROM.C: 'address_h': unreferenced local variable
 204          
 205          //===============================================================================
 206          //連續(xù)寫EEPROM多個字節(jié)子程序,參數(shù)1為要寫首地址的高字節(jié),參數(shù)2為要寫首地址的低字節(jié),
 207          //參數(shù)3為要寫的字節(jié)數(shù),參數(shù)4為要寫字節(jié)的首地址
 208          //-------------------------------------------------------------------------------
 209          
 210          void WR_BYTES(unsigned char page,uchar init_address_h,uchar init_address_l,uchar number,uchar *data1)
 211          {
 212   1          unsigned char i;
 213   1          unsigned char device_addr;
 214   1          
 215   1          #ifdef _PAGES_
                  page = (page<<1);
                  device_addr = (0xa0|page);  //器件地址引腳固定接地
                  #else
 219   1          device_addr = 0xa0;
 220   1          #endif
 221   1          
 222   1          ST_EEPROM();
 223   1              write(device_addr);
 224   1              ack_state=TEST_ACK();
 225   1              
 226   1              #ifdef _16_BITS_ADDRESS_
                      write(init_address_h);
                      ack_state=TEST_ACK();
                      #endif
 230   1              
 231   1              write(init_address_l);
 232   1              ack_state=TEST_ACK();
 233   1              
 234   1              for(i=0;i<number;i++)
 235   1              {
 236   2                      write(data1[i]);
 237   2                      if(TEST_ACK())
C51 COMPILER V7.50   EEPROM                                                                05/26/2009 15:22:14 PAGE 5   

 238   2                          ;
 239   2              }
 240   1              END_EEPROM();
 241   1              delay_us(300);
 242   1      }
*** WARNING C280 IN LINE 210 OF EEPROM.C: 'page': unreferenced local variable
*** WARNING C280 IN LINE 210 OF EEPROM.C: 'init_address_h': unreferenced local variable
 243          
 244          //===============================================================================
 245          //連續(xù)讀EEPROM多個字節(jié)子程序,參數(shù)1為要讀首地址的高字節(jié),參數(shù)2為要讀寫首地址的低字節(jié),
 246          //參數(shù)3為要讀的字節(jié)數(shù),參數(shù)4為要讀字節(jié)的首地址
 247          //-------------------------------------------------------------------------------
 248          void RD_BYTES(unsigned char page,uchar init_address_h,uchar init_address_l,uchar number,uchar *data1)
 249          {
 250   1          unsigned char i;
 251   1          unsigned char device_addr;
 252   1          
 253   1          #ifdef _PAGES_
                  page = (page<<1);
                  device_addr = (0xa0|page);  //器件地址引腳固定接地
                  #else
 257   1          device_addr = 0xa0;
 258   1          #endif
 259   1          
 260   1          ST_EEPROM();
 261   1              write(device_addr);
 262   1              ack_state=TEST_ACK();
 263   1              
 264   1              #ifdef _16_BITS_ADDRESS_
                      write(init_address_h);
                      ack_state=TEST_ACK();
                      #endif
 268   1              
 269   1              write(init_address_l);
 270   1              ack_state=TEST_ACK();
 271   1              ST_EEPROM();
 272   1              write(device_addr|1);
 273   1              ack_state=TEST_ACK();
 274   1              
 275   1              for(i=0;i<number-1;i++)
 276   1              {
 277   2                      *data1=read();
 278   2                      ACK();
 279   2                      data1++;
 280   2              }
 281   1              
 282   1              *data1 = read();
 283   1              NOT_ACK();
 284   1              
 285   1              END_EEPROM();
 286   1              delay_us(300);
 287   1      }
*** WARNING C280 IN LINE 248 OF EEPROM.C: 'page': unreferenced local variable
*** WARNING C280 IN LINE 248 OF EEPROM.C: 'init_address_h': unreferenced local variable
 288          
 289          
 290          
 291          //---------
 292          


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.50   EEPROM                                                                05/26/2009 15:22:14 PAGE 6   

   CODE SIZE        =    506    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      32
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  8 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看国产一区| 亚洲在线视频一区| 久久午夜色播影院免费高清| 欧美午夜电影在线播放| 色综合天天综合色综合av| 国产精品白丝jk黑袜喷水| 国产精品一区二区91| 国产一区二区精品久久| 国产乱码精品1区2区3区| 国产福利一区二区三区视频| 国产91精品免费| 不卡视频在线观看| 一本久久a久久精品亚洲| 欧美亚洲一区二区在线观看| 欧美日韩视频不卡| 日韩欧美国产一区二区在线播放| 欧美一区国产二区| 欧美一激情一区二区三区| 欧美一区二区精品在线| 欧美va亚洲va国产综合| 久久久久久久综合狠狠综合| 国产色产综合产在线视频| 国产欧美日韩一区二区三区在线观看 | 亚洲成人一区二区在线观看| 午夜激情一区二区三区| 免费xxxx性欧美18vr| 精品一区二区免费视频| 国产露脸91国语对白| 91丨九色丨国产丨porny| 欧美日韩国产bt| 精品乱码亚洲一区二区不卡| 中文字幕欧美激情| 一区二区高清视频在线观看| 奇米四色…亚洲| 国产激情视频一区二区三区欧美| 91视视频在线观看入口直接观看www | 国产香蕉久久精品综合网| 国产精品国产自产拍高清av王其| 亚洲一二三区不卡| 黄色小说综合网站| 色视频欧美一区二区三区| 日韩你懂的电影在线观看| 国产精品天干天干在观线| 一区二区三区在线高清| 激情av综合网| 欧美午夜影院一区| 国产日韩欧美电影| 亚洲成人福利片| 丁香婷婷综合网| 欧美一区二区三区视频免费 | 国产精品久久久久国产精品日日 | 99在线精品免费| 欧美一区二区福利在线| 最新久久zyz资源站| 免费在线欧美视频| 91丨九色丨蝌蚪富婆spa| 精品国偷自产国产一区| 一区二区三区在线视频免费| 久久成人免费网| 欧美色图12p| 国产精品拍天天在线| 麻豆国产欧美一区二区三区| 一本色道久久加勒比精品| 久久久99精品久久| 麻豆国产精品视频| 欧美性极品少妇| 综合久久久久久久| 国产精品 欧美精品| 欧美一区二区成人6969| 依依成人精品视频| 国产不卡免费视频| 日韩精品一区二| 肉色丝袜一区二区| 91麻豆成人久久精品二区三区| 久久你懂得1024| 麻豆高清免费国产一区| 欧美午夜影院一区| 一区二区三区日本| 一本大道久久a久久综合| 久久精品一二三| 激情综合亚洲精品| 欧美一区二区三区啪啪| 亚洲成a天堂v人片| 欧亚洲嫩模精品一区三区| 国产精品久久网站| 高清不卡一区二区在线| 精品国产成人在线影院 | 色偷偷久久一区二区三区| 亚洲国产高清在线观看视频| 精品在线你懂的| 欧美成人艳星乳罩| 久久精品国产亚洲a| 日韩一级成人av| 日韩精品福利网| 欧美日韩精品福利| 婷婷开心久久网| 欧美天堂一区二区三区| 亚洲自拍偷拍av| 欧美日韩一区二区三区在线| 亚洲精品久久嫩草网站秘色| 色综合一区二区三区| 一区二区三区中文字幕精品精品 | 国产在线视频不卡二| 精品国产免费一区二区三区香蕉 | 欧美性猛交一区二区三区精品| 最新久久zyz资源站| 99精品欧美一区二区三区小说| 日韩美女啊v在线免费观看| 色悠悠久久综合| 国产99久久精品| 久久久噜噜噜久久中文字幕色伊伊| 久久99久久精品| 国产婷婷一区二区| 成人午夜视频在线观看| 国产精品久久久久久久久免费相片 | 日韩女优电影在线观看| 久久99精品久久只有精品| 精品粉嫩超白一线天av| 国产精品一二三四| 亚洲欧洲三级电影| 欧美日韩中文字幕精品| 免费高清在线一区| 久久久久久久久伊人| 欧美在线观看视频一区二区三区| 亚洲自拍偷拍av| 日韩一区二区在线观看| 国精品**一区二区三区在线蜜桃| 欧美韩国一区二区| 色久优优欧美色久优优| 婷婷成人激情在线网| 欧美大黄免费观看| 床上的激情91.| 一区二区三区91| 日韩欧美精品在线视频| 成人ar影院免费观看视频| 亚洲黄色av一区| 日韩精品一区在线| 成人免费观看视频| 亚洲一线二线三线视频| 精品久久久久99| 色综合天天综合色综合av| 日本一区中文字幕| 一区免费观看视频| 日韩一级大片在线观看| 99久久久国产精品免费蜜臀| 日韩精品福利网| 国产精品国产三级国产| 91精品国产综合久久久久久久 | 一本色道久久综合亚洲91| 蜜桃久久精品一区二区| 国产精品国产三级国产a| 91精品国产综合久久婷婷香蕉| 国产成人av一区二区三区在线 | 一区二区三区四区高清精品免费观看 | 亚洲一区在线观看免费观看电影高清| 日韩欧美中文字幕精品| 91理论电影在线观看| 久久成人免费电影| 一区二区在线电影| 国产日本欧洲亚洲| 欧美日韩黄视频| 成人精品一区二区三区四区| 日韩**一区毛片| 亚洲欧美综合另类在线卡通| 精品电影一区二区| 欧美日韩在线免费视频| 国产成人av电影在线播放| 日日骚欧美日韩| 中文字幕一区免费在线观看| 精品国产凹凸成av人网站| 欧美日韩视频在线第一区| 成人av在线网| 国内外成人在线| 性做久久久久久免费观看欧美| 17c精品麻豆一区二区免费| 26uuu国产电影一区二区| 欧美女孩性生活视频| 日本韩国欧美国产| 福利一区二区在线| 精品一区二区三区免费| 视频一区视频二区中文| 一个色在线综合| **欧美大码日韩| 中文字幕 久热精品 视频在线| 日韩欧美国产一区在线观看| 欧美日韩午夜精品| 欧美性色黄大片手机版| 一本色道久久综合亚洲精品按摩| 懂色av一区二区三区蜜臀| 精品一区免费av| 久久国产精品色| 麻豆精品久久久| 久久国产精品99久久人人澡| 免费一级欧美片在线观看| 亚洲福中文字幕伊人影院| 亚洲激情五月婷婷| 亚洲免费成人av| 亚洲欧美欧美一区二区三区| 中文字幕视频一区二区三区久| 中文字幕乱码一区二区免费|