?? 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 + -