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

📄 timer.lst

📁 一个用于驱动TFT屏的驱动程序,使用IC:1828,program (无EEPROM 无IR,完整说明)IIC只写一个
💻 LST
字号:
C51 COMPILER V7.50   TIMER                                                                 09/29/2006 10:54:53 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN timer.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE timer.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          #include <intrins.h>
   2          #include <stdio.h>
   3          #include <reg51.h>
   4          
   5          void Time_counter();
   6          bit getOsdClearFlag();
   7          void clearTimer();
   8          void DelayXms(unsigned char count);
   9          
  10          //使用的数据定义
  11          unsigned int osd_timer    = 0;        // osd 计时器
  12          
  13          bit exit_flag     = 0;
  14          
  15          //OSD Timer interrupt Function
  16          void Time_counter() interrupt 1 using 1
  17          {
  18   1              osd_timer++;
  19   1              //if (topMenu_flag || volShow_flag) 
  20   1              //{
  21   1                      if ( osd_timer >= 15000)
  22   1                      {       
  23   2                              /*osd_timer=0;
  24   2                              topmenu_flag = 0;
  25   2                              sel_brit  = 0;
  26   2                              sel_cont  = 0;
  27   2                              sel_satr  = 0;
  28   2                              sel_hue   = 0;
  29   2                              sel_reset  = 0;
  30   2                              sel_save   = 0;
  31   2                              osdSwitch(0x00);*/
  32   2                              exit_flag = 1;
  33   2                      }
  34   1              //}
  35   1              TF0=0;
  36   1      }
  37          
  38          bit getOsdClearFlag()
  39          {
  40   1              return exit_flag;       
  41   1      
  42   1      }
  43          
  44          void clearTimer()
  45          {
  46   1              osd_timer      = 0;
  47   1              exit_flag      = 0;
  48   1      }
  49          
  50          
  51          //********************************************
  52          //函数:void DelayXms(unsigned char count)
  53          //作用:延时count ms 
  54          //remarks:
  55          //Crystal Frequency = 20 MHz
C51 COMPILER V7.50   TIMER                                                                 09/29/2006 10:54:53 PAGE 2   

  56          //Delay Time: count x 1ms
  57          //********************************************
  58          void DelayXms(unsigned char count)
  59          {
  60   1              unsigned char i,j;
  61   1              for (i = count;i > 0;i--)
  62   1                      for (j = 0xC8;j > 0;j--)        
  63   1                              _nop_();
  64   1      }
  65          
  66          
C51 COMPILER V7.50   TIMER                                                                 09/29/2006 10:54:53 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION Time_counter (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0D0              PUSH    PSW
                                           ; SOURCE LINE # 16
                                           ; SOURCE LINE # 18
0004 0500        R     INC     osd_timer+01H
0006 E500        R     MOV     A,osd_timer+01H
0008 7002              JNZ     ?C0012
000A 0500        R     INC     osd_timer
000C         ?C0012:
                                           ; SOURCE LINE # 21
000C C3                CLR     C
000D 9498              SUBB    A,#098H
000F E500        R     MOV     A,osd_timer
0011 943A              SUBB    A,#03AH
0013 4002              JC      ?C0001
                                           ; SOURCE LINE # 22
                                           ; SOURCE LINE # 32
0015 D200        R     SETB    exit_flag
                                           ; SOURCE LINE # 33
0017         ?C0001:
                                           ; SOURCE LINE # 35
0017 C28D              CLR     TF0
                                           ; SOURCE LINE # 36
0019 D0D0              POP     PSW
001B D0E0              POP     ACC
001D 32                RETI    
             ; FUNCTION Time_counter (END)

             ; FUNCTION getOsdClearFlag (BEGIN)
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 40
0000 A200        R     MOV     C,exit_flag
                                           ; SOURCE LINE # 42
0002         ?C0003:
0002 22                RET     
             ; FUNCTION getOsdClearFlag (END)

             ; FUNCTION clearTimer (BEGIN)
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
                                           ; SOURCE LINE # 46
0000 E4                CLR     A
0001 F500        R     MOV     osd_timer,A
0003 F500        R     MOV     osd_timer+01H,A
                                           ; SOURCE LINE # 47
0005 C200        R     CLR     exit_flag
                                           ; SOURCE LINE # 48
0007 22                RET     
             ; FUNCTION clearTimer (END)

             ; FUNCTION _DelayXms (BEGIN)
                                           ; SOURCE LINE # 58
;---- Variable 'count' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 59
                                           ; SOURCE LINE # 61
;---- Variable 'i' assigned to Register 'R7' ----
0000         ?C0005:
C51 COMPILER V7.50   TIMER                                                                 09/29/2006 10:54:53 PAGE 4   

0000 EF                MOV     A,R7
0001 D3                SETB    C
0002 9400              SUBB    A,#00H
0004 4008              JC      ?C0011
                                           ; SOURCE LINE # 62
;---- Variable 'j' assigned to Register 'R6' ----
0006 7EC8              MOV     R6,#0C8H
0008         ?C0008:
                                           ; SOURCE LINE # 63
0008 00                NOP     
0009 DEFD              DJNZ    R6,?C0008
000B         ?C0007:
000B 1F                DEC     R7
000C 80F2              SJMP    ?C0005
                                           ; SOURCE LINE # 64
000E         ?C0011:
000E 22                RET     
             ; FUNCTION _DelayXms (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     56    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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