⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pg160128.h

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 H
字号:
//-----------------------------------------------------------------
//  名称: PG160128显示驱动程序头文件
//-----------------------------------------------------------------
#define INT8U  unsigned char
#define INT16U unsigned int 
#define _XTAL_FREQ 4000000UL
#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 LCD_CUR_POS  0x21    //设置光标位置(在屏幕上的位置)
#define LCD_CGR_POS  0x22    //设置CGRAM偏置地址
#define LCD_ADD_POS  0x24    //设置DDRAM地址
#define LCD_TXT_STP  0x40    //文本区首址
#define LCD_TXT_WID  0x41    //文本区宽度
#define LCD_GRH_STP  0x42    //图形区首址
#define LCD_GRH_WID  0x43    //图形区宽度
#define LCD_MOD_OR   0x80    //显示方式:逻辑或
#define LCD_MOD_XOR  0x81    //显示方式:逻辑异或
#define LCD_MOD_AND  0x82    //显示方式:逻辑与
#define LCD_MOD_TCH  0x83    //显示方式:文本特征
#define LCD_DIS_SW   0x90    //显示开关
//D0=1/0:光标闪烁启用/禁用;D1=1/0:光标显示启用/禁用;
//D2=1/0:文本显示启用/禁用;D3=1/0:图形显示启用/禁用;
#define LCD_CUR_SHP  0xA0    //光标形状选择(1线,2线,...8线[块状]光标)
#define LCD_AUT_WR   0xB0    //自动写设置
#define LCD_AUT_RD   0xB1    //自动读设置
#define LCD_AUT_OVR  0xB2    //自动读/写结束
#define LCD_INC_WR   0xC0    //数据写,地址加1
#define LCD_INC_RD   0xC1    //数据读,地址加1
#define LCD_DEC_WR   0xC2    //数据写,地址减1
#define LCD_DEC_RD   0xC3    //数据读,地址减1
#define LCD_NOC_WR   0xC4    //数据写,地址不变
#define LCD_NOC_RD   0xC5    //数据读,地址不变
#define LCD_SCN_RD   0xE0    //读屏幕
#define LCD_SCN_CP   0xE8    //屏幕拷贝
#define LCD_BIT_OP   0xF0    //位操作
//-----------------------------------------------------------------
// 变更LCD与MCU的连接时,
// 只需要修改以下数据端口,控制端口及控制引脚定义
//-----------------------------------------------------------------
//LCD数据端口及端口方向定义
#define LCD_DATA_PORT   PORTD
#define LCD_DATA_IN()   TRISD = 0xFF
#define LCD_DATA_OUT()  TRISD = 0x00
//LCD控制引脚定义(读,写,命令/数据寄存选择)
#define WR RC5
#define RD RC6
#define CD RC7
//-----------------------------------------------------------------
// 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();                                          //读数据
void Display_Str_at_xy(INT8U x,INT8U y,char Buffer[],INT8U wb); //在指定位置显示字符串
void 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);                        //绘点

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -