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

📄 main.lst

📁 手把手教你单片机
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  02/08/2011 09:22:39 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\main.c BROWSE INCDIR(include/) DEBUG OBJECTEXTEND PRINT(.\main.lst) 
                    -OBJECT(main.obj)

line level    source

   1          /*
   2           * check power up times
   3           * 
   4           * author:金沙滩--刚哥
   5           * date:2011.1.9
   6          */
   7          
   8          #include "main.h"
   9          #include "e2prom.h"
  10          
  11          
  12          code uint8 Ledcode[13]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  13          uint8 Led_n=0;
  14          uint8 Led_buf[6];
  15          
  16          POWER_UP Power_up;
  17          
  18          void delay(uint16 cnt)
  19          {
  20   1          while (cnt--);
  21   1      }
  22          
  23          /*
  24           * 定时器0初始化
  25          */
  26          void timer0_init(void)
  27          {
  28   1          TMOD = 0x01;
  29   1          TH0 = 0xF8;       
  30   1          TL0 = 0xCC;
  31   1          TR0 = 1; 
  32   1              ET0 = 0;
  33   1              EA = 1;
  34   1      }
  35          
  36          /*
  37           * 数码管初始化
  38          */
  39          void nixietube_init(void)
  40          {
  41   1              ADDR3 = 1;
  42   1              ENLED = 0;
  43   1      }
  44          
  45          /*
  46           * 制作数码管显示数据
  47          */
  48          void make_led_number(uint32 num)
  49          {
  50   1              ET0 = 0;
  51   1              Led_buf[5] = Ledcode[num/100000%10];
  52   1              Led_buf[4] = Ledcode[num/10000%10];
  53   1              Led_buf[3] = Ledcode[num/1000%10];
  54   1              Led_buf[2] = Ledcode[num/100%10];
C51 COMPILER V8.02   MAIN                                                                  02/08/2011 09:22:39 PAGE 2   

  55   1              Led_buf[1] = Ledcode[num/10%10];
  56   1              Led_buf[0] = Ledcode[num%10];
  57   1              ET0 = 1;
  58   1      }
  59          
  60          /*
  61           * 数码管显示
  62          */
  63          void show_num(uint8 *buf)
  64          {
  65   1              ENLED = 1;
  66   1              switch (Led_n)
  67   1              {
  68   2                      case 0: 
  69   2                              ADDR0 = 0;
  70   2                              ADDR1 = 0;
  71   2                              ADDR2 = 0;
  72   2                              P0 = buf[0];
  73   2                              break;
  74   2                      case 1: 
  75   2                              ADDR0 = 1;
  76   2                              ADDR1 = 0;
  77   2                              ADDR2 = 0;
  78   2                              P0 = buf[1];
  79   2                              break;
  80   2                      case 2: 
  81   2                              ADDR0 = 0;
  82   2                              ADDR1 = 1;
  83   2                              ADDR2 = 0;
  84   2                              P0 = buf[2];
  85   2                              break;
  86   2                      case 3: 
  87   2                              ADDR0 = 1;
  88   2                              ADDR1 = 1;
  89   2                              ADDR2 = 0;
  90   2                              P0 = buf[3];
  91   2                              break;
  92   2                      case 4: 
  93   2                              ADDR0 = 0;
  94   2                              ADDR1 = 0;
  95   2                              ADDR2 = 1;
  96   2                              P0 = buf[4];
  97   2                              break;
  98   2                      case 5: 
  99   2                              ADDR0 = 1;
 100   2                              ADDR1 = 0;
 101   2                              ADDR2 = 1;
 102   2                              P0 = buf[5];
 103   2                              break;
 104   2              }
 105   1              ENLED = 0;
 106   1      
 107   1              if (Led_n >= 5)
 108   1                      Led_n = 0;
 109   1              else
 110   1                      Led_n++;
 111   1      }
 112          
 113          
 114          main()
 115          {
 116   1              nixietube_init();
C51 COMPILER V8.02   MAIN                                                                  02/08/2011 09:22:39 PAGE 3   

 117   1              timer0_init();
 118   1              
 119   1              i2c_read_buf((uint8 *)&Power_up, E2P_RECORD_ADDR, sizeof(POWER_UP));
 120   1              if (Power_up.flag != POWER_UP_MARK)
 121   1              {
 122   2                      Power_up.flag = POWER_UP_MARK;
 123   2                      Power_up.times = 1;
 124   2              }
 125   1              else
 126   1              {
 127   2                      Power_up.times++;
 128   2              }
 129   1              i2c_write_buf((uint8 *)&Power_up, E2P_RECORD_ADDR, sizeof(POWER_UP));
 130   1      
 131   1              make_led_number(Power_up.times);
 132   1      
 133   1              while (1);
 134   1      }
 135          
 136          
 137          void time0() interrupt 1
 138          {
 139   1              TR0 = 0;
 140   1              TH0 = 0xF8;
 141   1              TL0 = 0xCC;
 142   1      
 143   1              show_num(Led_buf);
 144   1      
 145   1              TR0 = 1;
 146   1      }
 147          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    526    ----
   CONSTANT SIZE    =     13    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12       4
   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 + -