⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 24c01.lst

📁 LED渐明变灭,遥控控制,总体变化,方便使用
💻 LST
字号:
C51 COMPILER V6.02  24C01                                                                  11/26/2005 22:15:48 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE 24C01
OBJECT MODULE PLACED IN C:\WIRELE~1\24C01.OBJ
COMPILER INVOKED BY: C:\keil\c51\bin\C51.EXE C:\WIRELE~1\24C01.C DB SB OE DEFINE(LOCALTIME) 

stmt level    source

   1          #include <reg51.h>
   2          #include <string.h>
   3          #include <stdio.h>
   4          #include <intrins.h>
   5          
   6          #include "types.h"
   7          #include "24c01.h"
   8          #include "key.h"
   9          #include "managment.h"
  10          
  11          void DelayMs(uint number);
  12          void EEdaly();
  13          //void int0_EEWrite();
  14          void Initeeprom();
  15          uchar EERead(uchar RomAddress,uchar RamAddress);
  16          void EEWrite(uchar Wdata,uchar RomAddress);
  17          void Start();
  18          void Stop();
  19          sbit	SCL=P3^7;
  20          sbit	SDA=P1^0;
  21          //-------------------------------------------------------------
  22          void Initeeprom()
  23          {
  24   1        // uint i,ttp;
  25   1          SCL=0;
  26   1          Stop();
  27   1          EEdaly();
  28   1          EEdaly();
  29   1          EEdaly();
  30   1          EEdaly();
  31   1         led_buf[0]=EERead(led_buf0,led_buf[0]);
  32   1         led_buf[1]=EERead(led_buf1,led_buf[1]);
  33   1         if(led_buf[0]>8) led_buf[0]=8;
  34   1         if(led_buf[1]>99) led_buf[1]=99;
  35   1       }
  36           //--------------------------------
  37           void EEdaly()
  38           {
  39   1        uchar i;
  40   1        for(i=10;i;i--)
  41   1         _nop_();
  42   1        }
  43          /***************************************************************************/
  44          void DelayMs(uint number)
  45          {
  46   1      	uint i,j;
  47   1          for(i=number;i!=0;i--)
  48   1             {
  49   2      	    for(j=112;j!=0;j--)  ;
  50   2             }
  51   1      }
  52          
  53          /***************************************************************************/
  54          void Start() {
  55   1      	SCL=1;
C51 COMPILER V6.02  24C01                                                                  11/26/2005 22:15:48 PAGE 2   

  56   1              EEdaly();
  57   1      	SDA=1;
  58   1              EEdaly();
  59   1      	SDA=0;
  60   1              EEdaly();
  61   1      	SCL=0;
  62   1              EEdaly();
  63   1      }
  64          
  65          /***************************************************************************/
  66          void Stop() {
  67   1      	SCL=0;
  68   1              EEdaly();
  69   1      	SDA=0;
  70   1              EEdaly();
  71   1      	SCL=1;
  72   1              EEdaly();
  73   1      	SDA=1;
  74   1              EEdaly();
  75   1              EEdaly();
  76   1      }
  77          
  78          /***************************************************************************/
  79          void Ack() {
  80   1      	SDA=0;
  81   1              EEdaly();
  82   1      	SCL=1;
  83   1             EEdaly();
  84   1      	SCL=0;
  85   1             EEdaly();
  86   1      	SDA=1;
  87   1             EEdaly();
  88   1           }
  89          
  90          /***************************************************************************/
  91          void NoAck() {
  92   1                SDA=1;
  93   1             EEdaly();
  94   1      	SCL=1;
  95   1              EEdaly();
  96   1      	SCL=0;
  97   1              EEdaly();
  98   1         }
  99          
 100          /***************************************************************************/
 101          //bit TestAck() {
 102          //	bit ErrorBit;
 103          //	SDA=1;
 104           //       EEdaly();
 105          //	SCL=1;
 106          //        EEdaly();
 107          //	ErrorBit=SDA;
 108           //       EEdaly();
 109          //	SCL=0;
 110           //       EEdaly();
 111          //	return(ErrorBit);
 112          //}
 113          
 114          //**************************************************/
 115          bit Write8Bit(uchar input)
 116           {
 117   1      	uchar i;
C51 COMPILER V6.02  24C01                                                                  11/26/2005 22:15:48 PAGE 3   

 118   1      	for(i=8;i;i--)
 119   1             {
 120   2                      input=input<<1;
 121   2                      if(CY) SDA=1;
 122   2                      else  SDA=0;
 123   2                      EEdaly();
 124   2      		SCL=1;
 125   2                      EEdaly();
 126   2      		SCL=0;
 127   2                      EEdaly();
 128   2         	}
 129   1          return(i);
 130   1       }
 131          //***************************************************************************/
 132          void EEWrite(uchar Wdata,uchar RomAddress) {
 133   1      	Start();
 134   1      	Write8Bit(WriteDeviceAddress);
 135   1              Ack();
 136   1      //	if(TestAck())
 137   1       //          goto EEWriteEnd;
 138   1      	Write8Bit((uchar)RomAddress);
 139   1               Ack();
 140   1      //	if(TestAck())
 141   1       //          goto EEWriteEnd;
 142   1      //	for(;number;number--)
 143   1      //            {
 144   1      		Write8Bit(Wdata);
 145   1      //		if(TestAck())
 146   1       //                  goto EEWriteEnd;
 147   1      //		Wdata++;
 148   1      //	}
 149   1       //   EEWriteEnd:
 150   1               Ack();
 151   1      	Stop();
 152   1      	DelayMs(20);
 153   1      }
 154          
 155          /***************************************************************************/
 156          uchar Read8Bit()
 157           {
 158   1          uchar i,rbyte=0;
 159   1      	for(i=8;i;i--)
 160   1               {
 161   2      		SCL=1;
 162   2                      EEdaly();
 163   2      		rbyte<<=1;
 164   2      		rbyte|=(uchar)SDA;
 165   2      		SCL=0;
 166   2                      EEdaly();
 167   2      	}
 168   1         return(rbyte);
 169   1      }
 170          
 171          //***************************************************************************/
 172          uchar EERead(uchar RomAddress,uchar RamAddress) {
 173   1      //	uchar temp,rbyte;
 174   1      	Start();
 175   1      	Write8Bit(WriteDeviceAddress);
 176   1              Ack();
 177   1      //	if(TestAck())
 178   1      //            goto EEReadFail;
 179   1      	Write8Bit((uchar)RomAddress);
C51 COMPILER V6.02  24C01                                                                  11/26/2005 22:15:48 PAGE 4   

 180   1                 Ack();
 181   1        //       if(TestAck())
 182   1          //        goto EEReadFail;
 183   1      	Start();
 184   1      	Write8Bit(ReadDviceAddress);
 185   1              Ack();
 186   1      //	if(TestAck())
 187   1       //            goto EEReadFail;
 188   1         //for(;bytes;bytes--)
 189   1        //       {
 190   1      	  RamAddress=Read8Bit();
 191   1      //          if(bytes>1) Ack();       R
 192   1       //           else
 193   1      //		 NoAck;
 194   1      //	RamAddress++;
 195   1      //	}
 196   1      //	*RamAddress=Read8Bit();
 197   1        	NoAck();
 198   1       //  EEReadFail:
 199   1      	Stop();
 200   1          return(RamAddress);
 201   1       }
 202          
 203          /***************************************************************************/
 204          // void int0_EEWrite(void)
 205          // {
 206          //   uint i,ttp;
 207          //   clrscr(); //清屏
 208          //    EPutstr(0,0,modalstring[ModalNumber&0x7f]);
 209          //    EEWrite((uchar)ModalNumber&0x7f,MODALNUMBERADDRESS);
 210          //    for(i=0;i<3;i++)
 211          //    {
 212          //      ttp=(ModalNumber&0x7f)*4+i;
 213          //      EEWrite((uchar)Para[i],PARAADDRESS+ttp);
 214          //     }
 215          // }
 216          
 217          
 218          
C51 COMPILER V6.02  24C01                                                                  11/26/2005 22:15:48 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
Ack. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     000CH  -----
Start. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
_DelayMs . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  number . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  j. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
uchar. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
Initeeprom . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
Stop . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ulong. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
EEdaly . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     000AH  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
uint . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
_Write8Bit . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  input. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
NoAck. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
led_buf. . . . . . . . . . . . . . . .  EXTERN   DATA   ARRAY    -----  2
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
Read8Bit . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
C51 COMPILER V6.02  24C01                                                                  11/26/2005 22:15:48 PAGE 6   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  rbyte. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
SDA. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
SCL. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
_EERead. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  RomAddress . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
  RamAddress . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
_EEWrite . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  Wdata. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
  RomAddress . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    282    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -