?? t6963.h
字號(hào):
/****************************************************************************
* 文件名:T6963.H
* 功能:T6963圖形液晶模塊驅(qū)動(dòng)程序。
用于ZLG/GUI用戶圖形界面。
* 作者:錢巍
* 日期:2006/5/20
****************************************************************************/
#ifdef T6963
#ifndef T6963_H
#define T6963_H
#include "gui.h"
//控制口定義
//#define RES **//未用
#define WR PE0
#define RD PE1
//#define CS **//未用
#define CD PE2
#define CTLBUS DDRE
#define CTLOUT PORTE
//數(shù)據(jù)口定義
#define DATABUS DDRB
#define DATAOUT PORTB
#define DATAIN PINB
//控制口,數(shù)據(jù)口操作
#define CTLINIT CTLBUS|=((1<<WD)|(1<<RD)|(1<<CD))
#define DATAINIT DATABUS=0xFF
#ifdef RES
#define RES_H CTLOUT |= (1<<RES)
#define RES_L CTLOUT &= ~(1<<RES)
#endif
#define WR_H CTLOUT |= (1<<WR)
#define WR_L CTLOUT &= ~(1<<WR)
#define RD_H CTLOUT |= (1<<RD)
#define RD_L CTLOUT &= ~(1<<RD)
#ifdef CS
#define CS_H CTLOUT |= (1<<CS)
#define CS_L CTLOUT &= ~(1<<CS)
#endif
#define CD_H CTLOUT |= (1<<CD)
#define CD_L CTLOUT &= ~(1<<CD)
// T6963C 命令定義
#define LC_CUR_POS 0x21 // 光標(biāo)位置設(shè)置
#define LC_CGR_POS 0x22 // CGRAM 偏置地址設(shè)置
#define LC_ADD_POS 0x24 // 地址指針位置
#define LC_TXT_STP 0x40 // 文本區(qū)首址
#define LC_TXT_WID 0x41 // 文本區(qū)寬度
#define LC_GRH_STP 0x42 // 圖形區(qū)首址
#define LC_GRH_WID 0x43 // 圖形區(qū)寬度
#define LC_MOD_OR 0x80 // 顯示方式邏輯或
#define LC_MOD_XOR 0x81 // 顯示方式邏輯異或
#define LC_MOD_AND 0x82 // 顯示方式邏輯與
#define LC_MOD_TCH 0x83 // 顯示方式文本特征
#define LC_DIS_SW 0x90 // 顯示開關(guān)D0=1/0:光標(biāo)閃爍啟用/禁用
// D1=1/0:光標(biāo)顯示啟用/禁用
// D2=1/0:文本顯示啟用/禁用
// D3=1/0:圖形顯示啟用/禁用
#define LC_CUR_SHP 0xA0 // 光標(biāo)形狀選擇0xA0-0xA7表示光標(biāo)占的行數(shù)
#define LC_AUT_WR 0xB0 // 自動(dòng)寫設(shè)置
#define LC_AUT_RD 0xB1 // 自動(dòng)讀設(shè)置
#define LC_AUT_OVR 0xB2 // 自動(dòng)讀/寫結(jié)束
#define LC_INC_WR 0xC0 // 數(shù)據(jù)一次寫地址加1
#define LC_INC_RD 0xC1 // 數(shù)據(jù)一次讀地址加1
#define LC_DEC_WR 0xC2 // 數(shù)據(jù)一次寫地址減1
#define LC_DEC_RD 0xC3 // 數(shù)據(jù)一次讀地址減1
#define LC_NOC_WR 0xC4 // 數(shù)據(jù)一次寫地址不變
#define LC_NOC_RD 0xC5 // 數(shù)據(jù)一次讀地址不變
#define LC_SCN_RD 0xE0 // 屏讀
#define LC_SCN_CP 0xE8 // 屏拷貝
#define LC_BIT_OP 0xF0 // 位操作
/* 定義顏色數(shù)據(jù)類型(可以是數(shù)據(jù)結(jié)構(gòu)) */
#define TCOLOR uint8
/* 定義LCM像素?cái)?shù)宏 */
//#define GUI_LCM_XMAX 240 // 定義液晶x軸的像素?cái)?shù) *
//#define GUI_LCM_YMAX 240 // 定義液晶y軸的像素?cái)?shù) *
/****************************************************************************
* 名稱:GUI_Initialize()
* 功能:初始化GUI,包括初始化顯示緩沖區(qū),初始化LCM并清屏。
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
* 說(shuō)明:用戶根據(jù)LCM的實(shí)際情況編寫此函數(shù)。
****************************************************************************/
extern void GUI_Initialize(void);
/****************************************************************************
* 名稱:GUI_FillSCR()
* 功能:全屏填充。直接使用數(shù)據(jù)填充顯示緩沖區(qū)。
* 入口參數(shù):dat 填充的數(shù)據(jù)
* 出口參數(shù):無(wú)
* 說(shuō)明:用戶根據(jù)LCM的實(shí)際情況編寫此函數(shù)。
****************************************************************************/
extern void GUI_FillSCR(TCOLOR dat);
/****************************************************************************
* 名稱:GUI_ClearSCR()
* 功能:清屏。
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
* 說(shuō)明:用戶根據(jù)LCM的實(shí)際情況編寫此函數(shù)。
****************************************************************************/
extern void GUI_ClearSCR(void);
//#define GUI_ClearSCR() GUI_FillSCR(0x00)
/****************************************************************************
* 名稱:GUI_Point()
* 功能:在指定位置上畫點(diǎn)。
* 入口參數(shù): x 指定點(diǎn)所在列的位置
* y 指定點(diǎn)所在行的位置
* color 顯示顏色(對(duì)于黑白色LCM,為0時(shí)滅,為1時(shí)顯示)
* 出口參數(shù):返回值為1時(shí)表示操作成功,為0時(shí)表示操作失敗。(操作失敗原因是指定地址超出有
* 效范圍)
* 說(shuō)明:用戶根據(jù)LCM的實(shí)際情況編寫此函數(shù)。
****************************************************************************/
extern uint8 GUI_Point(uint16 x, uint8 y, TCOLOR color);
/****************************************************************************
* 名稱:GUI_ReadPoint()
* 功能:讀取指定點(diǎn)的顏色。
* 入口參數(shù):x 指定點(diǎn)所在列的位置
* y 指定點(diǎn)所在行的位置
* ret 保存顏色值的指針
* 出口參數(shù):返回0表示指定地址超出緩沖區(qū)范圍
* 說(shuō)明:對(duì)于單色,設(shè)置ret的d0位為1或0,4級(jí)灰度則為d0、d1有效,8位RGB則d0--d7有效,
* RGB結(jié)構(gòu)則R、G、B變量有效。
****************************************************************************/
extern uint8 GUI_ReadPoint(uint16 x, uint8 y, TCOLOR *ret);
/****************************************************************************
* 名稱:GUI_HLine()
* 功能:畫水平線。
* 入口參數(shù): x0 水平線起點(diǎn)所在列的位置
* y0 水平線起點(diǎn)所在行的位置
* x1 水平線終點(diǎn)所在列的位置
* color 顯示顏色(對(duì)于黑白色LCM,為0時(shí)滅,為1時(shí)顯示)
* 出口參數(shù):無(wú)
* 說(shuō)明:對(duì)于單色、4級(jí)灰度的液晶,可通過(guò)修改此函數(shù)作圖提高速度,如單色LCM,可以一次更
* 新8個(gè)點(diǎn),而不需要一個(gè)點(diǎn)一個(gè)點(diǎn)的寫到LCM中。
****************************************************************************/
extern void GUI_HLine(uint16 x0, uint8 y0, uint16 x1, TCOLOR color);
/****************************************************************************
* 名稱:GUI_RLine()
* 功能:畫垂直線。
* 入口參數(shù): x0 垂直線起點(diǎn)所在列的位置
* y0 垂直線起點(diǎn)所在行的位置
* y1 垂直線終點(diǎn)所在行的位置
* color 顯示顏色
* 出口參數(shù):無(wú)
* 說(shuō)明:對(duì)于單色、4級(jí)灰度的液晶,可通過(guò)修改此函數(shù)作圖提高速度,如單色LCM,可以一次更
* 新8個(gè)點(diǎn),而不需要一個(gè)點(diǎn)一個(gè)點(diǎn)的寫到LCM中。
****************************************************************************/
extern void GUI_RLine(uint16 x0, uint8 y0, uint8 y1, TCOLOR color);
/****************************************************************************
* 名稱:GUI_CmpColor()
* 功能:判斷顏色值是否一致。
* 入口參數(shù):color1 顏色值1
* color2 顏色值2
* 出口參數(shù):返回1表示相同,返回0表示不相同。
* 說(shuō)明:由于顏色類型TCOLOR可以是結(jié)構(gòu)類型,所以需要用戶編寫比較函數(shù)。
****************************************************************************/
//extern int GUI_CmpColor(TCOLOR color1, TCOLOR color2);
#define GUI_CmpColor(color1, color2) ( (color1&0x01) == (color2&0x01) )
/****************************************************************************
* 名稱:GUI_CopyColor()
* 功能:顏色值復(fù)制。
* 入口參數(shù):color1 目標(biāo)顏色變量
* color2 源顏色變量
* 出口參數(shù):無(wú)
* 說(shuō)明:由于顏色類型TCOLOR可以是結(jié)構(gòu)類型,所以需要用戶編寫復(fù)制函數(shù)。
****************************************************************************/
//extern void GUI_CopyColor(TCOLOR *color1, TCOLOR color2);
#define GUI_CopyColor(color1, color2) *color1 = color2&0x01
#endif
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -