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

📄 rtc.lst

📁 恩志朴lpc214x FOR keil的例程包括很多资源的应用例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
 0000001C  E321F01F  MSR         CPSR_c,#0x1F
 00000020  E92D4000  STMFD       R13!,{LR}
   34:     alarm_on = 1;
 00000024  E3A01001  MOV         R1,#0x1
 00000028  E5100000  LDR         R0,=alarm_on ; alarm_on
 0000002C  E5801000  STR         R1,[R0,#0x0] ; alarm_on
   36:     IDISABLE;
 00000030  E8BD4000  LDMFD       R13!,{LR}
 00000034  E321F092  MSR         CPSR_c,#0x92
 00000038  E8BD4000  LDMFD       R13!,{LR}
 0000003C  E16FF00E  MSR         SPSR_cxsf,R14
   37:     VICVectAddr = 0;        /* Acknowledge Interrupt */
 00000040  E3A01000  MOV         R1,#0x0
 00000044  E5100000  LDR         R0,=0xFFFFF030
 00000048  E5801000  STR         R1,[R0,#0x0]
   38: }
 0000004C  E8BD4003  LDMIA       R13!,{R0-R1,LR}
 00000050  E25EF004  SUBS        R15,R14,#0x0004
 00000054          ENDP ; 'RTCHandler?A'


*** CODE SEGMENT '?PR?RTCInit?T?rtc':
   51:     alarm_on = 0;
 00000000  2100      MOV         R1,#0x0
 00000002  4800      LDR         R0,=alarm_on ; alarm_on
 00000004  6001      STR         R1,[R0,#0x0] ; alarm_on
   54:     AMR = 0;
 00000006  4800      LDR         R0,=0xE0024010
 00000008  6001      STR         R1,[R0,#0x0]
   55:     CIIR = 0;
 0000000A  4800      LDR         R0,=0xE002400C
 0000000C  6001      STR         R1,[R0,#0x0]
   56:     CCR = 0;
 0000000E  4800      LDR         R0,=0xE0024008
 00000010  6001      STR         R1,[R0,#0x0]
   57:     PREINT = PREINT_RTC;
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 6   

 00000012  4972      LDR         R1,=0x1C8
 00000014  4800      LDR         R0,=0xE0024080
 00000016  6001      STR         R1,[R0,#0x0]
   58:     PREFRAC = PREFRAC_RTC;
 00000018  4800      LDR         R1,=0x61C0
 0000001A  4800      LDR         R0,=0xE0024084
 0000001C  6001      STR         R1,[R0,#0x0]
   60: }
 0000001E  4770      BX          R14
 00000020          ENDP ; 'RTCInit?T'


*** CODE SEGMENT '?PR?RTCStart?T?rtc':
   74:     CCR |= CCR_CLKEN;
 00000000  2101      MOV         R1,#0x1
 00000002  4800      LDR         R0,=0xE0024008
 00000004  6802      LDR         R2,[R0,#0x0]
 00000006  430A      ORR         R2,R1
 00000008  6002      STR         R2,[R0,#0x0]
   75:     ILR = ILR_RTCCIF;
 0000000A  4800      LDR         R0,=0xE0024000
 0000000C  6001      STR         R1,[R0,#0x0]
   77: }
 0000000E  4770      BX          R14
 00000010          ENDP ; 'RTCStart?T'


*** CODE SEGMENT '?PR?RTCStop?T?rtc':
   91:     CCR &= ~CCR_CLKEN;
 00000000  2201      MOV         R2,#0x1
 00000002  4800      LDR         R0,=0xE0024008
 00000004  6801      LDR         R1,[R0,#0x0]
 00000006  4391      BIC         R1,R2
 00000008  6001      STR         R1,[R0,#0x0]
   93: } 
 0000000A  4770      BX          R14
 0000000C          ENDP ; 'RTCStop?T'


*** CODE SEGMENT '?PR?RTC_CTCReset?T?rtc':
  107:     CCR |= CCR_CTCRST;
 00000000  2202      MOV         R2,#0x2
 00000002  4800      LDR         R0,=0xE0024008
 00000004  6801      LDR         R1,[R0,#0x0]
 00000006  4311      ORR         R1,R2
 00000008  6001      STR         R1,[R0,#0x0]
  109: }
 0000000A  4770      BX          R14
 0000000C          ENDP ; 'RTC_CTCReset?T'


*** CODE SEGMENT '?PR?RTCSetTime?T?rtc':
  122:     SEC = Time.RTC_Sec;
 00000000  9900      LDR         R1,[R13,#0x0] ; Time
 00000002  4800      LDR         R0,=0xE0024020
 00000004  6001      STR         R1,[R0,#0x0]
  123:     MIN = Time.RTC_Min;
 00000006  9901      LDR         R1,[R13,#0x4] ; Time
 00000008  4800      LDR         R0,=0xE0024024
 0000000A  6001      STR         R1,[R0,#0x0]
  124:     HOUR = Time.RTC_Hour;
 0000000C  9902      LDR         R1,[R13,#0x8] ; Time
 0000000E  4800      LDR         R0,=0xE0024028
 00000010  6001      STR         R1,[R0,#0x0]
  125:     DOM = Time.RTC_Mday;
 00000012  9903      LDR         R1,[R13,#0xC] ; Time
 00000014  4800      LDR         R0,=0xE002402C
 00000016  6001      STR         R1,[R0,#0x0]
  126:     DOW = Time.RTC_Wday;
 00000018  9906      LDR         R1,[R13,#0x18] ; Time
 0000001A  4800      LDR         R0,=0xE0024030
 0000001C  6001      STR         R1,[R0,#0x0]
  127:     DOY = Time.RTC_Yday;
 0000001E  9907      LDR         R1,[R13,#0x1C] ; Time
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 7   

 00000020  4800      LDR         R0,=0xE0024034
 00000022  6001      STR         R1,[R0,#0x0]
  128:     MONTH = Time.RTC_Mon;
 00000024  9904      LDR         R1,[R13,#0x10] ; Time
 00000026  4800      LDR         R0,=0xE0024038
 00000028  6001      STR         R1,[R0,#0x0]
  129:     YEAR = Time.RTC_Year;    
 0000002A  9905      LDR         R1,[R13,#0x14] ; Time
 0000002C  4800      LDR         R0,=0xE002403C
 0000002E  6001      STR         R1,[R0,#0x0]
  131: }
 00000030  4770      BX          R14
 00000032          ENDP ; 'RTCSetTime?T'


*** CODE SEGMENT '?PR?RTCSetAlarm?T?rtc':
  144:     ALSEC = Alarm.RTC_Sec;
 00000000  9900      LDR         R1,[R13,#0x0] ; Alarm
 00000002  4800      LDR         R0,=0xE0024060
 00000004  6001      STR         R1,[R0,#0x0]
  145:     ALMIN = Alarm.RTC_Min;
 00000006  9901      LDR         R1,[R13,#0x4] ; Alarm
 00000008  4800      LDR         R0,=0xE0024064
 0000000A  6001      STR         R1,[R0,#0x0]
  146:     ALHOUR = Alarm.RTC_Hour;
 0000000C  9902      LDR         R1,[R13,#0x8] ; Alarm
 0000000E  4800      LDR         R0,=0xE0024068
 00000010  6001      STR         R1,[R0,#0x0]
  147:     ALDOM = Alarm.RTC_Mday;
 00000012  9903      LDR         R1,[R13,#0xC] ; Alarm
 00000014  4800      LDR         R0,=0xE002406C
 00000016  6001      STR         R1,[R0,#0x0]
  148:     ALDOW = Alarm.RTC_Wday;
 00000018  9906      LDR         R1,[R13,#0x18] ; Alarm
 0000001A  4800      LDR         R0,=0xE0024070
 0000001C  6001      STR         R1,[R0,#0x0]
  149:     ALDOY = Alarm.RTC_Yday;
 0000001E  9907      LDR         R1,[R13,#0x1C] ; Alarm
 00000020  4800      LDR         R0,=0xE0024074
 00000022  6001      STR         R1,[R0,#0x0]
  150:     ALMON = Alarm.RTC_Mon;
 00000024  9904      LDR         R1,[R13,#0x10] ; Alarm
 00000026  4800      LDR         R0,=0xE0024078
 00000028  6001      STR         R1,[R0,#0x0]
  151:     ALYEAR = Alarm.RTC_Year;    
 0000002A  9905      LDR         R1,[R13,#0x14] ; Alarm
 0000002C  4800      LDR         R0,=0xE002407C
 0000002E  6001      STR         R1,[R0,#0x0]
  153: }
 00000030  4770      BX          R14
 00000032          ENDP ; 'RTCSetAlarm?T'


*** CODE SEGMENT '?PR?RTCGetTime?T?rtc':
  164: RTCTime RTCGetTime( void ) 
 00000000  B410      PUSH        {R4}
 00000002  1C04      MOV         R4,R0 ; ?STR_RET?
 00000004  ---- Variable '?STR_RET?' assigned to Register 'R4' ----
 00000004  B088      SUB         R13,#0x20
  165: {
 00000006            ; SCOPE-START
  168:     LocalTime.RTC_Sec = SEC;
 00000006  4800      LDR         R0,=0xE0024020
 00000008  6800      LDR         R0,[R0,#0x0]
 0000000A  9000      STR         R0,[R13,#0x0] ; LocalTime
  169:     LocalTime.RTC_Min = MIN;
 0000000C  4800      LDR         R0,=0xE0024024
 0000000E  6800      LDR         R0,[R0,#0x0]
 00000010  9001      STR         R0,[R13,#0x4] ; LocalTime
  170:     LocalTime.RTC_Hour = HOUR;
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 8   

 00000012  4800      LDR         R0,=0xE0024028
 00000014  6800      LDR         R0,[R0,#0x0]
 00000016  9002      STR         R0,[R13,#0x8] ; LocalTime
  171:     LocalTime.RTC_Mday = DOM;
 00000018  4800      LDR         R0,=0xE002402C
 0000001A  6800      LDR         R0,[R0,#0x0]
 0000001C  9003      STR         R0,[R13,#0xC] ; LocalTime
  172:     LocalTime.RTC_Wday = DOW;
 0000001E  4800      LDR         R0,=0xE0024030
 00000020  6800      LDR         R0,[R0,#0x0]
 00000022  9006      STR         R0,[R13,#0x18] ; LocalTime
  173:     LocalTime.RTC_Yday = DOY;
 00000024  4800      LDR         R0,=0xE0024034
 00000026  6800      LDR         R0,[R0,#0x0]
 00000028  9007      STR         R0,[R13,#0x1C] ; LocalTime
  174:     LocalTime.RTC_Mon = MONTH;
 0000002A  4800      LDR         R0,=0xE0024038
 0000002C  6800      LDR         R0,[R0,#0x0]
 0000002E  9004      STR         R0,[R13,#0x10] ; LocalTime
  175:     LocalTime.RTC_Year = YEAR;
 00000030  4800      LDR         R0,=0xE002403C
 00000032  6800      LDR         R0,[R0,#0x0]
 00000034  9005      STR         R0,[R13,#0x14] ; LocalTime
  176:     return LocalTime;    
 00000036  A900      ADD         R1,R13,#0x0
 00000038  1C20      MOV         R0,R4 ; ?STR_RET?
 0000003A  1C00      MOV         R0,R0 ; ?STR_RET?
 0000003C  D004      BEQ         L_11  ; T=0x00000048
 0000003E  2208      MOV         R2,#0x8
 00000040          L_12:
 00000040  C908      LDMIA       R1!,{R3}
 00000042  C008      STMIA       R0!,{R3}
 00000044  1E52      SUB         R2,R2,#0x1
 00000046  D1FB      BNE         L_12  ; T=0x00000040
 00000048          L_11:
 00000048            ; SCOPE-END
  177: }
 00000048  B008      ADD         R13,#0x20
 0000004A  BC10      POP         {R4}
 0000004C  4770      BX          R14
 0000004E          ENDP ; 'RTCGetTime?T'


*** CODE SEGMENT '?PR?RTCSetAlarmMask?T?rtc':
  188: void RTCSetAlarmMask( DWORD AlarmMask ) 
 00000000  1C02      MOV         R2,R0 ; AlarmMask
 00000002  ---- Variable 'AlarmMask' assigned to Register 'R2' ----
  191:     AMR = AlarmMask;
 00000002  1C11      MOV         R1,R2 ; AlarmMask
 00000004  4800      LDR         R0,=0xE0024010
 00000006  6001      STR         R1,[R0,#0x0]
  193: }
 00000008  4770      BX          R14
 0000000A          ENDP ; 'RTCSetAlarmMask?T'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =         4
  const size           =    ------
End of Module Information.


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

⌨️ 快捷键说明

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