//-----------------------------------------------------------------
// 名称: HDG12864F LCD驱动程序
//-----------------------------------------------------------------
#include <pic.h>
#include "LCD_HDG12864F.h"
//LCD显示地址控制命令
#define PAGE 0xB0 //页地址
#define COL_H4 0x10 //列地址高四位
#define COL_L4 0x00 //列地址低四位
#define LINE 0x40 //行地址
//-----------------------------------------------------------------
// SPI主机初始化
//-----------------------------------------------------------------
void SPI_MasterInit()
{
}
//-----------------------------------------------------------------
// SPI数据传输
//-----------------------------------------------------------------
void SPI_Transmit(INT8U dat)
{
//启动数据传输,等待结束,然后清中断标志
}
//-----------------------------------------------------------------
// LCD初始化
//-----------------------------------------------------------------
void Initialise_LCD()
{
TRIS_CS = TRIS_RES = TRIS_A0 = 0; //液晶控制引脚方向设置
RES = 0; NOP(); RES = 1; //复位
Write_LCD_Command(0xAF); __delay_ms(10); //点亮LCD
Write_LCD_Command(0xA1); __delay_ms(10); //设置从左向右显示
Write_LCD_Command(0xC0); __delay_ms(10); //COM正向输出
Write_LCD_Command(0xA6); __delay_ms(10); //不反白显示
Write_LCD_Command(0xA4); __delay_ms(10); //正常显示,不点亮所有点
Write_LCD_Command(0xA2); __delay_ms(10); //1/9偏压
Write_LCD_Command(0x2F); __delay_ms(10); //电源控制部分
Write_LCD_Command(0x81); __delay_ms(10); //调节LCD亮度
Write_LCD_Command(0x24); __delay_ms(10); //对比度设置
}
//-----------------------------------------------------------------
// 写LCD命令
//-----------------------------------------------------------------
void Write_LCD_Command(INT8U cmd)
{
//CS片选,A0选择命令寄存器,通过SPI接口发端1字节命令cmd,禁止片选
}
//-----------------------------------------------------------------
// 写LCD数据
//-----------------------------------------------------------------
void Write_LCD_Data(INT8U data)
{
//CS片选,A0选择数据寄存器,通过SPI接口发端1字节数据data,禁止片选
}
//-----------------------------------------------------------------
// 设置起始页
//-----------------------------------------------------------------
void setPage(INT8U p)
{
}
//-----------------------------------------------------------------
// 设置起始列
//-----------------------------------------------------------------
void setCol(INT8U c)
{
}
//-----------------------------------------------------------------
// 清屏
//-----------------------------------------------------------------
void ClearScreen()
{
for(INT8U p = 0; p < 8; p++) //全屏8页
{
}
}
//-----------------------------------------------------------------
// 在指定位置显示一组汉字
//-----------------------------------------------------------------
void Disp_Word_String(INT8U p,INT8U c,INT8U n,const INT8U dat[])
{
//从p页c列开始显示dat点阵缓冲中的n个汉字
//每个汉字点阵占32字节,在LCD上占16列宽度
}
//-----------------------------------------------------------------
// 在指定位置显示一个汉字(16*16)
//-----------------------------------------------------------------
void Disp_Word(INT8U p,INT8U c,const INT8U dat[])
{
}
//-----------------------------------------------------------------
// 在指定位置显示一个数字字符(8*16)
//-----------------------------------------------------------------
void Disp_Char(INT8U p,INT8U c,const INT8U dat[])
{
}
//-----------------------------------------------------------------
// 显示一幅图片
//-----------------------------------------------------------------
void Disp_Picture(const INT8U dat[])
{
}