delay.c
来自「Digital Clock Source using ATmega8515 an」· C语言 代码 · 共 45 行
C
45 行
//------------------------------------------------------------------------//
// X-tal 16MHz 扁霖栏肺 累己登菌促.
// 促弗 林颇荐绰 嘎霸 荐沥窍咯具 茄促.
#include "delay.h"
//------------------------------------------------------------------------//
/* max delay time to 256us */
void delay_us(unsigned char val)
{
register unsigned char i;
for(i=0; i<val; i++){ // 4 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle
asm ("nop"); // 1 cycle (total 16cycle = 1us) for 16MHz
}
}
//------------------------------------------------------------------------//
/* max dealy time to 65536 ms, 65.536 sec */
void delay_ms(unsigned int val)
{
register unsigned int i;
for(i=0; i<val; i++){ // 4 cycle(0.25 us)
delay_us(250); // 250 us
delay_us(250); // 250 us
delay_us(250); // 250 us
delay_us(249); // 249 us (total 999.25 us = 0.99925 ms)
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?