亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? timer.lst

?? LPC214X系列ARM在KEIL編譯環(huán)境下的所以例程
?? LST
字號(hào):
ARM COMPILER V2.53,  timer                                                                 27/07/06  14:35:28  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE timer
OBJECT MODULE PLACED IN .\Obj\timer.obj
COMPILER INVOKED BY: g:\Keil\ARM\BIN\CA.exe ..\Common\src\timer.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\TIMER.LS
                    -T) TABS(4) OBJECT(.\Obj\timer.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   timer.c:  Timer 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 Peripheral Registers */
   12          #include "type.h"
   13          #include "irq.h"
   14          #include "timer.h"
   15          
   16          DWORD timer_counter = 0;
   17          
   18          /******************************************************************************
   19          ** Function name:       Timer0Handler
   20          **
   21          ** Descriptions:        Timer/Counter 0 interrupt handler
   22          **              executes each 10ms @ 60 MHz CPU Clock
   23          **
   24          ** parameters:          None
   25          ** Returned value:      None
   26          ** 
   27          ******************************************************************************/
   28          void Timer0Handler (void) __irq 
   29          {  
   30   1          T0IR = 1;           /* clear interrupt flag */
   31   1          IENABLE;            /* handles nested interrupt */
   32   1      
   33   1          timer_counter++;
   34   1      
   35   1          IDISABLE;
   36   1          VICVectAddr = 0;        /* Acknowledge Interrupt */
   37   1      }
   38          
   39          /******************************************************************************
   40          ** Function name:       enable_timer
   41          **
   42          ** Descriptions:        Enable timer
   43          **
   44          ** parameters:          timer number: 0 or 1
   45          ** Returned value:      None
   46          ** 
   47          ******************************************************************************/
   48          void enable_timer( BYTE timer_num )
   49          {
   50   1          if ( timer_num == 0 )
   51   1          {
   52   2          T0TCR = 1;
   53   2          }
   54   1          else
   55   1          {
   56   2          T1TCR = 1;
   57   2          }
   58   1          return;
ARM COMPILER V2.53,  timer                                                                 27/07/06  14:35:28  PAGE 2   

   59   1      }
   60          
   61          /******************************************************************************
   62          ** Function name:       disable_timer
   63          **
   64          ** Descriptions:        Disable timer
   65          **
   66          ** parameters:          timer number: 0 or 1
   67          ** Returned value:      None
   68          ** 
   69          ******************************************************************************/
   70          void disable_timer( BYTE timer_num )
   71          {
   72   1          if ( timer_num == 0 )
   73   1          {
   74   2          T0TCR = 0;
   75   2          }
   76   1          else
   77   1          {
   78   2          T1TCR = 0;
   79   2          }
   80   1          return;
   81   1      }
   82          
   83          /******************************************************************************
   84          ** Function name:       reset_timer
   85          **
   86          ** Descriptions:        Reset timer
   87          **
   88          ** parameters:          timer number: 0 or 1
   89          ** Returned value:      None
   90          ** 
   91          ******************************************************************************/
   92          void reset_timer( BYTE timer_num )
   93          {
   94   1          DWORD regVal;
   95   1      
   96   1          if ( timer_num == 0 )
   97   1          {
   98   2          regVal = T0TCR;
   99   2          regVal |= 0x02;
  100   2          T0TCR = regVal;
  101   2          }
  102   1          else
  103   1          {
  104   2          regVal = T1TCR;
  105   2          regVal |= 0x02;
  106   2          T1TCR = regVal;
  107   2          }
  108   1          return;
  109   1      }
  110          
  111          /******************************************************************************
  112          ** Function name:       init_timer
  113          **
  114          ** Descriptions:        Initialize timer, set timer interval, reset timer,
  115          **              install timer interrupt handler
  116          **
  117          ** parameters:          None
  118          ** Returned value:      true or false, if the interrupt handler can't be
  119          **              installed, return false.
  120          ** 
  121          ******************************************************************************/
  122          DWORD init_timer (void) 
  123          {
  124   1          timer_counter = 0;
ARM COMPILER V2.53,  timer                                                                 27/07/06  14:35:28  PAGE 3   

  125   1          T0MR0 = INTERVAL_10MS;  /* 10mSec = 150.000-1 counts */
  126   1          T0MCR = 3;          /* Interrupt and Reset on MR0 */
  127   1          if ( install_irq( TIMER0_INT, (void *)Timer0Handler ) == FALSE )
  128   1          {
  129   2          return (FALSE);
  130   2          }
  131   1          else
  132   1          {
  133   2          return (TRUE);
  134   2          }
  135   1      }
  136          
ARM COMPILER V2.53,  timer                                                                 27/07/06  14:35:28  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (install_irq?T)



*** PUBLICS:
 PUBLIC         init_timer?T
 PUBLIC         enable_timer?T
 PUBLIC         disable_timer?T
 PUBLIC         reset_timer?T
 PUBLIC         Timer0Handler?A
 PUBLIC         timer_counter



*** DATA SEGMENT '?DT0?timer':
 00000000          timer_counter:
 00000000           BEGIN_INIT
 00000000  00000000  DD          0x0
 00000004           END_INIT



*** CODE SEGMENT '?PR?Timer0Handler?A?timer':
   28: void Timer0Handler (void) __irq 
 00000000  E92D4003  STMDB       R13!,{R0-R1,LR}
   30:     T0IR = 1;           /* clear interrupt flag */
 00000004  E3A01001  MOV         R1,#0x1
 00000008  E5100000  LDR         R0,=0xE0004000
 0000000C  E5801000  STR         R1,[R0,#0x0]
   31:     IENABLE;            /* handles nested interrupt */
 00000010  E14FE000  MRS         R14,SPSR
 00000014  E92D4000  STMFD       R13!,{LR}
 00000018  E321F01F  MSR         CPSR_c,#0x1F
 0000001C  E92D4000  STMFD       R13!,{LR}
   33:     timer_counter++;
 00000020  E5100000  LDR         R0,=timer_counter ; timer_counter
 00000024  E5901000  LDR         R1,[R0,#0x0] ; timer_counter
 00000028  E2811001  ADD         R1,R1,#0x0001
 0000002C  E5801000  STR         R1,[R0,#0x0] ; timer_counter
   35:     IDISABLE;
 00000030  E8BD4000  LDMFD       R13!,{LR}
 00000034  E321F092  MSR         CPSR_c,#0x92
 00000038  E8BD4000  LDMFD       R13!,{LR}
 0000003C  E16FF00E  MSR         SPSR_cxsf,R14
   36:     VICVectAddr = 0;        /* Acknowledge Interrupt */
 00000040  E3A01000  MOV         R1,#0x0
 00000044  E5100000  LDR         R0,=0xFFFFF030
 00000048  E5801000  STR         R1,[R0,#0x0]
   37: }
 0000004C  E8BD4003  LDMIA       R13!,{R0-R1,LR}
 00000050  E25EF004  SUBS        R15,R14,#0x0004
 00000054          ENDP ; 'Timer0Handler?A'


*** CODE SEGMENT '?PR?enable_timer?T?timer':
   48: void enable_timer( BYTE timer_num )
 00000000  1C01      MOV         R1,R0 ; timer_num
 00000002  ---- Variable 'timer_num' assigned to Register 'R1' ----
   50:     if ( timer_num == 0 )
 00000002  1C08      MOV         R0,R1 ; timer_num
 00000004  0600      LSL         R0,R0,#0x18 ; timer_num
 00000006  0E00      LSR         R0,R0,#0x18
 00000008  2800      CMP         R0,#0x0
 0000000A  D103      BNE         L_1  ; T=0x00000014
   52:     T0TCR = 1;
 0000000C  2101      MOV         R1,#0x1
 0000000E  4800      LDR         R0,=0xE0004004
 00000010  6001      STR         R1,[R0,#0x0]
   53:     }
 00000012  E002      B           L_2  ; T=0x0000001A
ARM COMPILER V2.53,  timer                                                                 27/07/06  14:35:28  PAGE 5   

 00000014          L_1:
   56:     T1TCR = 1;
 00000014  2101      MOV         R1,#0x1
 00000016  4800      LDR         R0,=0xE0008004
 00000018  6001      STR         R1,[R0,#0x0]
   57:     }
 0000001A          L_2:
   59: }
 0000001A  4770      BX          R14
 0000001C          ENDP ; 'enable_timer?T'


*** CODE SEGMENT '?PR?disable_timer?T?timer':
   70: void disable_timer( BYTE timer_num )
 00000000  1C01      MOV         R1,R0 ; timer_num
 00000002  ---- Variable 'timer_num' assigned to Register 'R1' ----
   72:     if ( timer_num == 0 )
 00000002  1C08      MOV         R0,R1 ; timer_num
 00000004  0600      LSL         R0,R0,#0x18 ; timer_num
 00000006  0E00      LSR         R0,R0,#0x18
 00000008  2800      CMP         R0,#0x0
 0000000A  D103      BNE         L_4  ; T=0x00000014
   74:     T0TCR = 0;
 0000000C  2100      MOV         R1,#0x0
 0000000E  4800      LDR         R0,=0xE0004004
 00000010  6001      STR         R1,[R0,#0x0]
   75:     }
 00000012  E002      B           L_5  ; T=0x0000001A
 00000014          L_4:
   78:     T1TCR = 0;
 00000014  2100      MOV         R1,#0x0
 00000016  4800      LDR         R0,=0xE0008004
 00000018  6001      STR         R1,[R0,#0x0]
   79:     }
 0000001A          L_5:
   81: }
 0000001A  4770      BX          R14
 0000001C          ENDP ; 'disable_timer?T'


*** CODE SEGMENT '?PR?reset_timer?T?timer':
   92: void reset_timer( BYTE timer_num )
 00000000  1C02      MOV         R2,R0 ; timer_num
 00000002  ---- Variable 'timer_num' assigned to Register 'R2' ----
 00000002  ---- Variable 'regVal' assigned to Register 'R1' ----
   93: {
 00000002            ; SCOPE-START
   96:     if ( timer_num == 0 )
 00000002  1C10      MOV         R0,R2 ; timer_num
 00000004  0600      LSL         R0,R0,#0x18 ; timer_num
 00000006  0E00      LSR         R0,R0,#0x18
 00000008  2800      CMP         R0,#0x0
 0000000A  D107      BNE         L_7  ; T=0x0000001C
   98:     regVal = T0TCR;
 0000000C  4800      LDR         R0,=0xE0004004
 0000000E  6801      LDR         R1,[R0,#0x0]
   99:     regVal |= 0x02;
 00000010  2002      MOV         R0,#0x2
 00000012  4301      ORR         R1,R0
  100:     T0TCR = regVal;
 00000014  1C0A      MOV         R2,R1 ; regVal
 00000016  4800      LDR         R0,=0xE0004004
 00000018  6002      STR         R2,[R0,#0x0]
  101:     }
 0000001A  E006      B           L_8  ; T=0x0000002A
 0000001C          L_7:
  104:     regVal = T1TCR;
 0000001C  4800      LDR         R0,=0xE0008004
 0000001E  6801      LDR         R1,[R0,#0x0]
  105:     regVal |= 0x02;
ARM COMPILER V2.53,  timer                                                                 27/07/06  14:35:28  PAGE 6   

 00000020  2002      MOV         R0,#0x2
 00000022  4301      ORR         R1,R0
  106:     T1TCR = regVal;
 00000024  1C0A      MOV         R2,R1 ; regVal
 00000026  4800      LDR         R0,=0xE0008004
 00000028  6002      STR         R2,[R0,#0x0]
  107:     }
 0000002A          L_8:
  108:     return;
 0000002A            ; SCOPE-END
  109: }
 0000002A  4770      BX          R14
 0000002C          ENDP ; 'reset_timer?T'


*** CODE SEGMENT '?PR?init_timer?T?timer':
  122: DWORD init_timer (void) 
 00000000  B500      PUSH        {LR}
  124:     timer_counter = 0;
 00000002  2100      MOV         R1,#0x0
 00000004  4800      LDR         R0,=timer_counter ; timer_counter
 00000006  6001      STR         R1,[R0,#0x0] ; timer_counter
  125:     T0MR0 = INTERVAL_10MS;  /* 10mSec = 150.000-1 counts */
 00000008  4800      LDR         R1,=0x249EF
 0000000A  4800      LDR         R0,=0xE0004018
 0000000C  6001      STR         R1,[R0,#0x0]
  126:     T0MCR = 3;          /* Interrupt and Reset on MR0 */
 0000000E  2103      MOV         R1,#0x3
 00000010  4800      LDR         R0,=0xE0004014
 00000012  6001      STR         R1,[R0,#0x0]
  127:     if ( install_irq( TIMER0_INT, (void *)Timer0Handler ) == FALSE )
 00000014  4900      LDR         R1,=Timer0Handler?A ; Timer0Handler?A
 00000016  2004      MOV         R0,#0x4
 00000018  F7FF      BL          install_irq?T  ; T=0x0001  (1)
 0000001A  FFF2      BL          install_irq?T  ; T=0x0001  (2)
 0000001C  2800      CMP         R0,#0x0 ; install_irq?T
 0000001E  D101      BNE         L_10  ; T=0x00000024
  129:     return (FALSE);
 00000020  2000      MOV         R0,#0x0
 00000022  E000      B           L_11  ; T=0x00000026
  130:     }
 00000024          L_10:
  133:     return (TRUE);
 00000024  2001      MOV         R0,#0x1
  135: }
 00000026          L_11:
 00000026  BC08      POP         {R3}
 00000028  4718      BX          R3
 0000002A          ENDP ; 'init_timer?T'



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


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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲天天做日日做天天谢日日欢 | 国产亚洲欧美激情| 制服丝袜一区二区三区| 欧美日韩国产片| 在线综合+亚洲+欧美中文字幕| 欧美日韩中文另类| 欧美日韩视频专区在线播放| 欧美日韩极品在线观看一区| 欧美日韩久久不卡| 91麻豆精品国产91久久久使用方法 | 六月丁香婷婷色狠狠久久| 男女男精品视频| 日本aⅴ亚洲精品中文乱码| 日韩中文字幕av电影| 免费亚洲电影在线| 国产剧情在线观看一区二区| 丰满亚洲少妇av| 一本色道久久综合亚洲aⅴ蜜桃| 97精品国产露脸对白| 欧美午夜片在线看| 日韩小视频在线观看专区| 日韩欧美久久久| 欧美激情在线一区二区三区| 国产精品美女久久久久aⅴ| 亚洲欧美日韩精品久久久久| 午夜伦欧美伦电影理论片| 蜜桃传媒麻豆第一区在线观看| 国产乱码精品一区二区三区忘忧草 | 亚洲九九爱视频| 婷婷中文字幕一区三区| 精品一区在线看| jiyouzz国产精品久久| 欧美性淫爽ww久久久久无| 777色狠狠一区二区三区| 久久久五月婷婷| 亚洲激情第一区| 精品一区二区三区的国产在线播放| 国产精品一二三| 欧美自拍偷拍一区| 精品欧美久久久| 亚洲另类春色校园小说| 蜜臀久久99精品久久久久宅男| 国产一区二区三区高清播放| 91天堂素人约啪| 欧美xxxx在线观看| 亚洲免费视频成人| 精品一区二区在线看| 色婷婷精品久久二区二区蜜臀av| 欧美电视剧在线看免费| 国产精品初高中害羞小美女文| 性感美女极品91精品| 成人午夜激情视频| 91精品国产入口在线| 国产精品黄色在线观看| 五月婷婷综合在线| 99这里只有久久精品视频| 欧美一区二区人人喊爽| 亚洲欧美韩国综合色| 国产一区二区三区免费观看| 欧美日韩三级一区二区| 国产精品国产自产拍在线| 捆绑调教一区二区三区| 色偷偷久久一区二区三区| 久久精品一区四区| 日本成人在线不卡视频| 99国产欧美久久久精品| 国产亚洲欧美一级| 日韩不卡一二三区| 91精品1区2区| 日本一区二区在线不卡| 日本vs亚洲vs韩国一区三区二区 | 亚洲精品在线观看网站| 五月婷婷另类国产| 在线视频一区二区免费| 国产精品短视频| 国产成人av电影在线播放| 日韩免费成人网| 图片区小说区区亚洲影院| 91亚洲永久精品| 中文字幕制服丝袜一区二区三区| 久久99久久99小草精品免视看| 欧美日韩高清一区二区不卡| 亚洲精品videosex极品| 成人免费视频视频| 日本一区二区三区高清不卡| 激情欧美日韩一区二区| 日韩小视频在线观看专区| 首页国产欧美日韩丝袜| 欧美性高清videossexo| 一区二区三区免费在线观看| 99久久亚洲一区二区三区青草| 中文字幕欧美日本乱码一线二线| 激情久久五月天| 久久综合视频网| 久久99精品国产麻豆婷婷| 日韩欧美国产电影| 麻豆成人久久精品二区三区红 | 久久婷婷国产综合精品青草| 美日韩一区二区三区| 日韩三级在线观看| 麻豆91在线播放免费| 欧美大尺度电影在线| 久久国产精品99久久人人澡| 精品日韩在线一区| 激情偷乱视频一区二区三区| 久久亚洲一区二区三区四区| 国产制服丝袜一区| 久久精子c满五个校花| 国产福利91精品一区二区三区| 久久精品一级爱片| 成人一二三区视频| 亚洲日本在线看| 在线视频欧美精品| 日韩主播视频在线| 欧美成人一区二区三区片免费| 精品一区二区三区在线观看| 久久久久久电影| 成人免费av网站| 亚洲私人影院在线观看| 色哟哟欧美精品| 日韩精品视频网| 久久久精品黄色| 91亚洲精华国产精华精华液| 亚洲小少妇裸体bbw| 欧美一级二级三级乱码| 国产精品自产自拍| 日韩久久一区二区| 欧美日韩一区久久| 麻豆国产精品777777在线| 国产人成一区二区三区影院| 99麻豆久久久国产精品免费 | 蜜桃视频在线观看一区二区| 精品成人一区二区三区四区| 成人激情综合网站| 亚洲mv在线观看| 欧美成人a视频| 99精品国产99久久久久久白柏 | 91免费观看在线| 亚洲成av人**亚洲成av**| 欧美精品一区二区不卡| jlzzjlzz亚洲日本少妇| 午夜精品福利久久久| 久久久久久免费网| 欧美中文字幕一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 2020国产精品自拍| 在线观看三级视频欧美| 久久国产麻豆精品| 亚洲精品欧美综合四区| 精品国产伦一区二区三区观看体验| 99久久精品国产一区| 日本亚洲一区二区| 自拍av一区二区三区| 91精品在线免费观看| www.成人网.com| 九九视频精品免费| 亚洲成人一区二区在线观看| 久久先锋影音av鲁色资源| 91福利国产成人精品照片| 久久99精品久久久久久久久久久久| 亚洲天堂av老司机| 精品福利一区二区三区免费视频| 91久久精品一区二区| 国产一本一道久久香蕉| 夜夜揉揉日日人人青青一国产精品 | 国产精品久久久久久一区二区三区| 欧美疯狂做受xxxx富婆| www.66久久| 国产精品原创巨作av| 婷婷国产在线综合| 亚洲精品亚洲人成人网在线播放| 久久色.com| 日韩女优制服丝袜电影| 色久优优欧美色久优优| 高清在线不卡av| 久久99国产乱子伦精品免费| 亚洲国产欧美日韩另类综合| 欧美国产精品v| 精品国产免费视频| 7777女厕盗摄久久久| 欧美亚洲免费在线一区| 成人av网站在线| 成人小视频在线| 激情综合网激情| 久久精品国产精品亚洲红杏| 午夜视频一区二区| 一区二区视频免费在线观看| 中文字幕一区不卡| 国产女同互慰高潮91漫画| 欧美mv和日韩mv国产网站| 欧美一区二区视频在线观看| 欧美伊人精品成人久久综合97 | 久久久精品天堂| 精品国产一区二区三区久久影院| 欧美一区2区视频在线观看| 欧美日韩一区不卡| 欧美亚洲国产一区二区三区va| 色婷婷综合久久久久中文一区二区| 成人av一区二区三区| www.欧美日韩国产在线|