欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stc 單片機 精確 延時 [打印本頁]

作者: chaoren    時間: 2017-12-25 10:25
標題: stc 單片機 精確 延時

Delay.c

/***********************************************************************************************************

* 文 件 名:Delay.c

* 芯 片:STC12C5A60S2

* 晶 振:12MHz

* 創 建 者:冷月

* 創建日期:2010.8.20

* 修 改 者:

* 修改日期:

* 功能描述:單片機us和ms級延時,適用于12MHz的12T和1T單片機

***********************************************************************************************************/

#include "Delay.h"

#define uchar unsigned char

#define uint unsigned int

/***************************************************************************************************

* 函 數 名:DelayUs12T

* 功能描述:12T單片機us級延時,7us~515us,精度2us

* 輸入參數:delayUsVal = (t-5)/2

* 返 回 值:無

******************************************************************************************************/

void DelayUs12T(uchar delayUsVal)

{

while (--delayUsVal);

}

/******************************************************************************************

* 函 數 名:DelayUs1T

* 功能描述:1T單片機us級延時,2us~85us,精度1us

* 輸入參數:delayUsVal = 3t - 3

* 返 回 值:無
****************************************************************************************/

void DelayUs1T(uchar delayUsVal)

{

while (--delayUsVal);

}


/*******************************************************************

* 函 數 名:DelayMs12T

* 功能描述:12T單片機ms級延時

* 輸入參數:delayMsVal:延時多少ms,1ms~65535ms

* 返 回 值:無

***************************************************************/

void DelayMs12T(uint delayMsVal)

{ uchar i, j;

while (delayMsVal--)
for (i = 0; i<3; i++)
for (j = 0; j<106; j++);
}


/********************************************************************

* 函 數 名:DelayMs1T

* 功能描述:1T單片機ms級延時

* 輸入參數:delayMsVal:延時多少ms,1ms~65535ms

* 返 回 值:無

*********************************************************************/

void DelayMs1T(uint delayMsVal)

{

uchar i, j;
while (delayMsVal--)

for (i = 0; i<10; i++)

for (j = 0; j<169; j++);

}


===============================================================================================================
Delay.h
========================================================================================================
/******************************************************

* 模 塊 名:Delay.h

* 芯 片:STC12C5A60S2

* 晶 振:12MHz

* 創 建 者:冷月

* 創建日期:2010.8.20

* 修 改 者:

* 修改日期:

* 功能描述:12T單片機和1T單片機的us級和ms級延時函數(12T單片機未測試),

適用于晶振12MHz

***************************************************************/

#ifndef _DELAY_H_

#define _DELAY_H_

#define uchar unsigned char

#define uint unsigned int

/*********************************************************

* 函 數 名:DelayUs12T
* 調 用:DelayUs12T(1--------255);
* 延時7us------515us
* 延時* 功能描述:12T單片機us級延時,delayUsVal = (t-5)/2
* 延時時間t = 2delayUsVal+5,7us~515us,精度2us
**************************************************************/

void DelayUs12T(uchar delayUsVal);

/**********************************************************
* 函 數 名:DelayUs1T
* 調 用:DelayUs1T(2);
* 延時1us
* DelayUs1T(254);
* 延時85us
* 功能描述:1T單片機us級延時,delayUsVal = 3t - 3 > 1
* 延時時間t = (delayUsVal+3)/3,2us~85us,精度1us
****************************************************************/

void DelayUs1T(uchar delayUsVal);

/*********************************************************
* 函 數 名:DelayMs12T
* 調 用:DelayMs12T(100);
* 延時100ms
* 功能描述:12T單片機ms級延時,可延時1ms~65535ms
******************************************************************/
void DelayMs12T(uint delayMsVal);


/**************************************************************
* 函 數 名:DelayMs1T
* 調 用:DelayMs1T(100);
* 延時100ms
* 功能描述:12T單片機ms級延時,可延時1ms~65535ms

*-**************************************************************/
void DelayMs1T(uint delayMsVal);

#endif







歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1