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

📄 lgm12864_lcd_driver.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 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 + -