?? pg160128.h
字號:
//-----------------------------------------------------------------
// 名稱: PG160128顯示驅動程序頭文件
//-----------------------------------------------------------------
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 4000000
#include <stdio.h>
#include <math.h>
#include <string.h>
//-----------------------------------------------------------------
//液晶寬度與高度定義
//-----------------------------------------------------------------
const INT8U LCD_WIDTH = 20; //寬160像素(160/8 = 20個字節)
const INT8U LCD_HEIGHT = 128; //高128像素
//-----------------------------------------------------------------
//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清除
//-----------------------------------------------------------------
// 變更LCD與MCU的連接時,
// 只需要修改以下數據端口,控制端口及控制引腳定義
//-----------------------------------------------------------------
//LCD數據端口及端口方向定義
#define LCD_DATA_PORT PORTD
#define LCD_DATA_IN() TRISD = 0xFF
#define LCD_DATA_OUT() TRISD = 0x00
//LCD控制引腳定義(讀,寫,命令/數據寄存選擇)
#define WR RC2
#define RD RC3
#define CD RC4
//-----------------------------------------------------------------
// LCD控制相關函數
//-----------------------------------------------------------------
INT8U Status_BIT_01(); //狀態位STA1,STA0判斷(讀寫指令和讀寫數據)
INT8U Status_BIT_3(); //狀態位ST3判斷(數據自動寫狀態)
INT8U LCD_Write_Command(INT8U cmd); //寫無參數的指令
INT8U LCD_Write_Command_P1(INT8U cmd,INT8U para1); //寫單參數的指令
INT8U LCD_Write_Command_P2(INT8U cmd,INT8U para1,INT8U para2); //寫雙參數的指令
INT8U LCD_Write_Data(INT8U dat); //寫數據
INT8U LCD_Read_Data(); //讀數據
char LCD_Initialise(); //LCD初始化
void Clear_Screen(); //清屏
void Set_LCD_POS(INT8U row, INT8U col); //設置當前地址
void OutToLCD(INT8U Dat,INT8U x,INT8U y); //輸出到液晶
void Line(INT8U x1, INT8U y1, INT8U x2, INT8U y2, INT8U Mode); //繪制直線
void Pixel(INT8U x,INT8U y, INT8U Mode); //繪點
void Draw_Image(INT8U *G_Buffer, INT8U Start_Row, INT8U Start_Col);//繪制圖像
void Disp_Str_at_xy(INT8U x,INT8U y,char buf[],INT8U len, INT8U rev);//在指定位置顯示字符串
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -