📄 tc2_timer.asm
字号:
;---------------------------------------------------------------------
;功能:定时器2初始化
;入口:无
;出口:无
;---------------------------------------------------------------------
;计算公式
;clkT = 7.3728MHZ/1024
;T=1/clkT
;C*T=10000us
;C=10000us*clkT=72
.EQU C_T2_CNT =256-72
TC2_Timer_Initial:
LDI temp1,C_T2_CNT
OUT TCNT2,temp1
LDI temp1,(1<<CS22)|(1<<CS21)|(1<<CS20) ;111=clk/1024
OUT TCCR2,temp1 ;000停 001=clk 010=clk/8 011=clk/32 100=clk/64 101=clk/128 110=clk/256 111=clk/1024
RET
;---------------------------------------------------------------------
;功能:定时器2(RTC) 中断服务程序((10ms)
;入口:无
;出口:无
;---------------------------------------------------------------------
Int_TC2_10ms: ;4+2
IN int_SREG,SREG ;1
PUSh XL ;2
PUSh XH ;2
LDI XL,C_T2_CNT ;TC2初值
OUT TCNT2,XL
SBR System_Flag,(1<<B_10ms) ;10ms扫描周期
LDS XL,DelayMs ;10ms计数
CPI XL,0
BREQ Int_TC2_1
DEC XL
STS DelayMs,XL
Int_TC2_1:
;--------------------------秒------------------------------------
Int_TC2_3:
LDS XL,ms_Count ;ms计数
INC XL
STS ms_Count,XL
CPI XL,100
BRLO Int_TC0_End
STS ms_Count,R_Value0
Int_TC2_4:
LDS XL,Second ;0~255秒
CPI XL,0
BREQ Int_TC2_5
DEC XL
STS Second,XL
RJMP Int_TC0_End
Int_TC2_5:
SBR System_Flag,(1<<B_LCD_OnOff)
;------------------------------------------------------
Int_TC0_End:
POP XH ;2
POP XL ;2
OUT SREG,int_SREG ;1
RETI ;4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -