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

📄 test_int0.s

📁 ad7135的avr16的源程序
💻 S
字号:
	.module test_int0.c
	.area data(ram, con, rel)
_N::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile test_int0.c
	.dbsym e N _N c
	.area text(rom, con, rel)
	.dbfile test_int0.c
	.dbfunc e INT0_INIT _INT0_INIT fV
	.even
_INT0_INIT::
	.dbline -1
	.dbline 32
; //********************************************************* 
; //测试功能:定时器t0产生250khz的方波
; //测试方法:示波器观察 或者proteus仿真
; //测试结果:ok
; //时钟频率:外部8m
; //管脚分配:
; //注意事项: 
; //完成时间:2009.03.15 
; //**********************************************************
; 
; //********************************************************** 
; //头文件
; //**********************************************************
; #include <iom16v.h>
; #include <macros.h>
; //*****************************************************
; 
; 
; //***************************************************** 
; //全局变量定义
; //*****************************************************
; 
; unsigned char N=0;
;  
; 
; //***************************************************** 
; //函数名称:void INT0_INIT(void)  
; //函数功能:int0初始化,上升沿产生中断,使能中断
; //注意事项:未开总中断
; //*****************************************************
; void INT0_INIT(void)
; {	 
	.dbline 33
; 	 MCUCR|=((1<<ISC01)|(1<<ISC00));
	in R24,0x35
	ori R24,3
	out 0x35,R24
	.dbline 34
; 	 GICR|=(1<<INT0);
	in R24,0x3b
	ori R24,64
	out 0x3b,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 4
	jmp _INT0_INTERRUPT
	.area text(rom, con, rel)
	.dbfile test_int0.c
	.dbfunc e INT0_INTERRUPT _INT0_INTERRUPT fV
	.even
_INT0_INTERRUPT::
	st -y,R24
	st -y,R25
	in R24,0x3f
	st -y,R24
	.dbline -1
	.dbline 43
; }
; //***************************************************** 
; //函数名称:void INT0_INTERRUPT(void) 
; //函数功能:中断处理,N+1
; //注意事项: 
; //*****************************************************
; #pragma interrupt_handler INT0_INTERRUPT:2
; void INT0_INTERRUPT(void)
; {	 
	.dbline 44
; 	 N++;
	lds R24,_N
	subi R24,255    ; addi 1
	sts _N,R24
	.dbline 45
; 	 NOP();
	nop
	.dbline -2
L2:
	ld R24,y+
	out 0x3f,R24
	ld R25,y+
	ld R24,y+
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 51
; }
; //********************************************************** 
; //主函数
; //**********************************************************
; void main(void)
; {	 
	.dbline 52
; 	 CLI();
	cli
	.dbline 53
; 	 INT0_INIT();
	xcall _INT0_INIT
	.dbline 54
; 	 SEI();
	sei
L4:
	.dbline 56
L5:
	.dbline 55
	xjmp L4
X0:
	.dbline -2
L3:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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