?? delay.h
字號:
/************************************
*程序名:delay.h
*功 能:延時函數(shù),用于使用11.0596Mhz的
89s51系統(tǒng)
*
*作 者: 董志峰
*單 位:湖南理工物電系創(chuàng)新基地
* All rights reserved
*
*開始時間:2006.11.14
*結(jié)束時間: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) //這個函數(shù)為精確延時,具體看編譯后的匯編代碼
{
while(--i);
}
#if 0 //當(dāng)需要高精度延時,將0改為1
void delay500ms(void) //這個函數(shù)為精確延時,具體看編譯后的匯編代碼
{
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) //這個函數(shù)為精確延時,具體看編譯后的匯編代碼
{
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) //這個函數(shù)為精確延時,具體看編譯后的匯編代碼
{
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) //這個函數(shù)為精確延時,具體看編譯后的匯編代碼
{
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -