?? lcddrv.h
字號:
#ifndef _LCDDRV_H_
#define _LCDDRV_H_
// T6963C 端口定義
/*
//For C51
#define LCMDW XBYTE[0x5000] // 數據口
#define LCMCW XBYTE[0x5002] // 命令口
#define CD P023
#define RD P024
#define WR P025
*/
//For LPC2100
#define LCMDW PORT1C
#define LCMCW PORT1C
/*
//For LPC2100
#define CD (1<<23)
#define RD (1<<24)
#define WR (1<<25)
#define RESET P125
#define CE P124
*/
//For TDJSD
#define CD (1<<15)
#define RD (1<<14)
#define WR (1<<13)
#define RESET (1<<11)
#define CE (1<<12)
//#define RESET P011
//#define CE P012
#define CDH IO0SET|=CD
#define CDL IO0CLR|=CD
#define RDH IO0SET|=RD
#define RDL IO0CLR|=RD
#define WRH IO0SET|=WR
#define WRL IO0CLR|=WR
#define RESETH IO0SET|=RESET
#define RESETL IO0CLR|=RESET
#define CEH IO0SET|=CE
#define CEL IO0CLR|=CE
//For TDJSD
//#define LCDDIR P010
//#define LCDIN LCDDIR = HIGH
//#define LCDOUT LCDDIR = LOW
#define LDIR (1<<10)
#define LCDIN IO0CLR|=LDIR
#define LCDOUT IO0SET|=LDIR
#define DB0 P116
#define DB1 P117
#define DB2 P118
#define DB3 P119
#define DB4 P120
#define DB5 P121
#define DB6 P122
#define DB7 P123
#define LcdEnable CEL
#define LcdDisable CEH
#define LcdReset RESETL;RDH;WRH;LCDOUT
#define LcdNormal RESETH;RDH;WRH;LCDOUT
#define SetData CDL
#define SetCmd CDH
#define SetRead RDL
#define ClrRead RDH
#define SetWrite WRL
#define ClrWrite WRH
#define WriteData LCDOUT;SetData;SetWrite
#define WriteCmd LCDOUT;SetCmd;SetWrite
#define ReadData IO1DIR &= 0xff00ffff;LCDIN;SetData;SetRead
#define ReadStatus IO1DIR &= 0xff00ffff;LCDIN;SetCmd;SetRead
#define WriteOK ClrWrite
#define ReadOK ClrRead;LCDOUT;IO1DIR |= 0x00ff0000
// T6963C 命令定義
#define LC_CUR_POS 0x21 // 光標位置設置
#define LC_CGR_POS 0x22 // CGRAM偏置地址設置
#define LC_ADD_POS 0x24 // 地址指針位置
#define LC_TXT_STP 0x40 // 文本區首址
#define LC_TXT_WID 0x41 // 文本區寬度
#define LC_GRH_STP 0x42 // 圖形區首址
#define LC_GRH_WID 0x43 // 圖形區寬度
#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 // 顯示開關:D0=1/0:光標閃爍啟用/禁用;
// D1=1/0:光標顯示啟用/禁用;
// D2=1/0:文本顯示啟用/禁用;
// D3=1/0:圖形顯示啟用/禁用;
#define LC_CUR_SHP 0xA0 // 光標形狀選擇:0xA0-0xA7表示光標占的行數
#define LC_AUT_WR 0xB0 // 自動寫設置
#define LC_AUT_RD 0xB1 // 自動讀設置
#define LC_AUT_OVR 0xB2 // 自動讀/寫結束
#define LC_INC_WR 0xC0 // 數據一次寫,地址加1
#define LC_INC_RD 0xC1 // 數據一次讀,地址加1
#define LC_DEC_WR 0xC2 // 數據一次寫,地址減1
#define LC_DEC_RD 0xC3 // 數據一次讀,地址減1
#define LC_NOC_WR 0xC4 // 數據一次寫,地址不變
#define LC_NOC_RD 0xC5 // 數據一次讀,地址不變
#define LC_SCN_RD 0xE0 // 屏讀
#define LC_SCN_CP 0xE8 // 屏拷貝
#define LC_BIT_OP 0xF0 // 位操作:D0-D2:定義D0-D7位;D3:1置位;0:清除
// ASCII 字模寬度及高度定義
#define ASC_CHR_WIDTH 8
#define ASC_CHR_HEIGHT 12
#define GH_Addr 0x2000
// ASCII 字模,顯示為8*16
extern uchar gCurRow;
extern uchar gCurCol;
extern uint8 gCurMode;
extern uchar const *MenuIndex[5];
extern const uchar uPowArr[];
extern uchar FBpos[];
uchar fnGetRow(void);
uchar fnGetCol(void);
uchar fnST01(void); // 狀態位STA1,STA0判斷(讀寫指令和讀寫數據)
uchar fnST2(void); // 狀態位ST2判斷(數據自動讀狀態)
uchar fnST3(void); // 狀態位ST3判斷(數據自動寫狀態)
uchar fnST6(void); // 狀態位ST6判斷(屏讀/屏拷貝狀態)
uchar fnPR1(uchar uCmd,uchar uPar1,uchar uPar2); // 寫雙參數的指令
uchar fnPR11(uchar uCmd,uchar uPar1); // 寫單參數的指令
uchar fnPR12(uchar uCmd); // 寫無參數的指令
uchar fnPR13(uchar uData); // 寫數據
uchar fnPR14(uchar uData); // 寫數據
uchar fnPR2(void); // 讀數據
void fnSetPos(uchar urow, uchar ucol);
void cursor(uchar uRow, uchar uCol);
void cls(void);
char fnLCMInit(void);
void FunBlock(uchar X,uchar Y,uchar width,uchar height);
uchar dprintf(char *fmt, ...);
void ReadLcd(void);
void DispBMP(uchar Xs, uchar Ys, uchar Xw, uchar Yh,const uchar *BMPdata);
uchar cprintf(uchar *fmt);
uchar tcprintf(uchar *fmt);
#define LCM_TEXT gCurMode = 1;fnSetPos(0,0);fnPR12(LC_DIS_SW | 0x04);
#define LCM_GRAPH gCurMode = 0;fnSetPos(0,0);fnPR12(LC_DIS_SW | 0x08);
#define LCM_GT gCurMode = 0;fnSetPos(0,0);fnPR12(LC_DIS_SW | 0x0c);
#define LCM_CURSOR_ON gCurMode = 1;fnSetPos(0,0);fnPR12(LC_DIS_SW | 0x06);
#define LCM_CURSOR_BLINK gCurMode = 1;fnSetPos(0,0);fnPR12(LC_DIS_SW | 0x07);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -