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

📄 rtc.lst

📁 恩志朴lpc214x FOR keil的例程包括很多资源的应用例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 1   


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

stmt  level    source

    1          /*****************************************************************************
    2           *   rtc.c:  Realtime clock C file for Philips LPC214x Family Microprocessors
    3           *
    4           *   Copyright(C) 2006, Philips Semiconductor
    5           *   All rights reserved.
    6           *
    7           *   History
    8           *   2005.10.01  ver 1.00    Prelimnary version, first Release
    9           *
   10          *****************************************************************************/
   11          #include "LPC214x.H"                        /* LPC21xx definitions */
   12          #include "type.h"
   13          #include "irq.h"
   14          //#include "timer.h"
   15          #include "rtc.h"
   16          
   17          DWORD alarm_on = 0;
   18          
   19          /*****************************************************************************
   20          ** Function name:       RTCHandler
   21          **
   22          ** Descriptions:        RTC interrupt handler, it executes based on the
   23          **              the alarm setting
   24          **
   25          ** parameters:          None
   26          ** Returned value:      None
   27          ** 
   28          *****************************************************************************/
   29          void RTCHandler (void) __irq 
   30          {  
   31   1          ILR |= ILR_RTCCIF;      /* clear interrupt flag */
   32   1          IENABLE;            /* handles nested interrupt */
   33   1      
   34   1          alarm_on = 1;
   35   1      
   36   1          IDISABLE;
   37   1          VICVectAddr = 0;        /* Acknowledge Interrupt */
   38   1      }
   39          
   40          /*****************************************************************************
   41          ** Function name:       RTCInit
   42          **
   43          ** Descriptions:        Initialize RTC timer
   44          **
   45          ** parameters:          None
   46          ** Returned value:      None
   47          ** 
   48          *****************************************************************************/
   49          void RTCInit( void )
   50          {
   51   1          alarm_on = 0;
   52   1      
   53   1          /*--- Initialize registers ---*/    
   54   1          AMR = 0;
   55   1          CIIR = 0;
   56   1          CCR = 0;
   57   1          PREINT = PREINT_RTC;
   58   1          PREFRAC = PREFRAC_RTC;
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 2   

   59   1          return;
   60   1      }
   61          
   62          /*****************************************************************************
   63          ** Function name:       RTCStart
   64          **
   65          ** Descriptions:        Start RTC timer
   66          **
   67          ** parameters:          None
   68          ** Returned value:      None
   69          ** 
   70          *****************************************************************************/
   71          void RTCStart( void ) 
   72          {
   73   1          /*--- Start RTC counters ---*/
   74   1          CCR |= CCR_CLKEN;
   75   1          ILR = ILR_RTCCIF;
   76   1          return;
   77   1      }
   78          
   79          /*****************************************************************************
   80          ** Function name:       RTCStop
   81          **
   82          ** Descriptions:        Stop RTC timer
   83          **
   84          ** parameters:          None
   85          ** Returned value:      None
   86          ** 
   87          *****************************************************************************/
   88          void RTCStop( void )
   89          {   
   90   1          /*--- Stop RTC counters ---*/
   91   1          CCR &= ~CCR_CLKEN;
   92   1          return;
   93   1      } 
   94          
   95          /*****************************************************************************
   96          ** Function name:       RTC_CTCReset
   97          **
   98          ** Descriptions:        Reset RTC clock tick counter
   99          **
  100          ** parameters:          None
  101          ** Returned value:      None
  102          ** 
  103          *****************************************************************************/
  104          void RTC_CTCReset( void )
  105          {   
  106   1          /*--- Reset CTC ---*/
  107   1          CCR |= CCR_CTCRST;
  108   1          return;
  109   1      }
  110          
  111          /*****************************************************************************
  112          ** Function name:       RTCSetTime
  113          **
  114          ** Descriptions:        Setup RTC timer value
  115          **
  116          ** parameters:          None
  117          ** Returned value:      None
  118          ** 
  119          *****************************************************************************/
  120          void RTCSetTime( RTCTime Time ) 
  121          {
  122   1          SEC = Time.RTC_Sec;
  123   1          MIN = Time.RTC_Min;
  124   1          HOUR = Time.RTC_Hour;
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 3   

  125   1          DOM = Time.RTC_Mday;
  126   1          DOW = Time.RTC_Wday;
  127   1          DOY = Time.RTC_Yday;
  128   1          MONTH = Time.RTC_Mon;
  129   1          YEAR = Time.RTC_Year;    
  130   1          return;
  131   1      }
  132          
  133          /*****************************************************************************
  134          ** Function name:       RTCSetAlarm
  135          **
  136          ** Descriptions:        Initialize RTC timer
  137          **
  138          ** parameters:          None
  139          ** Returned value:      None
  140          ** 
  141          *****************************************************************************/
  142          void RTCSetAlarm( RTCTime Alarm ) 
  143          {   
  144   1          ALSEC = Alarm.RTC_Sec;
  145   1          ALMIN = Alarm.RTC_Min;
  146   1          ALHOUR = Alarm.RTC_Hour;
  147   1          ALDOM = Alarm.RTC_Mday;
  148   1          ALDOW = Alarm.RTC_Wday;
  149   1          ALDOY = Alarm.RTC_Yday;
  150   1          ALMON = Alarm.RTC_Mon;
  151   1          ALYEAR = Alarm.RTC_Year;    
  152   1          return;
  153   1      }
  154          
  155          /*****************************************************************************
  156          ** Function name:       RTCGetTime
  157          **
  158          ** Descriptions:        Get RTC timer value
  159          **
  160          ** parameters:          None
  161          ** Returned value:      The data structure of the RTC time table
  162          ** 
  163          *****************************************************************************/
  164          RTCTime RTCGetTime( void ) 
  165          {
  166   1          RTCTime LocalTime;
  167   1          
  168   1          LocalTime.RTC_Sec = SEC;
  169   1          LocalTime.RTC_Min = MIN;
  170   1          LocalTime.RTC_Hour = HOUR;
  171   1          LocalTime.RTC_Mday = DOM;
  172   1          LocalTime.RTC_Wday = DOW;
  173   1          LocalTime.RTC_Yday = DOY;
  174   1          LocalTime.RTC_Mon = MONTH;
  175   1          LocalTime.RTC_Year = YEAR;
  176   1          return LocalTime;    
  177   1      }
  178          
  179          /*****************************************************************************
  180          ** Function name:       RTCSetAlarmMask
  181          **
  182          ** Descriptions:        Set RTC timer alarm mask
  183          **
  184          ** parameters:          Alarm mask setting
  185          ** Returned value:      None
  186          ** 
  187          *****************************************************************************/
  188          void RTCSetAlarmMask( DWORD AlarmMask ) 
  189          {
  190   1          /*--- Set alarm mask ---*/    
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 4   

  191   1          AMR = AlarmMask;
  192   1          return;
  193   1      }
  194          
  195          /*****************************************************************************
  196          **                            End Of File
  197          ******************************************************************************/
  198          
ARM COMPILER V2.53,  rtc                                                                   24/10/06  16:55:18  PAGE 5   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         RTCHandler?A
 PUBLIC         RTCInit?T
 PUBLIC         RTCStart?T
 PUBLIC         RTCStop?T
 PUBLIC         RTC_CTCReset?T
 PUBLIC         RTCSetTime?T
 PUBLIC         RTCGetTime?T
 PUBLIC         RTCSetAlarm?T
 PUBLIC         RTCSetAlarmMask?T
 PUBLIC         alarm_on



*** DATA SEGMENT '?DT0?rtc':
 00000000          alarm_on:
 00000000           BEGIN_INIT
 00000000  00000000  DD          0x0
 00000004           END_INIT



*** CODE SEGMENT '?PR?RTCHandler?A?rtc':
   29: void RTCHandler (void) __irq 
 00000000  E92D4003  STMDB       R13!,{R0-R1,LR}
   31:     ILR |= ILR_RTCCIF;      /* clear interrupt flag */
 00000004  E5100000  LDR         R0,=0xE0024000
 00000008  E5901000  LDR         R1,[R0,#0x0]
 0000000C  E3811001  ORR         R1,R1,#0x0001
 00000010  E5801000  STR         R1,[R0,#0x0]
   32:     IENABLE;            /* handles nested interrupt */
 00000014  E14FE000  MRS         R14,SPSR
 00000018  E92D4000  STMFD       R13!,{LR}

⌨️ 快捷键说明

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