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

📄 mydelay.c

📁 温度测量ds18b20.rar
💻 C
字号:
#include "mydelay.h"
void delay0ms5us(void)
{
/*精确延时0ms 5us ,晶振8MHz*/
/*us级精确延时 766us/晶振以内 延时=1+n*3 */
// CLI;//屏蔽中断吗?
asm("LDI R18,10");//1t ,寄存器R15~R30
asm("CLZ");//1t
asm("LOOP1:DEC R18");//1t
asm("BRNE LOOP1");//1t或2t//标志位Z是0就转移
asm("NOP");//1t
asm("NOP");//1t
// SEI;
/*us级精确延时 24543us以内,用nop补足了余数*/
//===精确延时 4.125us,晶振8MHz ===//
//===调用函数及返回花费0.875us==//
}
void delay0ms15us(void)
{
/*精确延时0ms 15us ,晶振8MHz*/
/*us级精确延时 766us/晶振以内 延时=1+n*3 */
// CLI;//屏蔽中断吗?
asm("LDI R18,37");//1t ,寄存器R15~R30
asm("CLZ");//1t
asm("LOOP111:DEC R18");//1t
asm("BRNE LOOP111");//1t或2t//标志位Z是0就转移
asm("NOP");//1t
// SEI;
/*us级精确延时 24543us以内,用nop补足了余数*/
//===精确延时 14.125us,晶振8MHz ===//
//===调用函数及返回花费0.875us==//
}
void delay0ms60us(void)
{
/*精确延时0ms 60us ,晶振8MHz*/
/*us级精确延时 766us/晶振以内 延时=1+n*3 */
// CLI;//屏蔽中断吗?
asm("LDI R18,157");//1t ,寄存器R15~R30
asm("CLZ");//1t
asm("LOOP11:DEC R18");//1t
asm("BRNE LOOP11");//1t或2t//标志位Z是0就转移
asm("NOP");//1t
// SEI;
/*us级精确延时 24543us以内,用nop补足了余数*/
//===精确延时 59.125us,晶振8MHz ===//
//===调用函数及返回花费0.875us==//
}
void delay0ms500us(void)
{
/*精确延时0ms 500us ,晶振8MHz*/
/*us级 196348us/晶振即196ms/晶振以内 延时=n*(m*3+5)*/
// CLI;//屏蔽中断吗?
asm("LDI R18,6");//外圈循环n
asm("LOOP32:LDI R19,220");//内圈循环m
asm("CLZ");//1t
asm("LOOP22:DEC R19");//1t
asm("BRNE LOOP22");
asm("CLZ");//1t
asm("DEC R18");//1t
asm("BRNE LOOP32");
asm("NOP");//1t
asm("NOP");//1t
asm("NOP");//1t
// SEI;
/*us级精确延时 24543us以内,用nop补足了余数*/
//===精确延时 499.125us,晶振8MHz ===//
//===调用函数及返回花费0.875us==//
}

⌨️ 快捷键说明

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