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

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

?? lcd_driver_user.c

?? MzT24-2模塊驅動例程(Keil LPC22XX)320*240TFT液晶屏驅動程序
?? C
字號:
//========================================================================
// 文件名: LCD_Driver_User.c
// 作  者: Xinqiang Zhang(email: Xinqiang@Mzdesign.com.cn)
//			www.Mzdesign.com.cn
// 日  期: 2008/06/11
// 描  述: 底層接口驅動擴展程序集
//
// 參  考: 請參考具體顯示器的硬件描述說明書或者是DataSheet,并以此來編寫底
//			層接口驅動程序,以及LCD的初始化代碼
// 版  本:
//      2007/02/25      First version    Mz Design
//		2008/06/11		V2.0			 Mzdesign
// 注  意: 
//			該驅動程序當中有很多已經被屏蔽掉的子程序,用戶可根據自己的應用
//			取消屏障并作一定的修改(如果可能的話)
//			該文件與LCD的特性有關,為MzDesign通用版LCD驅動的V2.0版本,內含的
//			函數是標準的函數,每款LCD對應的通用版LCD驅動程序包都是一樣的,只
//			是會針對不同的LCD模塊會有一些區別,用戶可以參考我們介紹V1.0版本
//			驅動的書<LCD驅動顯控原理>.
// 相  關: 本例為針對MzDesign的MzT24 320X240點TFT屏作的移植改去,適用于NXP
//			的LPC21XX以及LPC22XX系列ARM7
//========================================================================
#include "LCD_Config.h"
#include "LCD_PortConfig.h"

//========================================================================
// 函數: void LCD_DataWrite(unsigned int Data)
// 描述: 寫一個字節的顯示數據至LCD中的顯示緩沖RAM當中
// 參數: Data 寫入的數據 
// 返回: 無
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2007/01/09      First version
//========================================================================
/*
void LCD_DataWrite(LCDBYTE Dat)
{
	LCD_A0_SET();
	LCD_Ctrl_Clr(LCD_RW|LCD_EP|LCD_CS);
	LCD_Data_BUS_Clr();
	LCD_Data_BUS_Set(Dat);
	LCD_EP_SET();
	LCD_EP_CLR();  				//
	LCD_CS_SET();
}		   */
//========================================================================
// 函數: LCDBYTE LCD_DataRead(void)
// 描述: 從LCD中的顯示緩沖RAM當中讀一個字節的顯示數據
// 參數: 無  
// 返回: 讀出的數據,
// 備注: Mz 通用版LCD驅動程序 標準子函數 
// 版本:
//      2007/01/09      First version
// 注意: 
//========================================================================

LCDBYTE LCD_DataRead(void)
{
    LCDBYTE Read_Data;
    Read_Data = LCD_DAT_R;
	Read_Data = LCD_DAT_R;
	Read_Data = ((LCDBYTE)LCD_DAT_R)<<8;
	Read_Data |= LCD_DAT_R;
	return Read_Data;
}	
//========================================================================
// 函數: void LCD_RegWrite(LCDBYTE Command)
// 描述: 寫一個字節的數據至LCD中的控制寄存器當中
// 參數: Command		寫入的數據,低八位有效(byte) 
// 返回: 無
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2007/01/09      First version
//========================================================================
/*
void LCD_RegWrite(LCDBYTE Command)
{
	LCD_Ctrl_Clr(LCD_A0|LCD_RW|LCD_EP|LCD_CS);
	LCD_Data_BUS_Clr();
	LCD_Data_BUS_Set(Command);

	LCD_EP_SET();
	LCD_EP_CLR();  				//
	LCD_CS_SET();
}  */
//========================================================================
// 函數: LCDBYTE LCD_ReadStatus(void)
// 描述: 讀取LCD模塊的指定狀態位
// 參數: 無
// 返回: 讀取到的狀態位
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2007/01/09      First version
//========================================================================
LCDBYTE LCD_ReadStatus(void)
{
	return 1;
}
//========================================================================
// 函數: void LCD_TestStatus(LCDBYTE bitMatch)
// 描述: 測試LCD模塊的指定狀態位
// 參數: bitMatch
// 返回: 如測試有效則返回1  如超時則返回0
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2007/01/09      First version
//========================================================================
LCDBYTE LCD_TestStatus(LCDBYTE bitMatch)
{
	return 1;					//return 1  as test status bit ok
}
//========================================================================
// 函數: void Write_Dot_LCD(int x,int y,unsigned int i)
// 描述: 在LCD的真實坐標系上的X、Y點繪制填充色為i的點
// 參數: x 		X軸坐標
//		 y 		Y軸坐標
//		 i 		要填充的點的顏色 
// 返回: 無
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2006/10/15      First version
//		2007/01/09		V1.2 
//========================================================================
void Write_Dot_LCD(DOTBYTE x,DOTBYTE y,LCDBYTE i)
{
	LCD_RegWrite(0x20);
	LCD_DataWrite(x);
	LCD_RegWrite(0x21);
	LCD_DataWrite(y);
	LCD_RegWrite(0x22);
	LCD_DataWrite(i);
}
/*
//========================================================================
// 函數: void Clear_Dot_LCD(WORD x,WORD y)
// 描述: 清除在LCD的真實坐標系上的X、Y點
// 參數: x 		X軸坐標
//		 y 		Y軸坐標
// 返回: 無
// 備注: 暫不使用該函數
// 版本:
//      2006/10/15      First version
//========================================================================
void Clear_Dot_LCD(WORD x,WORD y)
{
	//可根據自己的需要填寫代碼
	x = y;						//無意義,僅為了讓系統不提示警告
}  */
//========================================================================
// 函數: unsigned int Get_Dot_LCD(int x,int y)
// 描述: 獲取在LCD的真實坐標系上的X、Y點上的當前填充色數據
// 參數: x 		X軸坐標
//		 y 		Y軸坐標
// 返回: 該點的顏色
// 備注: 暫不使用該函數
// 版本:
//      2006/10/15      First version
//========================================================================
LCDBYTE Get_Dot_LCD(DOTBYTE x,DOTBYTE y)
{
	LCDBYTE Read_Data;
	//可根據自己的需要填寫代碼
	LCD_RegWrite(0x20);
	LCD_DataWrite(x);
	LCD_RegWrite(0x21);
	LCD_DataWrite(y);
	LCD_RegWrite(0x22);
	Read_Data = LCD_DataRead();							//
	return Read_Data;
}

//========================================================================
// 函數: void Set_Dot_Addr_LCD(int x,int y)
// 描述: 設置在LCD的真實坐標系上的X、Y點對應的RAM地址
// 參數: x 		X軸坐標
//		 y 		Y軸坐標
// 返回: 無
// 備注: 僅設置當前操作地址,為后面的連續操作作好準備
//		 Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2006/10/15      First version
//		2007/01/09		V1.2 
//========================================================================
void Set_Dot_Addr_LCD(DOTBYTE x,DOTBYTE y)
{
	LCD_RegWrite(0x20);
	LCD_DataWrite(x);
	LCD_RegWrite(0x21);
	LCD_DataWrite(y);
	LCD_RegWrite(0x22);
}

//========================================================================
// 函數: void LCD_Fill_s(WORD Number,LCDBYTE Color)
// 描述: 連續填充以Color色調的Number個點
// 參數: Number 填充的數量    Color  像素點的顏色  
// 返回:
// 備注: 該函數可能會使用到
// 版本:
//      2006/10/15      First version
//		2007/01/09		V1.2 
//========================================================================
void LCD_Fill_s(WORD Number,LCDBYTE Color)
{
	while(Number!=0)
	{
		LCD_DataWrite(Color);
		Number--;
	}
} 
//========================================================================
// 函數: void LCD_Fill(unsigned int Data)
// 描述: 會屏填充以Data的數據至各點中
// 參數: Data   要填充的顏色數據
// 返回: 無
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2006/10/15      First version
//		2007/01/09		V1.2 
//========================================================================
void LCD_Fill(LCDBYTE Data)
{
	DOTBYTE i,j=0;
	DOTBYTE uiTemp;  
	uiTemp = (unsigned int)Dis_Y_MAX;
	Set_Dot_Addr_LCD(0,0);
	for(i=0;i<=uiTemp;i++)								//往LCD中填充初始化的顯示數據
	{
		for(j=0;j<=Dis_X_MAX;j++)
		{
			LCD_DAT_W = (unsigned char)(Data>>8);
			LCD_DAT_W = (unsigned char)Data;
		}
	}
}
//========================================================================
// 函數: void LCD_PortInit(void)
// 描述: 與LCD連接的端口初始化代碼
// 參數: 無  
// 返回: 無
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2007/01/09      First version
// 注意: 
//========================================================================
void LCD_PortInit(void)
{
	BCFG2 = 0x00000440;
	PINSEL2 = 0x0fe041c4;
	LCD_Ctrl_GPIO();
}
//========================================================================
// 函數: void LCD_Init(void)
// 描述: LCD初始化程序,在里面會完成LCD初始所需要設置的許多寄存器,具體如果
//		 用戶想了解,建議查看DataSheet當中各個寄存器的意義
// 參數: 無 
// 返回: 無
// 備注: Mz 通用版LCD驅動程序 標準子函數
// 版本:
//      2006/10/15      First version
//		2007/01/09		V1.2 
//========================================================================
//延時程序

void TimeDelay(WORD Time)
{
	WORD i;
	while(Time > 0)
	{
		for(i = 0;i < 800;i++)
		{
			;//__asm("nop");
		}
		Time --;
	}
}
unsigned short LCD_IndexAuto=0;
void LCD_Init(void)
{
	//LCD驅動所使用到的端口的初始化
	LCD_PortInit();
	//根據LCD顯示的配置,設置LCD的數據地址指針自動增加特性
	if(LCD_XY_Switch==1)
	{
		LCD_IndexAuto |= 0x0008;
		if(LCD_X_Rev==0)
			LCD_IndexAuto |= 0x0020;
		else
			LCD_IndexAuto &= ~0x0020;
		if(LCD_Y_Rev==0)
			LCD_IndexAuto |= 0x0010;
		else
			LCD_IndexAuto &= ~0x0010;
	}
	else
	{
		LCD_IndexAuto &= ~0x0008;
		if(LCD_X_Rev==0)
			LCD_IndexAuto |= 0x0010;
		else
			LCD_IndexAuto &= ~0x0010;
		if(LCD_Y_Rev==0)
			LCD_IndexAuto |= 0x0020;
		else
			LCD_IndexAuto &= ~0x0020;
	}
	LCD_IndexAuto |= 0x1100;
	//end
	LCD_RE_CLR();
	TimeDelay(200);
	LCD_RE_SET();
	TimeDelay(20);	

	LCD_RegWrite(0x01);
	LCD_DataWrite(0x0100);				//Driver Output Contral Register 
   	LCD_RegWrite(0x02);
	LCD_DataWrite(0x0700);    //0x0701	//LCD Driving Waveform Contral
  	LCD_RegWrite(0x03);
	LCD_DataWrite(LCD_IndexAuto);//0x1030);				//Entry Mode設置
  												//指針從左至右自上而下的自動增模式
  												//Normal Mode(Window Mode disable)
  												//RGB格式
  												//16位數據2次傳輸的8總線設置
   	LCD_RegWrite(0x04);
	LCD_DataWrite(0x0000);				//Scalling Control register
   	LCD_RegWrite(0x08);
	LCD_DataWrite(0x0207);				//Display Control 2
   	LCD_RegWrite(0x09);
	LCD_DataWrite(0x0000);				//Display Control 3
   	LCD_RegWrite(0x0A);
	LCD_DataWrite(0x0000);				//Frame Cycle Control
   	LCD_RegWrite(0x0C);
	LCD_DataWrite(0x0000);				//External Display Interface Control 1
   	LCD_RegWrite(0x0D);
	LCD_DataWrite(0x0000);				//Frame Maker Position
   	LCD_RegWrite(0x0F);
	LCD_DataWrite(0x0000);				//External Display Interface Control 2
   	TimeDelay(20);
   	LCD_RegWrite(0x07);
	LCD_DataWrite(0x0101);				//Display Control
   	TimeDelay(20);
   	LCD_RegWrite(0x10);
	LCD_DataWrite(0x16B0);    //0x14B0	//Power Control 1
   	LCD_RegWrite(0x11);
	LCD_DataWrite(0x0001);    //0x0007	//Power Control 2
   	LCD_RegWrite(0x17);
	LCD_DataWrite(0x0001);    //0x0000	//Power Control 3
   	LCD_RegWrite(0x12);
	LCD_DataWrite(0x0138);    //0x013B	//Power Control 4
   	LCD_RegWrite(0x13);
	LCD_DataWrite(0x0800);    //0x0800	//Power Control 5
   	LCD_RegWrite(0x29);
	LCD_DataWrite(0x0009);				//NVM read data 2
   	LCD_RegWrite(0x2a);
	LCD_DataWrite(0x0009);				//NVM read data 3
   	LCD_RegWrite(0xa4);
	LCD_DataWrite(0x0000);

   	LCD_RegWrite(0x50);
	LCD_DataWrite(0x0000);				//設置操作窗口的X軸開始列
   	LCD_RegWrite(0x51);
	LCD_DataWrite(0x00EF);				//設置操作窗口的X軸結束列
   	LCD_RegWrite(0x52);
	LCD_DataWrite(0x0000);				//設置操作窗口的Y軸開始行
   	LCD_RegWrite(0x53);
	LCD_DataWrite(0x013F);				//設置操作窗口的Y軸結束行
   	LCD_RegWrite(0x60);
	LCD_DataWrite(0xA700);				//Driver Output Control
   												//設置屏幕的點數以及掃描的起始行
   	LCD_RegWrite(0x61);
	LCD_DataWrite(0x0001);				//Driver Output Control
   	LCD_RegWrite(0x6A);
	LCD_DataWrite(0x0000);				//Vertical Scroll Control
   	
   	LCD_RegWrite(0x80);
	LCD_DataWrite(0x0000);				//Display Position – Partial Display 1
   	LCD_RegWrite(0x81);
	LCD_DataWrite(0x0000);				//RAM Address Start – Partial Display 1
   	LCD_RegWrite(0x82);
	LCD_DataWrite(0x0000);				//RAM address End - Partial Display 1
   	LCD_RegWrite(0x83);
	LCD_DataWrite(0x0000);				//Display Position – Partial Display 2
   	LCD_RegWrite(0x84);
	LCD_DataWrite(0x0000);				//RAM Address Start – Partial Display 2
   	LCD_RegWrite(0x85);
	LCD_DataWrite(0x0000);				//RAM address End – Partail Display2
   	LCD_RegWrite(0x90);
	LCD_DataWrite(0x0013);				//Frame Cycle Control
   	LCD_RegWrite(0x92);
	LCD_DataWrite(0x0000);				//Panel Interface Control 2
   	LCD_RegWrite(0x93);
	LCD_DataWrite(0x0003);				//Panel Interface control 3
   	LCD_RegWrite(0x95);
	LCD_DataWrite(0x0110);				//Frame Cycle Control
//   LCD_RegWrite(0x0097,0x0000);
//   LCD_RegWrite(0x0098,0x0000);
 //  	LCD_RegWrite(0x00F0,0x5408);
 //  	LCD_RegWrite(0x00F4,0x0077);
 //  	LCD_RegWrite(0x00F3,0x000c);
   	LCD_RegWrite(0x07);
	LCD_DataWrite(0x0173);
		
	LCD_Fill(LCD_INITIAL_COLOR);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产综合精品女国产盗摄| 欧美一区二区三区爱爱| 日韩国产一区二| 一区二区三区在线播放| 亚洲欧洲国产日韩| 国产精品久久久久久久久久免费看| 26uuuu精品一区二区| 日韩女优电影在线观看| 日韩欧美国产三级| 欧美大片在线观看一区二区| 日韩精品中文字幕在线一区| 欧美一区二区三区四区久久| 日韩精品一区二区三区中文不卡 | 免费成人在线观看视频| 丝袜诱惑制服诱惑色一区在线观看| 亚洲国产一二三| 日韩avvvv在线播放| 久久精品99国产国产精| 国产综合色视频| av不卡在线播放| 一本久久a久久精品亚洲| 欧美系列日韩一区| 日韩欧美国产三级| 国产精品剧情在线亚洲| 亚洲国产欧美另类丝袜| 免费成人av在线| 成人av电影在线网| 欧美日韩一级片在线观看| 精品国产乱码久久久久久牛牛| 国产亚洲综合在线| 亚洲一区二区三区激情| 国精品**一区二区三区在线蜜桃| 国产成人精品午夜视频免费| 色综合网站在线| 日韩精品专区在线影院重磅| 成人欧美一区二区三区小说 | 国产午夜亚洲精品不卡| 亚洲一区在线看| 日韩精品91亚洲二区在线观看| 日韩av一级片| 成人免费高清在线观看| 欧美丰满嫩嫩电影| 欧美国产综合色视频| 五月天视频一区| 丁香天五香天堂综合| 欧美日韩aaaaa| 国产精品电影一区二区| 秋霞电影一区二区| 色一情一乱一乱一91av| 久久综合九色综合欧美98| 亚洲午夜三级在线| 成人黄色小视频在线观看| 欧美一区二区视频在线观看2022 | 国产亚洲综合性久久久影院| 一区二区三区丝袜| 国产.精品.日韩.另类.中文.在线.播放| 欧美精选在线播放| 国产精品电影院| 极品美女销魂一区二区三区| 欧美色男人天堂| 日韩一区在线看| 国产成人鲁色资源国产91色综| 在线播放中文字幕一区| 一区二区三区四区亚洲| 91女人视频在线观看| 国产欧美一区二区精品仙草咪| 免费高清视频精品| 在线播放日韩导航| 亚洲影视在线播放| 一本大道久久a久久综合婷婷 | 国产精品久久久久久久久免费樱桃| 免费人成精品欧美精品| 欧美乱妇一区二区三区不卡视频| 亚洲美女视频在线观看| 99精品桃花视频在线观看| 国产目拍亚洲精品99久久精品| 狠狠色狠狠色综合系列| 日韩一区二区三区在线视频| 午夜精品一区二区三区免费视频 | 99久精品国产| 国产精品第五页| 99精品久久99久久久久| 亚洲天堂2016| 日本精品视频一区二区三区| 亚洲欧美国产高清| 日本高清不卡一区| 亚洲国产成人av网| 欧美一区二区高清| 国产在线国偷精品产拍免费yy| 久久亚洲免费视频| 福利电影一区二区| 自拍视频在线观看一区二区| 一本久久综合亚洲鲁鲁五月天 | 26uuu国产电影一区二区| 激情欧美一区二区| 中文字幕在线一区| 在线免费观看不卡av| 婷婷成人激情在线网| 日韩亚洲欧美综合| 成人av动漫在线| 亚洲一区在线观看免费 | 久久蜜臀中文字幕| 成人精品视频一区二区三区 | 国产精品正在播放| 亚洲欧美日韩国产综合在线| 欧美美女激情18p| 国产又粗又猛又爽又黄91精品| 日本一区二区不卡视频| 在线观看国产一区二区| 美女精品自拍一二三四| 国产精品乱人伦| 欧美日本在线播放| 国产成人在线色| 亚洲电影在线播放| 久久奇米777| 欧美日韩国产精品自在自线| 国产主播一区二区三区| 亚洲精品视频一区二区| 日韩精品一区二区三区三区免费 | 欧美日韩在线三区| 国产久卡久卡久卡久卡视频精品| 亚洲免费视频中文字幕| 日韩欧美电影一二三| 色先锋久久av资源部| 国内欧美视频一区二区| 一区二区三区电影在线播| 国产午夜亚洲精品理论片色戒| 欧美无乱码久久久免费午夜一区| 国产成人精品一区二区三区四区| 日韩黄色小视频| 亚洲男人的天堂网| 国产欧美一二三区| 欧美va亚洲va在线观看蝴蝶网| 色8久久精品久久久久久蜜| 国产精品77777竹菊影视小说| 亚洲成人免费视| 亚洲欧美日韩一区| 国产精品美女一区二区| 久久女同互慰一区二区三区| 欧美日韩国产首页| 欧美日韩在线播放三区| 99久久精品国产麻豆演员表| 国产精品一区二区黑丝| 久久国产夜色精品鲁鲁99| 午夜久久久久久久久久一区二区| 亚洲精品国久久99热| 中文字幕一区二区三区色视频| 久久久久久一级片| 精品理论电影在线观看| 精品嫩草影院久久| 精品久久久久一区二区国产| 91精品国产福利在线观看| 欧美日韩高清一区二区三区| 欧美私模裸体表演在线观看| 91免费版在线看| 97久久人人超碰| 91丨九色丨蝌蚪丨老版| 欧美性猛片xxxx免费看久爱| 91色.com| 欧美亚洲综合在线| 欧美日韩dvd在线观看| 欧美精品久久一区二区三区| 欧美主播一区二区三区| 欧美色图一区二区三区| 欧美日韩亚洲综合一区二区三区| 在线精品视频小说1| 欧美日韩精品免费观看视频| 欧美日本一区二区| 精品蜜桃在线看| 亚洲国产精品黑人久久久| 国产丝袜在线精品| 亚洲欧美日本韩国| 亚洲最大的成人av| 免费在线观看一区| 国产suv精品一区二区883| 91视频www| 欧美高清www午色夜在线视频| 欧美va在线播放| 中文字幕一区在线观看| 亚洲图片欧美综合| 精品影视av免费| 91丨国产丨九色丨pron| 欧美麻豆精品久久久久久| 精品久久久久久久久久久院品网| 中文字幕av一区二区三区免费看 | 精品嫩草影院久久| 国产精品―色哟哟| 一区二区三区欧美| 蜜臀久久久久久久| 91美女蜜桃在线| 日韩免费观看高清完整版| 国产精品色一区二区三区| 午夜精品免费在线| 不卡的看片网站| 日韩欧美激情一区| 亚洲人一二三区| 韩国欧美一区二区| 欧美在线视频不卡| 中文字幕免费不卡在线| 婷婷开心久久网|