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

📄 mydelay.s

📁 温度测量ds18b20.rar
💻 S
字号:
	.module mydelay.c
	.area text(rom, con, rel)
	.dbfile ..\..\..\..\PROTEU~2\5.avr\19.温度测量ds18b20\2.精确延时函数\mydelay.c
	.dbfile D:\教程及心得\Proteus\PROTEU~2\5.avr\19.温度测量ds18b20\2.精确延时函数\mydelay.c
	.dbfunc e delay0ms900us _delay0ms900us fV
	.even
_delay0ms900us::
	.dbline -1
	.dbline 3
; #include "mydelay.h"
; void delay0ms900us(void)
; {
	.dbline 7
; /*精确延时0ms 900us ,晶振1MHz*/
; /*us级 196348us/晶振即196ms/晶振以内 延时=n*(m*3+5)*/
; // CLI;//屏蔽中断吗?
; asm("LDI R18,2");//外圈循环n
	LDI R18,2
	.dbline 8
; asm("LOOP3:LDI R19,147");//内圈循环m
	LOOP3:LDI R19,147
	.dbline 9
; asm("CLZ");//1t
	CLZ
	.dbline 10
; asm("LOOP2:DEC R19");//1t
	LOOP2:DEC R19
	.dbline 11
; asm("BRNE LOOP2");
	BRNE LOOP2
	.dbline 12
; asm("CLZ");//1t
	CLZ
	.dbline 13
; asm("DEC R18");//1t
	DEC R18
	.dbline 14
; asm("BRNE LOOP3");
	BRNE LOOP3
	.dbline 15
; asm("NOP");//1t
	NOP
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
; // SEI;
; /*us级精确延时 196348us以内,用nop补足了余数*/
; //===精确延时 893us,晶振1MHz ===//
; //===调用函数及返回花费7us==//
; }

⌨️ 快捷键说明

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