?? timer1.asm
字號:
;*****************************************************************************
; Function: timer1.asm
; Version : 1.00
; Description: timer
;
; Copyright Texas instruments Inc, 2000
;*****************************************************************************
.mmregs
* Maximum Frequency Timer Clock Setup
*
.data
Timer1 .word 808030h ; Timer1 global control address
TCTRL_RST .word 303h
TCTRL_GO .word 3C3h
;****************************************
;FUNC=1. TCLK配置為輸入輸出引腳
;I/0=1 , TCLK配置為通用輸出引腳
;C/P=1,選擇時鐘模式,信號TSTAT標志和外部輸出有50%周期
;CLKSRC=1,內部時鐘,頻率為H1/2用來計數遞增。INV位對內部時鐘源無影響
;INV=0,不反相
;****************************************
TCNT .word 0 ; Timer counter value
TPRD .word 2 ; Timer-period value
;*****************************************************************************
.def _timer1
.text
_timer1:
;PUSH FP ;保護舊FP
;LDI SP,FP ;設置新FP
;ADDI 2,SP ;分配局部幀
PUSH ST ;保護ST
PUSH R0 ;保護R0的低32位
PUSHF R0 ;保護R0的高32位
PUSH R1 ;保護R1的低32位
PUSHF R1 ;保護R1的高32位
PUSH R2 ;保護R2的低32位
PUSHF R2 ;保護R2的高32位
PUSH R3 ;保護R3的低32位
PUSHF R3 ;保護R3的高32位
PUSH R6 ;保護R6的低32位
PUSHF R6 ;保護R6的高32位
PUSH AR0 ;
PUSH AR1 ;
PUSH AR2 ;
PUSH AR3 ;
PUSH AR4 ;
;以上為保護寄存器
;********************************************************
LDP Timer1
LDI @Timer1,AR0 ; Load data page pointer
LDI 0,R0
STI R0,*AR0 ; Halt timer
LDI @TCTRL_RST,R0 ; Configure timer
STI R0,*AR0
LDI @TCNT,R0
STI R0,*+AR0(4) ; Load timer counter
LDI @TPRD,R0
STI R0,*+AR0(8) ; Load timer period
LDI @TCTRL_GO,R0
STI R0,*AR0 ; Start timer
;********************************************************
;結束,恢復堆棧
POP AR4 ;
POP AR3 ;
POP AR2 ;
POP AR1 ;
POP AR0 ;
POPF R6 ;
POP R6 ;
POPF R3 ;
POP R3 ;
POPF R2 ;
POP R2 ;
POPF R1 ;
POP R1 ;
POPF R0 ;
POP R0 ;
POP ST ;
;SUBI 2,SP ;
;POP FP ;
RETI ;函數返回
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -