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

📄 timer.lst

📁 display port接受芯片ANX9813的驱动代码。MCU使用LPC936FDH,内部包含AN9813寄存器设置
💻 LST
字号:
C51 COMPILER V7.50   TIMER                                                                 10/03/2008 17:53:18 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN ..\hex\timer.obj
COMPILER INVOKED BY: D:\Program Files\KEIL_UV3\C51\BIN\C51.EXE timer.c LARGE OPTIMIZE(SIZE) BROWSE DEBUG OBJECTEXTEND CO
                    -DE OBJECT(..\hex\timer.obj)

line level    source

   1          //  *******************************************
   2          
   3          //  *******************************************
   4          
   5          #include "timer.h"
   6          #include "mcu.h"
   7          
   8          unsigned char th0_def;
   9          unsigned int timer_tick;
  10          xdata char timer_done;
  11          xdata unsigned char hh, mm, ss;
  12          
  13          void init_timer(unsigned char intval)
  14          {
  15   1              stop_timer();
  16   1              th0_def = intval;
  17   1              TH0 = intval;
  18   1              TL0 = 0x00;
  19   1              TMOD = TMOD & 0xf0 | 0x01;
  20   1              ET0 = 1;
  21   1              timer_done = 0;
  22   1              
  23   1              timer_tick = 0;
  24   1              hh = 0;
  25   1              mm = 0;
  26   1              ss = 0;
  27   1      }
  28          
  29          void timer_isr(void)
  30          {
  31   1          timer_tick++;
  32   1              stop_timer();
  33   1              TH0 = th0_def;
  34   1              TL0 = 0x00;
  35   1              start_timer();
  36   1              if (!timer_done) {
  37   2                      timer_done = 1;
  38   2              }
  39   1          if (timer_tick % 125 == 0) {
  40   2              if (timer_tick >= (125*524))
  41   2                  timer_tick = 0;
  42   2              ss++;
  43   2              if (ss > 59) {
  44   3                  ss = 0;
  45   3                  mm++;
  46   3                  if(mm > 59) {
  47   4                      mm = 0;
  48   4                      hh++;
  49   4                  }
  50   3              }
  51   2          }
  52   1      }
  53          
  54          void delay_ms(int n)
C51 COMPILER V7.50   TIMER                                                                 10/03/2008 17:53:18 PAGE 2   

  55          {
  56   1              int i, j;
  57   1              
  58   1              for (i=0; i<n; i++) {
  59   2                      for (j=0; j<DELAY_FACTOR; j++)
  60   2                              ;
  61   2              }
  62   1      }
  63          
C51 COMPILER V7.50   TIMER                                                                 10/03/2008 17:53:18 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _init_timer (BEGIN)
                                           ; SOURCE LINE # 13
;---- Variable 'intval' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
0000 C28C              CLR     TR0
                                           ; SOURCE LINE # 16
0002 900000      R     MOV     DPTR,#th0_def
0005 EF                MOV     A,R7
0006 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 17
0007 F58C              MOV     TH0,A
                                           ; SOURCE LINE # 18
0009 E4                CLR     A
000A F58A              MOV     TL0,A
                                           ; SOURCE LINE # 19
000C E589              MOV     A,TMOD
000E 54F0              ANL     A,#0F0H
0010 4401              ORL     A,#01H
0012 F589              MOV     TMOD,A
                                           ; SOURCE LINE # 20
0014 D2A9              SETB    ET0
                                           ; SOURCE LINE # 21
0016 E4                CLR     A
0017 A3                INC     DPTR
0018 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 23
0019 A3                INC     DPTR
001A F0                MOVX    @DPTR,A
001B A3                INC     DPTR
001C F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 24
001D A3                INC     DPTR
001E F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 25
001F A3                INC     DPTR
0020 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 26
0021 A3                INC     DPTR
0022 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 27
0023 22                RET     
             ; FUNCTION _init_timer (END)

             ; FUNCTION timer_isr (BEGIN)
                                           ; SOURCE LINE # 29
                                           ; SOURCE LINE # 30
                                           ; SOURCE LINE # 31
0000 900000      R     MOV     DPTR,#timer_tick
0003 E4                CLR     A
0004 75F001            MOV     B,#01H
0007 120000      E     LCALL   ?C?IILDX
                                           ; SOURCE LINE # 32
000A C28C              CLR     TR0
                                           ; SOURCE LINE # 33
000C 900000      R     MOV     DPTR,#th0_def
000F E0                MOVX    A,@DPTR
0010 F58C              MOV     TH0,A
                                           ; SOURCE LINE # 34
C51 COMPILER V7.50   TIMER                                                                 10/03/2008 17:53:18 PAGE 4   

0012 E4                CLR     A
0013 F58A              MOV     TL0,A
                                           ; SOURCE LINE # 35
0015 D28C              SETB    TR0
                                           ; SOURCE LINE # 36
0017 A3                INC     DPTR
0018 E0                MOVX    A,@DPTR
0019 7002              JNZ     ?C0011
                                           ; SOURCE LINE # 37
001B 04                INC     A
001C F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 38
001D         ?C0011:
                                           ; SOURCE LINE # 39
001D 900000      R     MOV     DPTR,#timer_tick
0020 E0                MOVX    A,@DPTR
0021 FA                MOV     R2,A
0022 A3                INC     DPTR
0023 E0                MOVX    A,@DPTR
0024 FB                MOV     R3,A
0025 7C00              MOV     R4,#00H
0027 7D7D              MOV     R5,#07DH
0029 FF                MOV     R7,A
002A AE02              MOV     R6,AR2
002C 120000      E     LCALL   ?C?UIDIV
002F ED                MOV     A,R5
0030 4C                ORL     A,R4
0031 7032              JNZ     ?C0016
                                           ; SOURCE LINE # 40
0033 C3                CLR     C
0034 EB                MOV     A,R3
0035 94DC              SUBB    A,#0DCH
0037 EA                MOV     A,R2
0038 94FF              SUBB    A,#0FFH
003A 4007              JC      ?C0013
                                           ; SOURCE LINE # 41
003C E4                CLR     A
003D 900000      R     MOV     DPTR,#timer_tick
0040 F0                MOVX    @DPTR,A
0041 A3                INC     DPTR
0042 F0                MOVX    @DPTR,A
0043         ?C0013:
                                           ; SOURCE LINE # 42
0043 900000      R     MOV     DPTR,#ss
0046 E0                MOVX    A,@DPTR
0047 04                INC     A
0048 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 43
0049 E0                MOVX    A,@DPTR
004A D3                SETB    C
004B 943B              SUBB    A,#03BH
004D 4016              JC      ?C0016
                                           ; SOURCE LINE # 44
004F E4                CLR     A
0050 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 45
0051 900000      R     MOV     DPTR,#mm
0054 E0                MOVX    A,@DPTR
0055 04                INC     A
0056 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 46
0057 E0                MOVX    A,@DPTR
C51 COMPILER V7.50   TIMER                                                                 10/03/2008 17:53:18 PAGE 5   

0058 D3                SETB    C
0059 943B              SUBB    A,#03BH
005B 4008              JC      ?C0016
                                           ; SOURCE LINE # 47
005D E4                CLR     A
005E F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 48
005F 900000      R     MOV     DPTR,#hh
0062 E0                MOVX    A,@DPTR
0063 04                INC     A
0064 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
                                           ; SOURCE LINE # 51
                                           ; SOURCE LINE # 52
0065         ?C0016:
0065 22                RET     
             ; FUNCTION timer_isr (END)

             ; FUNCTION _delay_ms (BEGIN)
                                           ; SOURCE LINE # 54
;---- Variable 'n' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 55
                                           ; SOURCE LINE # 58
;---- Variable 'i' assigned to Register 'R4/R5' ----
0000 E4                CLR     A
0001 FD                MOV     R5,A
0002 FC                MOV     R4,A
0003         ?C0017:
0003 C3                CLR     C
0004 ED                MOV     A,R5
0005 9F                SUBB    A,R7
0006 EE                MOV     A,R6
0007 6480              XRL     A,#080H
0009 F8                MOV     R0,A
000A EC                MOV     A,R4
000B 6480              XRL     A,#080H
000D 98                SUBB    A,R0
000E 5015              JNC     ?C0023
                                           ; SOURCE LINE # 59
;---- Variable 'j' assigned to Register 'R2/R3' ----
0010 E4                CLR     A
0011 FB                MOV     R3,A
0012 FA                MOV     R2,A
0013         ?C0020:
0013 0B                INC     R3
0014 BB0001            CJNE    R3,#00H,?C0024
0017 0A                INC     R2
0018         ?C0024:
0018 EB                MOV     A,R3
0019 64DE              XRL     A,#0DEH
001B 4A                ORL     A,R2
001C 70F5              JNZ     ?C0020
                                           ; SOURCE LINE # 61
001E         ?C0019:
001E 0D                INC     R5
001F BD0001            CJNE    R5,#00H,?C0025
0022 0C                INC     R4
0023         ?C0025:
0023 80DE              SJMP    ?C0017
                                           ; SOURCE LINE # 62
0025         ?C0023:
C51 COMPILER V7.50   TIMER                                                                 10/03/2008 17:53:18 PAGE 6   

0025 22                RET     
             ; FUNCTION _delay_ms (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    176    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      7    ----
   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 + -