00-99jsq.lst

来自「RZ-51V20 实例程序」· LST 代码 · 共 117 行

LST
117
字号
C51 COMPILER V8.18   00_99JSQ                                                              01/06/2010 20:13:37 PAGE 1   


C51 COMPILER V8.18, COMPILATION OF MODULE 00_99JSQ
OBJECT MODULE PLACED IN 00-99jsq.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 00-99jsq.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          
   3          typedef   unsigned char  uchar; 
   4          typedef   unsigned int   uint;
   5          
   6          uchar  Count,Sec,shift,n;
   7          
   8          uchar code  LEDData[ ] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,
   9                                    0x82,0xF8,0x80,0x90,0xff};
  10          uchar data  display[2];
  11          /********************************************************
  12          
  13          主函数
  14          
  15          *********************************************************/
  16          main()
  17          {
  18   1         P0 = 0xff;            //端口初始化
  19   1         P2 = 0xff;
  20   1         Count = 0x00;
  21   1         Sec = 0x00;
  22   1         n = 0x00;
  23   1         shift = 0xfe;         //送位码初值
  24   1      
  25   1         TMOD = 0x01; 
  26   1         TH0 = 0x4c;           //50ms定时 
  27   1         TL0 = 0x00;
  28   1         ET0 = 1; 
  29   1         
  30   1         T2CON = 0x00;         //设置T2CON寄存器
  31   1         TH2 = 0xf8;           //2ms定时
  32   1         TL2 = 0xcc;
  33   1         ET2 = 1;              //启用Timer2中断
  34   1         EA = 1;               //总中断允许
  35   1         TR2 = 1;              //启动定时器2
  36   1         TR0 = 1;              //启动定时器0
  37   1      
  38   1         while(1) ; 
  39   1      
  40   1      }
  41          
  42          /*********************************************************
  43          
  44            Timer0中断函数 (负责定时)
  45          
  46          **********************************************************/
  47          void Timer0() interrupt 1 
  48          {
  49   1         TH0 = 0x4c;               //50ms定时
  50   1         TL0 = 0x00;
  51   1         ++Count;                  //中断计数单元加1
  52   1         if(Count == 20)           //50ms×20=1s
  53   1         {
  54   2           Count = 0;              //清中断计数单元
  55   2           ++Sec;                  //秒单元加1
C51 COMPILER V8.18   00_99JSQ                                                              01/06/2010 20:13:37 PAGE 2   

  56   2           if(Sec == 100)
  57   2           Sec = 0;                //清秒单元
  58   2         }
  59   1      }
  60          
  61          /*********************************************************
  62          
  63            Timer2中断函数 (负责数码管显示)
  64          
  65          **********************************************************/
  66          void  timer2() interrupt 5 
  67          { 
  68   1         TR2 = 0;
  69   1         TF2 = 0;                      //手工清中断标志  
  70   1         TH2 = 0xf8;                   //2ms定时常数
  71   1         TL2 = 0xcc;
  72   1      
  73   1         if(n >= 2)                    //两位数码管显示
  74   1         {
  75   2           n = 0;
  76   2           shift = 0x7f;               //送位码初值
  77   2           P2 = 0xff;                  //关闭显示
  78   2         }
  79   1         else
  80   1         {
  81   2           display[0] = Sec%10;          //个位
  82   2           display[1] = Sec/10;          //十位
  83   2      
  84   2           P0 = LEDData[display[n++]];   //送段码
  85   2           P2 = shift;                   //送位码
  86   2           shift = (shift>>1)|0x80;      //调整位码
  87   2         }
  88   1         TR2 = 1;
  89   1      }
  90          
  91          /**********************************************************/


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


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

⌨️ 快捷键说明

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