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

📄 delay.s

📁 非常经典的基于AVR m16的DS18B20 C 程序 !1
💻 S
字号:
	.module delay.c
	.area text(rom, con, rel)
	.dbfile E:\DS18B20\delay.c
	.dbfunc e delay_us _delay_us fV
;              i -> R16,R17
	.even
_delay_us::
	.dbline -1
	.dbline 31
; /****************************************
; ** 文 件 名: delay.c				   **
; ** 日    期: 2007年04月08日			   **
; ** 描    述: 延时函数				   **
; ** 作    者:tonghe					   **
; ** 版	 本: V1.0					   **
; ** 主控芯片:M16 					   **
; ** 晶振频率:7.3728MHZ, 波特率9600	   **
; ****************************************/
; #include <iom16v.h>
; #include <macros.h>
; #include <E:\DS18B20\define.h>
; /****************************************
; *  函数名称: void delay_us(uchar i)		*
; *  函数功能:延时函数			 		*
; *  晶振频率:7.3728MHZ					*
; *  实际延时:							*
; *  delay_us(1);	 	//2.71us			*
; *  delay_us(2);	 	//3.53us			*
; *  delay_us(4);	 	//5.15us			*
; *  delay_us(8);	 	//8.41us			*
; *  delay_us(16);	//14.92us			*
; *  delay_us(32);	//27.94us			*
; *  delay_us(64);	//53.98us			*
; *  delay_us(128);	//106.07us			*
; *  delay_us(255);	//209.42us			*
; *  delay_us(100);	//83.28us			*
; *  _NOP();			//0.14us  			*
; ****************************************/
; void delay_us(uint i)
; 	 {
L2:
	.dbline 32
L3:
	.dbline 32
;  	 while(i--);
	movw R2,R16
	subi R16,1
	sbci R17,0
	tst R2
	brne L2
	tst R3
	brne L2
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 i
	.dbend
	.dbfunc e delay_ms _delay_ms fV
;              a -> R20,R21
;              i -> R16,R17
	.even
_delay_ms::
	xcall push_gset1
	.dbline -1
	.dbline 42
; 	 }
; 	 
; /****************************************
; *  函数名称: void delay_ms(uint i)		*
; *  函数功能:延时函数			 		*
; *  晶振频率:7.3728MHZ					*
; *  实际延时:i mS						*
; ****************************************/
; void delay_ms(uint i)
; 	 {
	.dbline 44
; 	 uint a;
; 	 for(;i;i--)
	xjmp L9
L6:
	.dbline 45
; 	    {
	.dbline 46
; 		for(a=1220;a;a--)
	ldi R20,1220
	ldi R21,4
	xjmp L13
L10:
	.dbline 47
	.dbline 47
	.dbline 47
L11:
	.dbline 46
	subi R20,1
	sbci R21,0
L13:
	.dbline 46
	cpi R20,0
	cpc R20,R21
	brne L10
X1:
	.dbline 48
L7:
	.dbline 44
	subi R16,1
	sbci R17,0
L9:
	.dbline 44
	cpi R16,0
	cpc R16,R17
	brne L6
X2:
	.dbline -2
L5:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r a 20 i
	.dbsym r i 16 i
	.dbend

⌨️ 快捷键说明

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