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

📄 timer.lst

📁 keil开发平台下的ADUC7027的功能模块代码。
💻 LST
字号:
ARM COMPILER V2.50a,  Timer                                                                25/04/06  04:24:57  PAGE 1   


ARM COMPILER V2.50a, COMPILATION OF MODULE Timer
OBJECT MODULE PLACED IN Timer.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe Timer.c ARM BROWSE DEBUG TABS(4) 

stmt  level    source

    1          /**********************************************************************************************
    2          Timer.c  file
    3          
    4          定时器的相关函数
    5          
    6          作者:Computer-lov
    7          建立日期:2006-4-25
    8          修改日期:2006-4-25
    9          版本:V1.0
   10          版权所有,盗版必究。
   11          任何技术问题可到我的博客上留言:    http://computer00.21ic.org
   12          Copyright(C) Computer-lov 2006-2016
   13          All rights reserved
   14          **********************************************************************************************/
   15          
   16          #include <ADuC7027.H>
   17          #include "Timer.h"
   18          #include "interrupt.h"
   19          
   20          /*********************************************************************************************/
   21          void Timer0Init(void)
   22          {
   23   1       T0LD=163200/128-1;    // 1/128秒中断一次                                           
   24   1       T0CON=0xC8;   // Enable Timer0; Periodic mode; FCoreClock/256=163200Hz
   25   1       FIQEN |=TIMER0;   //TIMER0中断分配为FIQ
   26   1      }
   27          ///////////////////////////////////////////////////////////////////////////////////////////////
   28           
   29          
   30          /*********************************************************************************************/
   31          void Timer1Init(void)
   32          {
   33   1       GP0DAT |=(1<<(6+24)); //P0.6设置为输出口,由定时器0提供一个128Hz的时钟信号
   34   1       T1LD=0X00000000;     //重装0
   35   1       T1CON=0x7E0;    //P0.6 raising edge triggered;Count up mode;Enable Timer1; Periodic mode;
   36   1                       //23 Hours to 0 hour format;SourceClock/
   37   1       IRQEN |=TIMER1;   //TIMER1中断分配为IRQ
   38   1      }
   39          ///////////////////////////////////////////////////////////////////////////////////////////////
   40          
   41          
   42          /*********************************************************************************************/
   43          void Timer2Init(void)
   44          {
   45   1       T2LD=163200*0.04-1;  //40ms中断一次
   46   1       T2CON=0x6C8; //Core Clk;Count Down mode;Enable Timer2; Periodic mode;Binary Format;SourceClk=FCoreClock/
             -256=163200Hz
   47   1       IRQEN |=TIMER2;   //TIMER2中断分配为IRQ
   48   1      }
   49          ///////////////////////////////////////////////////////////////////////////////////////////////
   50          
   51          
   52          /*********************************************************************************************/
   53          void Timer3Init(void)
   54          {
   55   1       T3LD=32768*0.2-1;  //200ms中断一次
   56   1       T3CON=0x0C2;   //Count Down Mode;Enable Timer3; Periodic mode;WatchDog Disenable;SourceClk/1=32768Hz;IRQ
             - Option
   57   1       IRQEN |=TIMER3;   //TIMER3中断分配为IRQ
ARM COMPILER V2.50a,  Timer                                                                25/04/06  04:24:57  PAGE 2   

   58   1      }
   59          ///////////////////////////////////////////////////////////////////////////////////////////////
ARM COMPILER V2.50a,  Timer                                                                25/04/06  04:24:57  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         Timer0Init?A
 PUBLIC         Timer1Init?A
 PUBLIC         Timer2Init?A
 PUBLIC         Timer3Init?A



*** CODE SEGMENT '?PR?Timer0Init?A?Timer':
   23:  T0LD=163200/128-1;    // 1/128秒中断一次                                           
 00000000  E5101000  LDR         R1,=0x4FA
 00000004  E5100000  LDR         R0,=0xFFFF0300
 00000008  E5801000  STR         R1,[R0,#0x0]
   24:  T0CON=0xC8;   // Enable Timer0; Periodic mode; FCoreClock/256=163200Hz
 0000000C  E3A010C8  MOV         R1,#0xC8
 00000010  E5100000  LDR         R0,=0xFFFF0308
 00000014  E5801000  STR         R1,[R0,#0x0]
   25:  FIQEN |=TIMER0;   //TIMER0中断分配为FIQ
 00000018  E5100000  LDR         R0,=0xFFFF0108
 0000001C  E5901000  LDR         R1,[R0,#0x0]
 00000020  E3811004  ORR         R1,R1,#0x0004
 00000024  E5801000  STR         R1,[R0,#0x0]
   26: }
 00000028  E12FFF1E  BX          R14
 0000002C          ENDP ; 'Timer0Init?A'


*** CODE SEGMENT '?PR?Timer1Init?A?Timer':
   33:  GP0DAT |=(1<<(6+24)); //P0.6设置为输出口,由定时器0提供一个128Hz的时钟信号
 00000000  E5100000  LDR         R0,=0xFFFFF420
 00000004  E5901000  LDR         R1,[R0,#0x0]
 00000008  E3811101  ORR         R1,R1,#0x40000000
 0000000C  E5801000  STR         R1,[R0,#0x0]
   34:  T1LD=0X00000000;     //重装0
 00000010  E3A01000  MOV         R1,#0x0
 00000014  E5100000  LDR         R0,=0xFFFF0320
 00000018  E5801000  STR         R1,[R0,#0x0]
   35:  T1CON=0x7E0;    //P0.6 raising edge triggered;Count up mode;Enable Timer1; Periodic mode;
 0000001C  E3A01E7E  MOV         R1,#0x7E0
 00000020  E5100000  LDR         R0,=0xFFFF0328
 00000024  E5801000  STR         R1,[R0,#0x0]
   37:  IRQEN |=TIMER1;   //TIMER1中断分配为IRQ
 00000028  E5100000  LDR         R0,=0xFFFF0008
 0000002C  E5901000  LDR         R1,[R0,#0x0]
 00000030  E3811008  ORR         R1,R1,#0x0008
 00000034  E5801000  STR         R1,[R0,#0x0]
   38: }
 00000038  E12FFF1E  BX          R14
 0000003C          ENDP ; 'Timer1Init?A'


*** CODE SEGMENT '?PR?Timer2Init?A?Timer':
   45:  T2LD=163200*0.04-1;  //40ms中断一次
 00000000  E5101000  LDR         R1,=0x197F
 00000004  E5100000  LDR         R0,=0xFFFF0340
 00000008  E5801000  STR         R1,[R0,#0x0]
   46:  T2CON=0x6C8; //Core Clk;Count Down mode;Enable Timer2; Periodic mode;Binary Format;SourceClk=FCoreClock/256=1632
             -00Hz
 0000000C  E5101000  LDR         R1,=0x6C8
 00000010  E5100000  LDR         R0,=0xFFFF0348
 00000014  E5801000  STR         R1,[R0,#0x0]
   47:  IRQEN |=TIMER2;   //TIMER2中断分配为IRQ
 00000018  E5100000  LDR         R0,=0xFFFF0008
 0000001C  E5901000  LDR         R1,[R0,#0x0]
 00000020  E3811010  ORR         R1,R1,#0x0010
 00000024  E5801000  STR         R1,[R0,#0x0]
   48: }
 00000028  E12FFF1E  BX          R14
 0000002C          ENDP ; 'Timer2Init?A'

ARM COMPILER V2.50a,  Timer                                                                25/04/06  04:24:57  PAGE 4   


*** CODE SEGMENT '?PR?Timer3Init?A?Timer':
   55:  T3LD=32768*0.2-1;  //200ms中断一次
 00000000  E5101000  LDR         R1,=0x1998
 00000004  E5100000  LDR         R0,=0xFFFF0360
 00000008  E5801000  STR         R1,[R0,#0x0]
   56:  T3CON=0x0C2;   //Count Down Mode;Enable Timer3; Periodic mode;WatchDog Disenable;SourceClk/1=32768Hz;IRQ Option
 0000000C  E3A010C2  MOV         R1,#0xC2
 00000010  E5100000  LDR         R0,=0xFFFF0368
 00000014  E5801000  STR         R1,[R0,#0x0]
   57:  IRQEN |=TIMER3;   //TIMER3中断分配为IRQ
 00000018  E5100000  LDR         R0,=0xFFFF0008
 0000001C  E5901000  LDR         R1,[R0,#0x0]
 00000020  E3811020  ORR         R1,R1,#0x0020
 00000024  E5801000  STR         R1,[R0,#0x0]
   58: }
 00000028  E12FFF1E  BX          R14
 0000002C          ENDP ; 'Timer3Init?A'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  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 + -