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

📄 main.lst

📁 从零开始学51单片机源代码
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  04/17/2012 17:00:10 PAGE 1   


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

line level    source

   1          //main.c
   2          #include <reg51.h>      //包含头文件    
   3          #include "fun.h"   
   4          
   5          void INT0_interrupt() interrupt 0
   6          {
   7   1              TR0=0;//关定时器 
   8   1              ET0 = 0;//关定时器中断 
   9   1              IAP_erase  (0x20, 0x00); //擦除扇区 
  10   1              IAP_write  (0x20, 0, count_in_T0);//写计数值 
  11   1              IAP_write  (0x20, 1, display_num);//写显示值 
  12   1      }
  13          
  14          void Timer0_interrupt() interrupt 1
  15          {
  16   1              TH0 = T0_50ms >> 8;        //重装初值 
  17   1              TL0 = T0_50ms;
  18   1      
  19   1              if ((++ count_in_T0) == 20)//count_in_T0自加到20,计时1s
  20   1              {
  21   2                      count_in_T0 = 0;
  22   2                      if ( (++ display_num) ==60)
  23   2                      {//display_num自加1后判断是否等于60
  24   3                              display_num = 0;
  25   3                      }
  26   2              }
  27   1      }
  28          
  29          main()
  30          {
  31   1              unsigned char shi, ge;  //定义十位、个位要输出的数据 
  32   1      
  33   1              ms_delay(100);
  34   1              init_port();
  35   1              init_timer();
  36   1      
  37   1              //读上次断电时的参数 
  38   1              count_in_T0 = IAP_read (0x20, 0);
  39   1              display_num = IAP_read (0x20, 0);
  40   1      
  41   1              //如果读出来的参数异常,数据清零 
  42   1              //EEPROM存储区的初始值是0xff,也在异常数据范围内 
  43   1              if (count_in_T0 >20 || display_num > 60)
  44   1              {
  45   2                      count_in_T0 = 0;
  46   2                      display_num = 0;
  47   2              }
  48   1      
  49   1              //把两个数码管都关闭 
  50   1              en2 = 1;
  51   1              en1 = 1;
  52   1      
  53   1              IT0 = 1;//设置INT0为下降沿触发
  54   1          EX0 = 1;//允许INT0中断
  55   1              EA = 1;//开总中断 
C51 COMPILER V8.08   MAIN                                                                  04/17/2012 17:00:10 PAGE 2   

  56   1      
  57   1              while(1)
  58   1              {
  59   2                      shi =  display_num / 10;
  60   2                      ge = display_num % 10;
  61   2                      display(shi,ge);        
  62   2              }
  63   1      }


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