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

📄 tc1_timer.asm

📁 ATMEGA16芯片+HS0038B红外接收头组成的遥控器测试程序
💻 ASM
字号:
;---------------------------------------------------------------------
;功能:定时器1初始化
;入口:无
;出口:无
;---------------------------------------------------------------------
;计算公式
;clkT = 7.3728MHZ/8
;T=1/clkT
;C*T=100us
;C=100us*clkT=92
.EQU	C_T1_CNT	=256-92

TC1_Timer_Initial:
;TC1工作定时模式 溢出周期100us
		OUT  	TCCR1A,R_Value0
		LDI	temp1,(0<<CS12)|(1<<CS11)|(0<<CS10)	;011=clk/8
		OUT  	TCCR1B,temp1				;000停 001=clk 010=clk/8 011=clk/64

		OUT	TCNT1H,R_ValueFFH									;100=clk/256 101=clk/1024 110/111=脚
		LDI	temp1,C_T1_CNT
		OUT  	TCNT1L,temp1
		RET


;---------------------------------------------------------------------
;功能:定时器1中断服务程序
;入口:无
;出口:无
;---------------------------------------------------------------------
Int_TC1_Server:					;4+2
		IN	int_SREG,SREG		;1
		PUSH	XL			;2
		PUSH	XH
		PUSH	ZL
		PUSH	ZH

		OUT	TCNT1H,R_ValueFFH									;100=clk/256 101=clk/1024 110/111=脚
		LDI	XL,C_T1_CNT
		OUT  	TCNT1L,XL


		INC	R_PulseWidth		;Ir脉冲宽度记数

;------------------------------------------------------
;Int_TC1_End:
		POP	ZH
		POP	ZL
		POP	XH
		POP	XL			;2
		OUT	SREG,int_SREG		;1
		RETI				;4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -