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

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

?? lcddrive.c

?? LCM240320底層驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************************
* 文件名:LCDDRIVE320240.C
* 功能:圖形液晶320*2408驅動(型號為SED1330)。32K顯示存,0000H-7FFFH地址。顯示是橫向字節,高位
*      在前。
* 說明:圖形液晶采用SED1330為LCD控制芯片,內帶負壓產生器,單5伏供電,并行接口(使用LPC2210驅動)。
* 硬件連接: D0--D7  <===>  D0--D7
*           /WR     <===>  nWE
*           /RD     <===>  nOE
*           /CE     <===>  nCS3_1
*           C/D     <===>  A1
*
*           /RST    <===>  VCC
****************************************************************************************/
#include "config.h"

uint8  	gui_disp_buf[GUI_LCM_YMAX][GUI_LCM_XMAX/8];				// 聲明顯示緩沖區

/* 定義LCM地址 */
#define  TG320240_COM    	(*((volatile unsigned short *) 0x83000002))
#define  TG320240_DAT    	(*((volatile unsigned short *) 0x83000000))


/***********************************************************************
* 名稱:LCD_WriteCommand()
* 功能:寫命令子程序。(發送命令前,不檢查液晶模塊的狀態)
* 入口參數:command  	要寫入LCM的命令字
* 出口參數:無
* 說明:函數會設置LCM數據總線為輸出方式
***********************************************************************/
#define   LCD_WriteCommand(command)  TG320240_COM = (uint16)command


/***********************************************************************
* 名稱:LCD_WriteData()
* 功能:寫數據子程序。(發送數據前,不檢查液晶模塊的狀態)
* 入口參數:dat  	要寫入LCM的數據
* 出口參數:無
* 說明:函數會設置LCM數據總線為輸出方式
***********************************************************************/
#define  LCD_WriteData(dat)  TG320240_DAT = (uint16)dat



/***********************************************************************
* 名稱:LCD_ReadState()
* 功能:讀取忙狀態字子程序。
* 入口參數:無
* 出口參數:返回值即為讀出的狀態字
* 說明:函數會設置LCM數據總線為輸入方式
***********************************************************************/
#define  LCD_ReadState()	TG320240_DAT


/***********************************************************************
* 名稱:LCD_ReadData()
* 功能:讀取參數及顯示數據子程序。
* 入口參數:無
* 出口參數:返回值即為讀出的數據
* 說明:函數會設置LCM數據總線為輸入方式
***********************************************************************/
#define  LCD_ReadData()		TG320240_COM

#define  LCD_SYS_SET        0x40                                                 /* 初始化,設置顯示窗口 */
uint8 const ParaSysTable8[]= {0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00};          // P1-P8參數

#define  LCD_SCROLL         0x44                                                 //設置顯示區域,卷動
uint8 const ParaScrTableA[]={0x00,0x00,0xF0,0x00,0x40,0xF0,0x00,0x80,0x00,0x00}; /* P1-P10參數 */

#define  LCD_SLEEP_IN		0x53						/* 空閑狀態設置 */
#define  LCD_DISP_ON		0x59						/* 顯示開:后接參數P1,規定各顯區及光標的顯示方式和閃爍啟用/禁用 */
#define  LCD_DISP_OFF		0x58						/* 顯示關:后接參數P1,規定各顯區及光標的顯示方式和閃爍啟用/禁用 */
#define  LCD_OYLAY		    0x5B						/* 設置畫面重疊顯示的合成方式及顯示一、三區的顯示屬性,后帶一參數P1 */
#define  LCD_HDOTSET		0x5A						/* 設置以點為單位的顯示畫面水平移動量 */
#define  LCD_CGR_POS		0x5C						/* CGRAM偏置地址設置(可以增加自已的符號),后帶參數P1、P2 */
#define  LCD_CSR_FORM		0x5D						/* 光標顯示方式及形狀設置,后跟2個參數P1、P2 */
#define  LCD_CSRDIR_R		0x4C						/* 光標地址指針移動方向,向右移動 */
#define  LCD_CSRDIR_L		0x4D						/* 光標地址指針移動方向,向左移動 */
#define  LCD_CSRDIR_U		0x4E						/* 光標地址指針移動方向,向上移動 */
#define  LCD_CSRDIR_D		0x4F						/* 光標地址指針移動方向,向下移動 */
#define  LCD_CSR_W		    0x46						/* 寫當前光標地址,MUP使用兩次讀數操作 */
#define  LCD_CSR_R		    0x47						/* 讀當前光標地址,后帶兩參數CSRL、CSRH */
#define  LCD_MWRITTE    	0x42						/* 數據寫入顯示緩沖區 */
#define  LCD_MREAD       	0x43						/* 從顯示緩沖區讀出數據 */


/***********************************************************************
* 名稱:LCD_TestStaBit01()
* 功能:判斷讀寫指令和讀寫數據是否允許。
* 入口參數:無
* 出口參數:返回0表示禁止,否則表示允許
***********************************************************************/   
uint8  LCD_TestStaBit01(void)
{  uint16 i;   
   for(i=2000; i>0; i--)
   { 
     if( (LCD_ReadState()&0x40)==0x40 ) break;      
   }   
   return(i);
}

/***********************************************************************
* 名稱:LCD_WriteTCommand1()
* 功能:寫無參數命令子程序。會先判斷LCM狀態字。
* 入口參數:command  		要寫入LCM的命令字
* 出口參數:操作出錯返回0,否則返回1
***********************************************************************/
uint8  LCD_WriteTCommand1(uint8 command)
{ 

   if( LCD_TestStaBit01()==0 ) return(0);   
   LCD_WriteCommand(command);		           // 發送命令字
   return(1);
}

/***********************************************************************
* 名稱:LCD_WriteTCommand3()
* 功能:寫雙參數命令子程序。會先判斷LCM狀態字。
* 入口參數:command  	要寫入LCM的命令字
*          dat1		參數1
*          dat2		參數2
* 出口參數:操作出錯返回0,否則返回1
* 說明:先發送兩字節參數據數據,再發送命令字
***********************************************************************/
uint8  LCD_WriteTCommand3(uint8 command, uint8 dat1, uint8 dat2)
{  
   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteCommand(command);		          // 發送命令字

   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteData(dat1);				          // 發送數據1
   
   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteData(dat2);				          // 發送數據2
    
   return(1);
}

/***********************************************************************
* 名稱:LCD_WriteTCommand2()
* 功能:寫單參數命令子程序。會先判斷LCM狀態字。
* 入口參數:command  	要寫入LCM的命令字
*          dat1		參數1
* 出口參數:操作出錯返回0,否則返回1
* 說明:先發送參數據數據,再發送命令字
***********************************************************************/
uint8  LCD_WriteTCommand2(uint8 command, uint8 dat1)
{  
   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteCommand(command);		         // 發送命令字

   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteData(dat1);				         // 發送數據1
   
   return(1);
}

/***********************************************************************
* 名稱:LCD_WriteTData1()
* 功能:寫1字節數據子程序。會先判斷狀態字。
* 入口參數:dat  		要寫入LCM的數據
* 出口參數:操作出錯返回0,否則返回1
***********************************************************************/
uint8  LCD_WriteTData1(uint8 dat)
{ 
   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteData(dat);			           // 發送命令字
   
   return(1);
}


/* 以下為LCM的用戶接口層,主要負責解釋用戶命令,并發送到LCM,為用戶編程提供接口 */


/***********************************************************************
* 名稱:LCD_Initialize()
* 功能:LCM初始化,將LCM初始化為純圖形模式,顯示起始地址為0x0000,。
* 入口參數:無
* 出口參數:無
* 說明:函數會設置LCM數據總線為輸出方式
***********************************************************************/
void LCD_Initialize(void)
{
    uint8 i;
    LCD_WriteTCommand1(LCD_SYS_SET);        //設置顯示窗口
    for(i=0;i<8;i++) 
	{
        LCD_WriteTData1(ParaSysTable8[i]);       
    }
	
    LCD_WriteTCommand1(LCD_SCROLL);           //設置顯示區域,卷動
    for (i=0;i<10;i++)
    {
        LCD_WriteTData1(ParaScrTableA[i]);        
    }
   
     LCD_WriteTCommand2(LCD_HDOTSET,0x00);           //設置點單元卷動位置,0-不移動
     
     LCD_WriteTCommand2(LCD_OYLAY,0x1C);             //設置合成方式,一區,三區文本方式,或邏輯
     
     LCD_WriteTCommand2(LCD_DISP_ON,0x04);            //開顯示,1區開,2、3、4區關,關光標
     
}


/***********************************************************************
* 名稱:LCD_FillAll()
* 功能:LCD填充。以圖形方式進行填充,起始地址為0x0000。
* 入口參數:dat		要填充的數據
* 出口參數:無
***********************************************************************/
void  LCD_FillAll(uint8 dat)
{
    uint32 i;
    LCD_WriteTCommand1(LCD_CSRDIR_R);           //光標右移   
	LCD_WriteTCommand3(LCD_CSR_W,0x00,0x00);              //設置光標起始地址0000H
    LCD_WriteTCommand1(LCD_MWRITTE);            //向顯示緩沖區寫數據
    for(i=0;i<240*40;i++)
    {
       LCD_WriteTData1(dat);
        
    }
}


/****************************************************************************
* 名稱:LCD_WriteoneHZ

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产.精品.日韩.另类.中文.在线.播放 | 国产日韩精品一区二区三区| 日本一区二区成人在线| 视频一区二区中文字幕| 成+人+亚洲+综合天堂| 精品国产sm最大网站| 国模一区二区三区白浆| 欧美日韩五月天| 亚洲视频中文字幕| 国产不卡在线播放| 欧美精品一区男女天堂| 日韩高清一区在线| 欧美片网站yy| 亚洲国产精品久久久男人的天堂| 92精品国产成人观看免费| 久久久久9999亚洲精品| 精品制服美女久久| 日韩一区二区精品葵司在线| 五月婷婷激情综合| 欧美日韩一区二区三区在线| 亚洲综合一区二区三区| 在线一区二区三区四区| 亚洲激情一二三区| 91香蕉国产在线观看软件| 国产精品麻豆视频| 成人综合婷婷国产精品久久蜜臀 | 91福利区一区二区三区| 亚洲码国产岛国毛片在线| 99久久99久久免费精品蜜臀| 中文av一区二区| 成人av在线播放网址| 国产精品国产自产拍在线| 97久久超碰国产精品电影| 亚洲精品视频免费观看| 欧美视频日韩视频在线观看| 亚洲超丰满肉感bbw| 884aa四虎影成人精品一区| 男女性色大片免费观看一区二区 | 欧美精品免费视频| 奇米影视在线99精品| 欧美一级日韩一级| 黄页视频在线91| 中文字幕欧美区| 色婷婷一区二区| 亚洲成人动漫一区| 精品久久久久久久人人人人传媒| 黄一区二区三区| 一区在线观看视频| 欧美日韩一区二区三区高清| 麻豆成人久久精品二区三区小说| 久久女同精品一区二区| www.爱久久.com| 午夜激情一区二区| 久久这里只有精品6| 91在线观看污| 日日摸夜夜添夜夜添亚洲女人| 欧美xingq一区二区| 国产成人在线免费| 亚洲成a人在线观看| 亚洲精品在线网站| 一本一本久久a久久精品综合麻豆| 亚洲成在线观看| 国产欧美一区二区在线观看| 91成人在线观看喷潮| 久久精品国产亚洲高清剧情介绍 | 综合久久久久综合| 欧美精品日韩一区| 白白色亚洲国产精品| 人人爽香蕉精品| 一区二区中文视频| 精品乱人伦小说| 欧美在线999| 成熟亚洲日本毛茸茸凸凹| 亚洲一区二区三区四区的| 久久人人爽人人爽| 欧美日韩中文另类| www.亚洲在线| 国产精品自在欧美一区| 一区二区免费在线| 国产精品久久久久影院| 日韩欧美亚洲另类制服综合在线| 欧美一区二区女人| 欧美性做爰猛烈叫床潮| 北条麻妃国产九九精品视频| 美女精品自拍一二三四| 亚洲一区二区在线免费观看视频 | 波多野结衣的一区二区三区| 热久久久久久久| 亚洲与欧洲av电影| 1000部国产精品成人观看| 久久久国产精品麻豆| 欧美一级理论性理论a| 欧美日韩一本到| 色999日韩国产欧美一区二区| 成人午夜电影久久影院| 国产真实乱对白精彩久久| 五月天婷婷综合| 亚洲va欧美va人人爽| 亚洲精品水蜜桃| 日韩毛片一二三区| 国产精品美女久久久久高潮| 久久综合999| 欧美精品一区二区久久久| 欧美一级高清大全免费观看| 91精品国产色综合久久不卡蜜臀| 欧美视频完全免费看| 欧美性欧美巨大黑白大战| 色欧美日韩亚洲| 欧美亚一区二区| 欧美日韩午夜精品| 欧美精品一二三区| 91精品国产综合久久福利| 欧美一区二区三区四区视频| 在线电影一区二区三区| 欧美电影影音先锋| 欧美成人r级一区二区三区| 日韩欧美成人一区| 久久奇米777| 中文字幕在线不卡一区二区三区| 中文字幕制服丝袜一区二区三区| 国产精品拍天天在线| 椎名由奈av一区二区三区| 亚洲综合一区二区| 蜜臀国产一区二区三区在线播放| 热久久免费视频| 国产一区二区成人久久免费影院| 国产麻豆精品在线观看| 国产91高潮流白浆在线麻豆| eeuss鲁片一区二区三区| 欧洲视频一区二区| 91精品国产欧美一区二区| 久久综合色综合88| 中文字幕一区二区视频| 亚洲成人精品一区二区| 九九视频精品免费| 99国产精品国产精品久久| 欧美日韩精品一二三区| 日韩免费高清电影| 国产精品美女久久久久高潮| 亚洲国产色一区| 国产一区二区三区av电影| 99热精品国产| 日韩一卡二卡三卡四卡| 国产精品久久久久影院亚瑟| 亚洲伊人伊色伊影伊综合网| 久久超碰97中文字幕| aaa欧美大片| 欧美一二三四在线| 亚洲天堂久久久久久久| 视频一区二区三区中文字幕| 国产不卡视频在线播放| 欧美三级蜜桃2在线观看| 久久久综合网站| 亚洲香肠在线观看| 欧美v亚洲v综合ⅴ国产v| 综合电影一区二区三区| 蜜桃视频在线一区| 99视频有精品| 欧美精品一区二区三区蜜桃| 一区二区三区欧美激情| 国产盗摄一区二区| 欧美一区二区三区在| 中文字幕一区二区三区精华液| 日本特黄久久久高潮| 91黄色免费看| 国产欧美一区二区精品仙草咪| 婷婷亚洲久悠悠色悠在线播放| 成人av片在线观看| 欧美大肚乱孕交hd孕妇| 亚洲国产美女搞黄色| 国产成人亚洲综合色影视| 欧美精品第一页| 亚洲精品你懂的| 成人毛片在线观看| 久久久久97国产精华液好用吗| 日韩av不卡一区二区| 99久久国产综合精品色伊 | 高清不卡一二三区| 精品乱人伦一区二区三区| 婷婷丁香激情综合| 在线中文字幕不卡| 亚洲激情自拍偷拍| 99久久精品情趣| 国产精品超碰97尤物18| 成人午夜精品在线| 欧美—级在线免费片| 国产1区2区3区精品美女| 久久精品一区蜜桃臀影院| 久久99久久久久久久久久久| 欧美精品久久久久久久久老牛影院| 亚洲另类春色国产| 一本一道波多野结衣一区二区| 国产精品乱码一区二区三区软件| 国产精品一区二区在线观看网站| 精品国精品自拍自在线| 精品无码三级在线观看视频| 精品精品国产高清a毛片牛牛| 久久成人免费电影| 国产日产欧美一区| aaa欧美色吧激情视频|