亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd.c

?? ZIGBEE 2006協議棧 BAT測試代碼 RADIO PULSE MG2455
?? C
?? 第 1 頁 / 共 3 頁
字號:


/*******************************************************************************
	- Chip		: MG24500/55
	- Author		: RadioPulse Inc, 2007.
	- Date		: 2007-07-02
	- Version		: VER 1.0	
*******************************************************************************/

#include "INCLUDE_TOP.h"

//--------------------------------------------------------------------
//
//	LCD Usage
//
//--------------------------------------------------------------------
// STEP1 : GPIOs Direction is set to OUTPUT
//	ZHAL_PORT0_INOUT_SET(0xA, 1);
//	ZHAL_PORT1_INOUT_SET(0x4, 1);
//	ZHAL_PORT1_INOUT_SET(0x6, 1);
//	ZHAL_PORT1_INOUT_SET(0x7, 1);
//	ZHAL_PORT3_INOUT_SET(0x4, 1);
//	ZHAL_PORT3_INOUT_SET(0x5, 1);
//--------------------------------------------------------------------
// STEP2 : Initialize LCD
//	ZHAL_LCD_INIT();
//--------------------------------------------------------------------
// STEP3 : Clear LCD and Display Data
//	ZHAL_LCD_DIS_ALL(0x00);
//	ZHAL_LCD_DIS_PUT_DATA(0, 0, radio_logo);	
//--------------------------------------------------------------------
// 	Notice :	If you want to display another data after initializing LCD, repeat STEP3.
//--------------------------------------------------------------------


// ================= KS0108 PORT Define ============================

#define 	LCM_DATA	P0		// Data
#define 	LCM_RS         P1_6	// Read select
#define 	LCM_RW        P1_4	// Read/Write enable
#define 	LCM_E           P1_7	// LCD enable
#define 	LCM_CS1       P3_4	// LCD Chip select
#define 	LCM_CS2       P3_5	// LCD Chip select

//*********** LCD Commend define **********************************

#define	 LCD_CMD_DISPON	0x3f			// Display on		"0011111x"
#define	 LCD_CMD_DISPOFF	0x3e			// Display off 		"0011111x"
#define	 LCD_CMD_DISPLINE	0xc0			// Display Start Line "11xxxxxx"
#define	 LCD_CMD_PAGE		0xb8			// Set the x address "10111xxx"
#define	 LCD_CMD_COLUMN	0x40			// Set the Y address "01xxxxxx"
#define	 LCD_CMD_BUSY		0x80			// Read status

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

#define	 LCD_MODL		0x00			// 
#define	 LCD_MODM		0x40			// 
#define	 LCD_MODR		0x80			// 
#define	 LCD_LCMLIMIT	0x80			// 

//**************** variable ***************************************

		
void ZHAL_LCD_DIS_STRING(UINT8 x,UINT8 y,UINT8 *str,UINT8 i,UINT8 ch8_16);

//*******************************************************************
//	LCD Data 		
//*******************************************************************

	UINT8 code STR1[] = "128x64 DOTS    ";	
	UINT8 code STR2[]={0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87};
	
	UINT8 	LcdCol;		// position X
	UINT8	LcdRow;		// position Y
	UINT8	LcdData;	// data	

//*******************************************************************
// Delay Function
//*******************************************************************

void Delay_ForLCD(UINT16 t)
{  
	UINT16 i,j;
	
	for(i=0;i<t;i++)
	for(j=0;j<125;j++);
}



//*******************************************************************
// LCD STATUS CHECK FUNCTION
//*******************************************************************

//--	RETURN
//	0	: LCD is busy or LCD is not present.
//	1	: LCD is ready to run.
UINT8 ZHAL_LCD_BUSY()
{
	UINT16	busy_cnt;
	UINT8	busy_sta;
	
	LCM_DATA = 0xFF; 
	LCM_RS = 0;
	LCM_RW = 1;	
	LCM_E = 1;

	//Port input mode
	P0OEN = 0xFF;

	busy_sta = 1;
	for(busy_cnt=0 ; busy_cnt<5 ; busy_cnt++)
	{
		if( (LCM_DATA & 0x80) == 0)
		{
			busy_sta = 0;
			break;
		}
	}

	//Port output mode
	P0OEN = 0x00;
	_nop_();
	LCM_E = 0;

	return	busy_sta;	
}

//*******************************************************************
//WRITE Register Function
//*******************************************************************

void ZHAL_LCD_WR_CTRL_REG(UINT8 ctrl)
{	
	ZHAL_LCD_BUSY();
	LCM_RW = 0;
	LCM_RS = 0;
	LCM_DATA = ctrl;
	LCM_E = 1;
	_nop_();
	LCM_E = 0;
	_nop_();	
}

//*******************************************************************
//Read register
//*******************************************************************

UINT8 ZHAL_LCD_RD_CTRL_REG()
{	
	UINT8 ctrl;
	ZHAL_LCD_BUSY();
	LCM_RW = 1;
	LCM_RS = 0;  		
	LCM_E = 1;
	_nop_();
	ctrl = LCM_DATA;
	LCM_E = 0;
	_nop_();
	return(ctrl);	
}

//*******************************************************************
//Write Function
//*******************************************************************

void ZHAL_LCD_WR_DATA_REG(UINT8 dat)
{	
	ZHAL_LCD_BUSY();
	LCM_RW = 0;
	LCM_RS = 1;
	LCM_DATA = dat;
	LCM_E = 1;
	_nop_();
	LCM_E = 0;
	_nop_();	
}

//*******************************************************************
//Read Function
//*******************************************************************

UINT8 ZHAL_LCD_RD_DATA_REG()
{	
	UINT8 dat;
	
	ZHAL_LCD_BUSY();
	LCM_RW = 1;
	LCM_RS = 1;  		
	LCM_E = 1;
	_nop_();
	dat = LCM_DATA;
	LCM_E = 0;
	_nop_();
	return(dat);	
}


//*******************************************************************
/* LCM chip sel	*/
//*******************************************************************

void ZHAL_LCD_CS_LCM_L()
{
	LCM_CS1 = 0;		/*CLR	CS1		*/
	LCM_CS2 = 1;		/*SETB	CS2		*/
}

void ZHAL_LCD_CS_LCM_M()
{
	LCM_CS1 = 1;		/*SETB	CS1		*/
	LCM_CS2 = 0;		/*CLR	CS2		*/
}


//*******************************************************************
/*LCD address Set*/
//*******************************************************************

void ZHAL_LCD_ADDR_XY()
{
	UINT8  x,y;
	
	switch (LcdCol & 0xC0)
	{
		case 0x00 :	ZHAL_LCD_CS_LCM_L();		break;
		case 0x40 :	ZHAL_LCD_CS_LCM_M();	break;
	}
	x = LcdCol&0x3F|LCD_CMD_COLUMN;					// LcdCol.and.0x3f.or.setx
	y = LcdRow&0x07|LCD_CMD_PAGE;					// LcdRow.and.0x07.or.sety
	ZHAL_LCD_WR_CTRL_REG(x);
	ZHAL_LCD_WR_CTRL_REG(y);
}

//*******************************************************************
/*	Write Data		*/
//*******************************************************************

void ZHAL_LCD_WR_DATA(UINT8 X)
{
	ZHAL_LCD_ADDR_XY();		
	ZHAL_LCD_WR_DATA_REG(X);
}

//*******************************************************************
/* Write register L	*/
//*******************************************************************

void ZHAL_LCD_WR_CTRL_L(UINT8 X)
{
	ZHAL_LCD_CS_LCM_L();	
	ZHAL_LCD_WR_CTRL_REG(X);
}
	
//*******************************************************************
/* Write register M	*/
//*******************************************************************

void ZHAL_LCD_WR_CTRL_M(UINT8 X)
{
	ZHAL_LCD_CS_LCM_M();	
	ZHAL_LCD_WR_CTRL_REG(X);
}
	
//*******************************************************************
/*	Clear LCD	*/
//*******************************************************************

void ZHAL_LCD_CLR_RAM()
{
	for(LcdRow=0;LcdRow<8;LcdRow++)
	{
   		for(LcdCol=0;LcdCol<LCD_LCMLIMIT;LcdCol++)
   		{
			ZHAL_LCD_WR_DATA(0x00);
		}
	}
}
//*******************************************************************
// Display LCD ALL
//*******************************************************************

void ZHAL_LCD_DIS_ALL(UINT8 pattern)
{
	for(LcdRow=0 ; LcdRow<8 ; LcdRow++)
	{
		for(LcdCol=0 ; LcdCol<LCD_LCMLIMIT ; LcdCol++)
		{
			ZHAL_LCD_WR_DATA(pattern);
		}
	}
}

//*******************************************************************
// Display LCD Row
//*******************************************************************
void ZHAL_LCD_DIS_ROW()
{
	UINT8 i,dat;
	
	ZHAL_LCD_CLR_RAM();
	dat=0x55;
	for(i=0;i<2;i++)
	{	
		for(LcdRow=0;LcdRow<8;LcdRow++)
		{
			for(LcdCol=0;LcdCol<LCD_LCMLIMIT;LcdCol++) 
			ZHAL_LCD_WR_DATA(dat);
		}
		Delay_ForLCD(1000);
		dat=~dat;					
	}
}

//*******************************************************************
// Display LCD Column
//*******************************************************************

void ZHAL_LCD_DIS_COL(void)
{
	UINT8 i,dat;
	
	ZHAL_LCD_CLR_RAM();
	dat=0xff;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久99| 国产91清纯白嫩初高中在线观看| 国产91清纯白嫩初高中在线观看| 日韩高清欧美激情| 欧美一区二区久久| 国产成人精品网址| 亚洲国产视频一区二区| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲综合自拍偷拍| 久久免费美女视频| 欧美日韩国产在线观看| 国产精品影视网| 亚洲成a人v欧美综合天堂下载| 久久久99久久| 91精品在线观看入口| 99国产精品视频免费观看| 日韩激情在线观看| 亚洲精品免费看| 欧美精品一区视频| 欧美色精品在线视频| 成人av在线播放网站| 日本不卡一区二区三区| 国产精品网站导航| 日韩无一区二区| 欧美日韩在线观看一区二区 | 日日骚欧美日韩| 人人超碰91尤物精品国产| 久久99久久精品| 亚洲一区自拍偷拍| 中文字幕日韩欧美一区二区三区| 欧美一区二区观看视频| 日本一区二区成人在线| 伊人色综合久久天天人手人婷| 一区二区三区久久| 国产自产v一区二区三区c| 视频在线在亚洲| 国产盗摄一区二区| 色婷婷国产精品| 精品国产第一区二区三区观看体验| 国产精品日产欧美久久久久| 亚洲国产精品久久久久秋霞影院 | 一区二区三区精品视频在线| 免费观看在线色综合| 成人精品免费看| 国产电影一区在线| 在线播放亚洲一区| 欧美一区二区三区视频在线观看| 国产女人水真多18毛片18精品视频 | 高清日韩电视剧大全免费| 欧美少妇性性性| 欧洲精品在线观看| 欧美三级一区二区| 国产精品人成在线观看免费| 强制捆绑调教一区二区| 91麻豆高清视频| 欧美日韩成人在线一区| 成人欧美一区二区三区1314 | 国产精品久久久久天堂| 久久久不卡影院| 老司机免费视频一区二区| 国产专区综合网| 欧美一区二区播放| 亚洲二区在线视频| 91精品国产综合久久久久久久久久| 国产精品国产自产拍高清av王其 | 香蕉av福利精品导航| 成人做爰69片免费看网站| 亚洲精品一区二区三区福利| 亚洲成av人在线观看| 色婷婷综合久久| 1区2区3区精品视频| av在线这里只有精品| 91黄色在线观看| 日韩一区二区三区精品视频| 亚洲h动漫在线| 欧美日韩中文一区| 亚洲一区二区高清| 欧美日韩亚洲另类| 亚洲地区一二三色| 在线成人av影院| 理论片日本一区| 久久亚洲二区三区| 成人久久视频在线观看| 中文字幕一区不卡| 日本黄色一区二区| 午夜久久福利影院| 波多野结衣视频一区| 亚洲欧美日韩在线| 国产一区二区精品久久91| 精品视频999| 日韩国产欧美在线视频| 日韩欧美成人一区| 亚洲午夜久久久久久久久电影院| 欧美三级韩国三级日本一级| 偷拍一区二区三区| 亚洲免费电影在线| 91国模大尺度私拍在线视频| 香港成人在线视频| 2017欧美狠狠色| 99久久久精品免费观看国产蜜| 一区二区高清在线| 欧美一级专区免费大片| 国产成人精品aa毛片| 一区二区三区在线视频观看| 91精品中文字幕一区二区三区| 国产一区二区三区免费看 | 精品亚洲aⅴ乱码一区二区三区| 久久久久久免费毛片精品| 91在线视频播放地址| 午夜欧美视频在线观看| 久久免费看少妇高潮| 91免费看片在线观看| 日本午夜一本久久久综合| 国产精品美女久久久久久2018 | 中日韩av电影| 欧美日本一区二区| caoporm超碰国产精品| 日韩vs国产vs欧美| 国产精品久久777777| 欧美一区二区三区在线电影| 国产精品一区二区免费不卡| 亚洲午夜电影在线| 国产欧美日韩卡一| 日韩一区二区三区电影在线观看 | 欧美巨大另类极品videosbest | 欧美高清精品3d| a亚洲天堂av| 狠狠网亚洲精品| 五月激情综合婷婷| 综合久久一区二区三区| 91免费观看视频在线| 久久国产精品色| 亚洲国产aⅴ天堂久久| 最近日韩中文字幕| 久久久久国色av免费看影院| 欧美日韩国产免费一区二区 | 亚洲成人免费av| 亚洲少妇30p| 中文字幕巨乱亚洲| 日韩精品一区二区三区在线| 欧美影视一区在线| 91在线国内视频| 成人高清视频在线观看| 国产专区欧美精品| 日本不卡一区二区| 一区二区三区高清不卡| 日韩理论片中文av| 中文字幕一区二区在线播放| 久久理论电影网| 久久综合给合久久狠狠狠97色69| 欧美人xxxx| 欧美精品久久天天躁| 欧美三级在线看| 欧美在线小视频| 91久久久免费一区二区| 色综合一区二区三区| 亚洲国产精品尤物yw在线观看| 中文字幕一区二区三区精华液| 欧美国产日韩精品免费观看| 国产日韩欧美在线一区| 国产欧美综合在线| 中文字幕第一区第二区| 国产精品国产三级国产aⅴ原创| 国产色产综合色产在线视频| 国产色产综合产在线视频| 国产蜜臀av在线一区二区三区| 国产亚洲污的网站| 欧美激情在线一区二区| 中文字幕五月欧美| 一区二区三区日韩欧美精品| 亚洲成人免费观看| 免费成人你懂的| 国产黄色91视频| 91丨九色丨蝌蚪丨老版| 欧美亚洲动漫另类| 91精品免费观看| 国产欧美日韩久久| 国产一区二区网址| 成人av网址在线| 欧美日韩国产综合久久| 亚洲精品一区二区在线观看| 国产精品国产三级国产aⅴ原创| 亚洲精品一卡二卡| 蜜桃一区二区三区在线观看| 亚洲久草在线视频| 日产国产欧美视频一区精品 | 国产目拍亚洲精品99久久精品| 亚洲免费观看在线视频| 亚洲国产精品精华液网站| 国产在线麻豆精品观看| 日本乱人伦aⅴ精品| 日韩精品一区二| 一区二区欧美国产| 国产自产视频一区二区三区| 欧美亚洲免费在线一区| 久久亚洲一级片| 亚洲国产综合视频在线观看| 成人综合婷婷国产精品久久蜜臀 | 国产片一区二区| 性久久久久久久久久久久|