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

📄 tc2_timer.asm

📁 ATMEGA16芯片+HS0038B红外接收头组成的遥控器测试程序
💻 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 + -