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

📄 rtc.lst

📁 KIT RTC按键设置闹钟程序!
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.53,  rtc                                                                   02/08/06  16:25:35  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE rtc
OBJECT MODULE PLACED IN .\Obj\rtc.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe rtc.c THUMB BROWSE DEBUG PRINT(.\LST\RTC.LST) TABS(4) OBJECT(.\Obj\rtc.obj) 

stmt  level    source

    1          
    2          
    3          
    4          #include <LPC214X.H>                        /* LPC214x definitions */
    5          
    6          
    7          #include <code.h>
    8          
    9          
   10          /************MONTH************************************************
   11          
   12                           RTC初始化代码
   13          
   14          *************************************************************/
   15          void RTCInit(void)
   16          {
   17   1       //PREINT = Fpclk / 32768 - 1;      // 设置基准时钟分频器
   18   1       //PREFRAC = Fpclk - (Fpclk / 32768) * 32768;
   19   1      
   20   1       //  PREINT = Fpclk / 12980 - 1;        // 设置基准时钟分频器
   21   1        //PREFRAC = Fpclk - (Fpclk / 12980) * 12980;
   22   1                                                              
   23   1       CCR=0x00;
   24   1      
   25   1       YEAR=2006;
   26   1       MONTH=07;
   27   1       DOM=10;
   28   1       DOW=4;
   29   1       HOUR=17;
   30   1       MIN=18;
   31   1       SEC=56;
   32   1      
   33   1       CIIR=0X00;
   34   1       CCR=0X11;
   35   1      
   36   1       }
   37          
   38          /*******************************************************************************
   39           
   40                                 读取RTC时间函数
   41          
   42          ********************************************************************************/    
   43          
   44          void  ReadRTC(void)
   45          {
   46   1        uint  datas;
   47   1        uint  times;
   48   1        uint  bak;
   49   1      
   50   1      times=CTIME0;
   51   1      datas=CTIME1;
   52   1      
   53   1      bak=(times>>16)&0x1f;
   54   1      
   55   1      Draw_a(bak/10,0,0,8);                 //时
   56   1      Draw_a(bak%10,8,0,8); 
   57   1      
   58   1      Draw_a(10,16,0,8); 
   59   1      
ARM COMPILER V2.53,  rtc                                                                   02/08/06  16:25:35  PAGE 2   

   60   1      
   61   1      bak=(times>>8)&0x3f;
   62   1      
   63   1      Draw_a(bak/10,24,0,8);
   64   1      Draw_a(bak%10,32,0,8);                //分
   65   1      
   66   1      Draw_a(10,40,0,8); 
   67   1      
   68   1      
   69   1      bak=times&0x3f;
   70   1      
   71   1      Draw_a(bak/10,48,0,8);
   72   1      Draw_a(bak%10,56,0,8);               //秒
   73   1      
   74   1      
   75   1      bak=(datas>>16)&0xfff;
   76   1      
   77   1      Draw_a(bak/1000,32-8,1,8); 
   78   1      bak%=1000;
   79   1      Draw_a(bak/100,40-8,1,8);                 //年     
   80   1      bak%=100;
   81   1      Draw_a(bak/10,48-8,1,8); 
   82   1      Draw_a(bak%10,56-8,1,8); 
   83   1                                     
   84   1      Draw_a(11,64-8,1,8); 
   85   1      
   86   1      
   87   1      bak=(datas>>8)&0x0f;
   88   1      
   89   1      Draw_a(bak/10,72-8,1,8);                  //月
   90   1      Draw_a(bak%10,80-8,1,8);
   91   1      
   92   1      Draw_a(11,88-8,1,8); 
   93   1      
   94   1      
   95   1      bak=datas&0x1f;
   96   1      
   97   1      Draw_a(bak/10,96-8,1,8);
   98   1      Draw_a(bak%10,104-8,1,8);
   99   1      
  100   1      
  101   1      }
ARM COMPILER V2.53,  rtc                                                                   02/08/06  16:25:35  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (Draw_a?T)
 EXTERN CODE16 (?C?UDIV?T)



*** PUBLICS:
 PUBLIC         RTCInit?T
 PUBLIC         ReadRTC?T



*** CODE SEGMENT '?PR?RTCInit?T?rtc':
   23:  CCR=0x00;
 00000000  2200      MOV         R2,#0x0
 00000002  4800      LDR         R0,=0xE0024008
 00000004  7002      STRB        R2,[R0,#0x0]
   25:  YEAR=2006;
 00000006  4800      LDRH        R1,=0x7D6
 00000008  4800      LDR         R0,=0xE002403C
 0000000A  8001      STRH        R1,[R0,#0x0]
   26:  MONTH=07;
 0000000C  2107      MOV         R1,#0x7
 0000000E  4800      LDR         R0,=0xE0024038
 00000010  7001      STRB        R1,[R0,#0x0]
   27:  DOM=10;
 00000012  210A      MOV         R1,#0xA
 00000014  4800      LDR         R0,=0xE002402C
 00000016  7001      STRB        R1,[R0,#0x0]
   28:  DOW=4;
 00000018  2104      MOV         R1,#0x4
 0000001A  4800      LDR         R0,=0xE0024030
 0000001C  7001      STRB        R1,[R0,#0x0]
   29:  HOUR=17;
 0000001E  2111      MOV         R1,#0x11
 00000020  4800      LDR         R0,=0xE0024028
 00000022  7001      STRB        R1,[R0,#0x0]
   30:  MIN=18;
 00000024  2312      MOV         R3,#0x12
 00000026  4800      LDR         R0,=0xE0024024
 00000028  7003      STRB        R3,[R0,#0x0]
   31:  SEC=56;
 0000002A  2338      MOV         R3,#0x38
 0000002C  4800      LDR         R0,=0xE0024020
 0000002E  7003      STRB        R3,[R0,#0x0]
   33:  CIIR=0X00;
 00000030  4800      LDR         R0,=0xE002400C
 00000032  7002      STRB        R2,[R0,#0x0]
   34:  CCR=0X11;
 00000034  4800      LDR         R0,=0xE0024008
 00000036  7001      STRB        R1,[R0,#0x0]
   36:  }
 00000038  4770      BX          R14
 0000003A          ENDP ; 'RTCInit?T'


*** CODE SEGMENT '?PR?ReadRTC?T?rtc':
   44: void  ReadRTC(void)
 00000000  B570      PUSH        {R4-R6,LR}
   45: {
 00000002            ; SCOPE-START
   50: times=CTIME0;
 00000002  4800      LDR         R0,=0xE0024014
 00000004  6806      LDR         R6,[R0,#0x0]
 00000006  ---- Variable 'times' assigned to Register 'R6' ----
   51: datas=CTIME1;
 00000006  4800      LDR         R0,=0xE0024018
 00000008  6805      LDR         R5,[R0,#0x0]
 0000000A  ---- Variable 'datas' assigned to Register 'R5' ----
ARM COMPILER V2.53,  rtc                                                                   02/08/06  16:25:35  PAGE 4   

   53: bak=(times>>16)&0x1f;
 0000000A  1C34      MOV         R4,R6 ; times
 0000000C  0C24      LSR         R4,R4,#0x10 ; times
 0000000E  201F      MOV         R0,#0x1F
 00000010  4004      AND         R4,R0
 00000012  ---- Variable 'bak' assigned to Register 'R4' ----
   55: Draw_a(bak/10,0,0,8);                 //时
 00000012  1C20      MOV         R0,R4 ; bak
 00000014  210A      MOV         R1,#0xA
 00000016  F7FF      BL          ?C?UDIV?T  ; T=0x0001  (1) ; ?C?UDIV?T
 00000018  FFF3      BL          ?C?UDIV?T  ; T=0x0001  (2) ; ?C?UDIV?T
 0000001A  1C08      MOV         R0,R1
 0000001C  2200      MOV         R2,#0x0
 0000001E  1C11      MOV         R1,R2
 00000020  2308      MOV         R3,#0x8
 00000022  F7FF      BL          Draw_a?T  ; T=0x0001  (1)
 00000024  FFED      BL          Draw_a?T  ; T=0x0001  (2)
   56: Draw_a(bak%10,8,0,8); 
 00000026  1C20      MOV         R0,R4 ; bak
 00000028  210A      MOV         R1,#0xA
 0000002A  F7FF      BL          ?C?UDIV?T  ; T=0x0001  (1) ; ?C?UDIV?T
 0000002C  FFE9      BL          ?C?UDIV?T  ; T=0x0001  (2) ; ?C?UDIV?T
 0000002E  1C01      MOV         R1,R0
 00000030  2308      MOV         R3,#0x8
 00000032  1C19      MOV         R1,R3
 00000034  2200      MOV         R2,#0x0
 00000036  F7FF      BL          Draw_a?T  ; T=0x0001  (1)
 00000038  FFE3      BL          Draw_a?T  ; T=0x0001  (2)
   58: Draw_a(10,16,0,8); 
 0000003A  200A      MOV         R0,#0xA

⌨️ 快捷键说明

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