📄 delay.c
字号:
/******************************************************************************
**Name: 延时程序
**note: ATmega8@1.0Mhz
**compiler: IccAVR
**Verson: v1.0
**Date: 2008.08.31
**By: Eason
******************************************************************************/
#include "main.h"
/******************************************************************************
**Name: watchdog_rst()
**Function: 喂狗
**Input:
**Output:
******************************************************************************/
void watchdog_rst(void)
{
_WDR();
}
/******************************************************************************
**Name: Delay_1millisecond ()
**Function: 1毫秒延时
**Input:
**Output:
******************************************************************************/
void Delay_1millisecond(void) // 1毫秒
{
uint8 a;
for(a=0;a<=130;a++)
{
asm("nop");
}
watchdog_rst();
}
/**************************************************************************************************
**Name:
**Function: 100 毫秒
**Input:
**Output:
**************************************************************************************************/
void Delay_100millisecond(void) // 100 毫秒
{
uint8 i;
for(i=0;i<=120;i++)
{
Delay_1millisecond();
}
watchdog_rst();
}
/**************************************************************************************************
**Name:
**Function: n 毫秒 n<65536
**Input:
**Output:
**************************************************************************************************/
void Delay_nmillisecond(uint16 n) // n 毫秒 n<65536
{
uint16 i;
for(i=0;i<=n;i++)
{
Delay_1millisecond();
}
watchdog_rst();
}
/**************************************************************************************************
**Name:
**Function: 1秒
**Input:
**Output:
**************************************************************************************************/
void delay_1second(void)
{
uint16 b;
for(b=0;b<=9;b++)
{
Delay_100millisecond();
}
watchdog_rst();
}
/**************************************************************************************************
**Name:
**Function: n秒n<65535
**Input:
**Output:
**************************************************************************************************/
void delay_nsecond(uint16 n) // n<65536
{
uint16 b;
for(b=0;b<=n;b++)
{
delay_1second();
}
watchdog_rst();
}
/**************************************************************************************************
**Name:
**Function: 1分钟
**Input:
**Output:
**************************************************************************************************/
void delay_1minute(void)
{
uint16 g;
for(g=0;g<=60;g++)
{
delay_1second();
}
watchdog_rst();
}
/**************************************************************************************************
**Name:
**Function: n分钟
**Input:
**Output:
**************************************************************************************************/
void delay_nminute(uint16 n)
{
uint16 g;
for(g=0;g<=n;g++)
{
delay_1minute();
}
watchdog_rst();
}
/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -