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

📄 timer0.s

📁 详细介绍M8两版间通讯
💻 S
字号:
	.module Timer0.c
	.area vector(rom, abs)
	.org 18
	rjmp _timer0
	.area data(ram, con, rel)
L2:
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.area text(rom, con, rel)
	.dbfile E:\Mega8程序\UART通信\Timer0.c
	.dbfunc e timer0 _timer0 fV
	.dbsym s LEDnum L2 c
	.even
_timer0::
	rcall push_lset
	.dbline -1
	.dbline 7
; /*T/C0作为定时器,触发定时中断,来进行周期性的作业*/
; #include<iom8v.h> 
; #include <macros.h>
; extern void spark(unsigned num);
; #pragma interrupt_handler timer0:10
; void timer0(void)
; 	 {static unsigned char LEDnum=0x00;
	.dbline 8
; 	 LEDnum++;
	lds R24,L2
	subi R24,255    ; addi 1
	sts L2,R24
	.dbline 9
; 	 LEDnum&=0b00000011;//LEDnum在0~3之间循环
	andi R24,3
	sts L2,R24
	.dbline 10
; 	 spark(LEDnum);
	mov R16,R24
	clr R17
	rcall _spark
	.dbline 11
; 	 TCNT0=178;}//定时178=10ms
	ldi R24,178
	out 0x32,R24
	.dbline -2
L1:
	rcall pop_lset
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e timer0_init _timer0_init fV
	.even
_timer0_init::
	.dbline -1
	.dbline 14
; 	 
; void timer0_init(void)
; 	 {TIMSK|=0x01;//Timer0中断允许
	.dbline 14
	in R24,0x39
	ori R24,1
	out 0x39,R24
	.dbline 15
; 	 TCCR0=0x04;//1024分频,8MHz、TCNT0=0x10下,每次中断大约30ms
	ldi R24,4
	out 0x33,R24
	.dbline 16
; 	 TCNT0=178;}//预植16,定时10ms
	ldi R24,178
	out 0x32,R24
	.dbline -2
L3:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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