delay.c
来自「MEGA32L 单片机的按键,LED,LCD等测试例程,ICCAVR编译器」· C语言 代码 · 共 139 行
C
139 行
//======================================
//软件延时模块模块源程序
//FileName =delay.c
//Date Time=20071214...20071215
//======================================
#include "public.h"
#include "delay.h"
/********************************************************/
//序号:
// PUB_DEALY_S000
//功能:
// 延时xus
//输入:
// x us的数目
//输出:
// 无
/********************************************************/
void delay_x1us(uchar x)
{
uint i;
for(i=SYS_FREQ_MHZ *x /2; i>0; i--);
}
/********************************************************/
//序号:
// PUB_DEALY_S00
//功能:
// 延时10us
//输入:
// 无
//输出:
// 无
/********************************************************/
void delay_10us(void)
{
uint i;
for(i=CONST_DELAY_1MS_OF_1MHZ *SYS_FREQ_MHZ /250; i>0; i--);
}
/********************************************************/
//序号:
// PUB_DEALY_S00
//功能:
// 延时20us
//输入:
// 无
//输出:
// 无
/********************************************************/
void delay_20us(void)
{
uint i;
for(i=CONST_DELAY_1MS_OF_1MHZ *SYS_FREQ_MHZ /50; i>0; i--);
}
/********************************************************/
//序号:
// PUB_DEALY_S00
//功能:
// 延时100us
//输入:
// 无
//输出:
// 无
/********************************************************/
void delay_100us(void)
{
uint i;
for(i=CONST_DELAY_1MS_OF_1MHZ *SYS_FREQ_MHZ /10; i>0; i--);
}
/********************************************************/
//序号:
// PUB_DEALY_S01
//功能:
// 延时500us
//输入:
// 无
//输出:
// 无
/********************************************************/
void delay_500us(void)
{
uint i;
for(i=CONST_DELAY_1MS_OF_1MHZ *SYS_FREQ_MHZ /2; i>0; i--);
}
/********************************************************/
//序号:
// PUB_DEALY_S02
//功能:
// 延时1ms
//输入:
// 无
//输出:
// 无
/********************************************************/
void delay_1ms(void)
{
uint i;
_WDR();
for(i=CONST_DELAY_1MS_OF_1MHZ *SYS_FREQ_MHZ +2; i>0; i--);
}
/********************************************************/
//序号:
// PUB_DEALY_S03
//功能:
// 1ms 的整数倍
//输入:
// x 倍数
//输出:
// 无
/********************************************************/
void delay_x1ms(uchar x)
{
for(; x >0; x--) delay_1ms();
}
/********************************************************/
//序号:
// PUB_DEALY_S04
//功能:
// 250ms 的整数倍
//输入:
// x 倍数
//输出:
// 无
/********************************************************/
void delay_x250ms(uchar x)
{
for(;x >0; x--) delay_x1ms(250);
}
//======================================
//End Of File
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?