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

📄 lm4229.h

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 H
字号:
//-----------------------------------------------------------------
//  名称: LM4229(T6963C)显示驱动程序头文件
//-----------------------------------------------------------------
#define INT8U  unsigned char
#define INT16U unsigned int 
#define _XTAL_FREQ 8000000UL
//-----------------------------------------------------------------
//液晶宽度与高度定义
//-----------------------------------------------------------------
#define LCD_WIDTH    30     //宽240像素(240/8 = 30个字节)
#define 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 RC1
#define CD RC0
//-----------------------------------------------------------------
// 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);//在指定位置显示字符串

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(const INT8U *G_Buffer, INT8U Start_Row, INT8U Start_Col);//绘制图像

⌨️ 快捷键说明

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