📄 delay.c
字号:
void delay_1us(void) //1us延时函数
{
asm(" rpt #25 ");
asm(" nop ");
asm(" ret ");
}
void delay_nus(unsigned int n) //N us延时函数
{
while(--n>0)
{
delay_1us();
}
}
void delay_1ms(void) //1ms延时函数
{
int n=498;
while(--n>0);
}
void delay_nms(unsigned int n) //N ms延时函数
{
while(--n>0)
{
delay_1ms();
}
}
void delay_100us(void)
{
int n=48;
while(--n>0)
delay_1us();
}
//--------------------------------------------------------------------
// 函数名称 : void delay_50ms(void)
// 函数说明 : 50ms延迟
// 输入参数 : 无
// 输出参数 : 无
//--------------------------------------------------------------------
void delay_50ms()
{
unsigned int i,j;
for(i=0;i<=1000;i++);
for(j=0;j<=2000;j++); //延迟250*1000*CLKOUT=500000*CLKOUT
//1/CLKOUT=0.2us
}
//--------------------------------------------------------------------
// 函数名称 : void delay_20ms(void)
// 函数说明 : 20ms延迟
// 输入参数 : 无
// 输出参数 : 无
//--------------------------------------------------------------------
void delay_20ms()
{
unsigned int i,j;
for(i=0;i<=1000;i++);
for(j=0;j<=400;j++); //延迟10*1000*CLKOUT=100000*CLKOUT
//1/CLKOUT=0.2us
}
/*
***********************************************************
- 函数名称 : void Delay(int numbers)
- 函数说明 : 长延时
- 输入参数 : numbers
- 输出参数 : 无
***********************************************************
*/
void Delay(unsigned int numbers)
{
unsigned int i,j;
for(i=0;i<40000;i++);
for(j=0;j<numbers;j++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -