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

📄 main.lst

📁 I2c实现对AT24C16写入1至8的ASCII码
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  10/05/2007 20:01:56 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          #include "reg52.h"
   3          #include "i2c.h"
   4          
   5          typedef unsigned char BYTE;
   6          typedef unsigned int  WORD;
   7          
   8          sbit SMG_EN1=P1^3;
   9          sbit SMG_EN2=P1^2;
  10          sbit SMG_EN3=P1^1;
  11          sbit SMG_EN4=P1^0;
  12          #define SMG_DATA    P0
  13          // 字形表, 为0亮
  14          //          a_
  15          //         f|_|b
  16          //         e|_|c .p
  17          //           d
  18          //        00001101
  19          //                                 0    1    2    3    4    5    6    7    8    9    A    B    C    D    E
             -    F
  20          unsigned char code SMG_TABLE[16]={0x3f,0xf9,0xc4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x
             -86,0x8e};
  21          /*          Function                */
  22          void Delay_10us(WORD n);
  23          void SMG_Display(BYTE SMGNum, BYTE tdata);
  24          
  25          void main(void)
  26          {
  27   1              BYTE rdata;
  28   1      
  29   1              rdata=0;
  30   1      
  31   1              I2C_WriteEEPROM_OneByte(0xA0,0,1);  //1
  32   1              I2C_WriteEEPROM_OneByte(0xA0,1,3);  //  3
  33   1              I2C_WriteEEPROM_OneByte(0xA0,2,5);  // 5
  34   1              I2C_WriteEEPROM_OneByte(0xA0,3,7);  // 7
  35   1      
  36   1              while(1)
  37   1              {
  38   2                      rdata=I2C_ReadEEPROM_OneByte(0xA0,0);
  39   2                      SMG_Display(1,rdata);
  40   2                      rdata=I2C_ReadEEPROM_OneByte(0xA0,1);
  41   2                      SMG_Display(2,rdata);
  42   2                      rdata=I2C_ReadEEPROM_OneByte(0xA0,2);
  43   2                      SMG_Display(3,rdata);
  44   2                      rdata=I2C_ReadEEPROM_OneByte(0xA0,3);
  45   2                      SMG_Display(4,rdata);
  46   2              }
  47   1      
  48   1      }
  49          
  50          // write the tdata to the SMGNum
  51          void SMG_Display(BYTE SMGNum, BYTE tdata)
  52          {
  53   1              switch(SMGNum)
C51 COMPILER V7.06   MAIN                                                                  10/05/2007 20:01:56 PAGE 2   

  54   1              {
  55   2                      case 1:SMG_EN1=0;break;
  56   2                      case 2:SMG_EN2=0;break;
  57   2                      case 3:SMG_EN3=0;break;
  58   2                      case 4:SMG_EN4=0;break;
  59   2                      default:break;
  60   2              }
  61   1              SMG_DATA=SMG_TABLE[tdata];
  62   1              Delay_10us(100);
  63   1              SMG_EN1=1;SMG_EN2=1;SMG_EN3=1;SMG_EN4=1;
  64   1      }
  65          
  66          // delay_ms(WORD n), default use 12M XTAL,others should be modifed.
  67          void Delay_10us(WORD n)
  68          {
  69   1              BYTE i=0;
  70   1              for(;n>0;n--)
  71   1                      for(i=0;i<10;i++);
  72   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    179    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   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 + -