delay.c.bak

来自「PIC KS0108 圖型液晶驅動C源碼」· BAK 代码 · 共 103 行

BAK
103
字号
//==============================================================================
// DEVICE       = PICC-18
// VERSION      = 1.0
// DATE         = 11.08.2007
// LAST CHANGE  = -
// Developer    = Keith Yuen
// =============================================================================
// Description:  KS0108 GLCD Driver
// =============================================================================

#include	"delay.h"

/*=====================================================
*DelayUs , max 255us
=====================================================*/
void DelayUs(unsigned char cnt)
{

#ifdef DELAY_48MHZ

	unsigned char x;
	do
	{
		x = 2;
		do
		{	
			asm("nop");
		}while(--x);
	}while(--cnt);

#elif defined(DELAY_24MHZ)
	
	do
	{
		asm("nop");
		asm("nop");
		asm("nop");
	}while(--cnt);

#elif defined(DELAY_20MHZ)
	
	do
	{
		asm("nop");
		asm("nop");
	}while(--cnt);

#elif defined(DELAY_12MHZ)
	
	cnt = cnt >> 1;
	do
	{
		asm("nop");
		asm("nop");
		asm("nop");
	}while(--cnt);

#elif defined(DELAY_8MHZ)

	cnt = cnt >> 2;
	do
	{
		asm("nop");
		asm("nop");
		asm("nop");
		asm("nop");
		asm("nop");
	}while(--cnt);

#elif defined(DELAY_4MHZ)

	cnt = cnt >> 3;
	do
	{
		asm("nop");
		asm("nop");
		asm("nop");
		asm("nop");
		asm("nop");
	}while(--cnt);

#endif

}


/*=====================================================
*DelayMs , max 255ms
=====================================================*/
void DelayMs(unsigned char cnt)
{
	unsigned char	i;
	do
	{
		i = 4;
		do
		{
			DelayUs(250);
		}while(--i);
	}while(--cnt);
}

⌨️ 快捷键说明

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