📄 lgm12864_lcd_driver.c
字号:
//-----------------------------------------------------------------
// 名称: LGM12864LCD显示驱动程序 (不带字库)
//-----------------------------------------------------------------
#include <htc.h>
#include "LGM12864.h"
//-----------------------------------------------------------------
// 向LCD发送命令
//-----------------------------------------------------------------
void LCD_Write_Command(INT8U cmd)
{
}
//-----------------------------------------------------------------
// 向LCD发送数据
//-----------------------------------------------------------------
void LCD_Write_Data(INT8U dat)
{
}
//-------------------------------------------
//LCD初始化函数
void LCD_Initialize()
{
RST = 0; __delay_ms(1); //复位LCD
RST = 1; //恢复LCD正常工作
LCD_Write_Command(0x30); __delay_ms(15); //基本指令操作
LCD_Write_Command(0x01); __delay_ms(15); //清除显示
LCD_Write_Command(0x06); __delay_ms(15); //光标移动方向
LCD_Write_Command(0x0c); __delay_ms(15); //开显示,关光标,不闪烁
}
//-----------------------------------------------------------------
//
// 通用显示函数
//
// 从第P页第L列开始显示W个字节数据,数据在r所指向的缓冲
// 每字节8位是垂直显示的,高位在下,低位在上
// 每个8*128的矩形区域为一页
// 整个LCD又由64x64的左半屏和64x64的右半屏构成
//-----------------------------------------------------------------
void Common_Show(INT8U P,INT8U L,INT8U W,INT8U *r)
{
INT8U i;
//显示在左半屏或左右半屏
if( L < 64 )
{
}
//全部显示在右半屏
else
{
}
}
//-----------------------------------------------------------------
// 显示一个8×16点阵字符
//-----------------------------------------------------------------
void Display_A_Char_8X16(INT8U P,INT8U L,INT8U *M)
{
Common_Show( P, L, 8, M ); //显示上半部分8*8
Common_Show( P + 1, L, 8, M + 8 ); //显示下半部分8*8
}
//-----------------------------------------------------------------
// 显示一个16×16点阵汉字
//-----------------------------------------------------------------
void Display_A_WORD(INT8U P,INT8U L,INT8U *M)
{
Common_Show( P, L, 16, M ); //显示汉字上半部分16*8
Common_Show( P + 1,L, 16, M + 16); //显示汉字下半部分16*8
}
//-----------------------------------------------------------------
// 显示一串16×16点阵汉字
//-----------------------------------------------------------------
void Display_A_WORD_String(INT8U P,INT8U L,INT8U C,INT8U *M)
{
INT8U i;
for (i = 0; i < C; i++)
{
Display_A_WORD(P, L + i * 16, M + i * 32);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -