📄 delay.h
字号:
/************************************
*程序名:delay.h
*功 能:延时函数,用于使用11.0596Mhz的
89s51系统
*
*作 者: 董志峰
*单 位:湖南理工物电系创新基地
* All rights reserved
*
*开始时间:2006.11.14
*结束时间:2006.11.14
*版本信息:
*
*注 备: void Delay1us(unsigned int)
void Delay1ms(unsigned int)
void Delay1s(unsigned int)
*************************************/
#ifndef _DELAY_H_
#define _DELAY_H_
#include <reg52.h>
#include <intrins.h>
#ifndef _UNCHAR_
#define _UNCHAR_
typedef unsigned char unchar;
#endif
#ifndef _UNINT_
#define _UNINT_
typedef unsigned int unint;
#endif
void Delay1us(unchar i) //这个函数为精确延时,具体看编译后的汇编代码
{
while(--i);
}
#if 0 //当需要高精度延时,将0改为1
void delay500ms(void) //这个函数为精确延时,具体看编译后的汇编代码
{
unchar i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}
void delay200ms(void) //这个函数为精确延时,具体看编译后的汇编代码
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=132;j>0;j--)
for(k=150;k>0;k--);
}
void delay10ms(void) //这个函数为精确延时,具体看编译后的汇编代码
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
void delay1s(void) //这个函数为精确延时,具体看编译后的汇编代码
{
unsigned char h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--);
}
#endif
void Delay1ms(unint i)
{
unchar j;
while(--i)
{
for(j=0; j<5; j++)
{
Delay1us(200);
}
}
}
/*
void Delay1s(unint i)
{
unchar j;
while(--i)
{
for(j=0; j<5; j++)
{
Delay1ms(200);
}
}
}
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -