⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay.c

📁 用单片机播放音乐并用LCD显示的源程序
💻 C
字号:
/***************************************/
/*       CopyRight 2005 LiuYong   		*
/****************************************
	文件名称:Delay.C
	文件版本:V1.0
	创建人员:LiuYong  cau_ly@163.com
	创建日期:2005.5.27
	功能描述:常用的延时程序(非定时器)
	相关硬件:at89s52兼容单片机,晶体11.0592M
	修改记录:
***************************************/
#include <intrins.h>
#define uchar     unsigned char
/*************************************************
*	函数名称:void Delay10us(uchar ucCnt)
*	创建日期:2005.5.31
*	功能描述:精确延时10微秒。延时时间为:delay time=(9*ucCnt+4)*12/11.0592
*	入口参数:ucCnt,10微秒的倍数
*	返回值:  无    
*	修改日志:
*	对应的汇编程序为
	delay1:
	C:0x0026    00       NOP      
	C:0x0027    00       NOP      
	C:0x0028    00       NOP      
	C:0x0029    00       NOP      
	C:0x002A    00       NOP      
	C:0x002B    00       NOP      
	C:0x002C    00       NOP      
	C:0x002D    DFF7     DJNZ     R7,delay1(C:0026)
*************************************************
void RigDelay10us(uchar ucCnt)
{
	do
	{
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
	}while(--ucCnt);
}
/*************************************************
*	函数名称:void Delay840us(void)
*	创建日期:2005.6.8
*	功能描述:精确延时844us
*	入口参数:无
*	返回值:  	无   
*	修改日志:

*	对应的汇编程序为
	C:0x000F    7F02     MOV      R7,#0x02
	C:0x0011    7EC0     MOV      R6,#0xC0
	C:0x0013    DEFE     DJNZ     R6,C:0013
	C:0x0015    DFFA     DJNZ     R7,C:0011
	C:0x0017    22       RET      
*************************************************
void Delay840us(void)
{
	uchar i,j;
	for(i=2;i>0;i--)
	{
		for(j=192;j>0;j--)
		{
			;
		}
	}
}
/*************************************************
*	函数名称:void Delay1000us(void)
*	创建日期:2005.6.8
*	功能描述:精确延时1000us
*	入口参数:无
*	返回值:  	无   
*	修改日志:

*	对应的汇编程序为
	C:0x000F    7F02     MOV      R7,#0x02
	C:0x0011    7EC0     MOV      R6,#0xE4
	C:0x0013    DEFE     DJNZ     R6,C:0013
	C:0x0015    DFFA     DJNZ     R7,C:0011
	C:0x0017    22       RET      
*************************************************/
void Delay1000us(void)
{
	uchar i,j;
	for(i=2;i>0;i--)
	{
		for(j=228;j>0;j--)
		{
			;
		}
	}
}
/*************************************************
*	函数名称:void Delay4700us(void)
*	创建日期:2005.6.8
*	功能描述:精确延时4681us
*	入口参数:无
*	返回值:  	无   
*	修改日志:

*	对应的汇编程序为
	C:0x000F    7F02     MOV      R7,#0x0A
	C:0x0011    7EC0     MOV      R6,#0xD6
	C:0x0013    DEFE     DJNZ     R6,C:0013
	C:0x0015    DFFA     DJNZ     R7,C:0011
	C:0x0017    22       RET      
*************************************************
void Delay4700us(void)
{
	uchar i,j;
	for(i=10;i>0;i--)
	{
		for(j=214;j>0;j--)
		{
			;
		}
	}
}
/*************************************************
*	函数名称:void Delay(void)
*	创建日期:2005.6.8
*	功能描述:延时1s
*	入口参数:无
*	返回值:  无   
*	修改日志:
*************************************************/
void Delay(void)
{
	uchar i,j;
	for(i=5;i>0;i--)
	{
		for(j=200;j>0;j--)
		{
			Delay1000us();
		}
	}
}
/*************************************************
*	函数名称:void Delay(void)
*	创建日期:2005.6.8
*	功能描述:毫秒延时
*	入口参数:ucNo:要延时的毫秒数
*	返回值:  无   
*	修改日志:
*************************************************
void DelayMs(uchar ucNo)
{
	uchar i;
	for(i=ucNo;i>0;i--)
	{
		Delay1000us();
	}
}	 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -