📄 lcd12864.h
字号:
//***************************************************************************//
// 说明
//库名:LCD12864.H
//适用范围:128X64点阵黑白液晶屏,如:KS0108等
//注意事项:对液晶屏操作时,应先操作左屏完成后,再对右屏操作,
// 如需要再回过来写左屏应先清全屏,否则会花屏!
//Design by Minstar@8.5 N.S.
//Test by Minstar
//***************************************************************************//
//***************************************************************************//
// #include <REG52.h>
#include "c8051f000.h"
//***************************************************************************//
//
// // LCD128*64 数据线
#define LCD12864DataPort P1
//
// // LCD128*64 I/O 信号管脚
sbit di =P3^0; // 数据\指令 选择
sbit rw =P3^1; // 读\写 选择
sbit en =P3^2; // 读\写使能
sbit cs1 =P3^3; // 片选1,低有效(前64列)
sbit cs2 =P3^4; // 片选2,低有效(后64列)
//
//***************************************************************************//
/*------------------------函数列表-------------------------------------------*/
//延时
Lcd12864delay();
//状态检查
void CheckState();
//写显示数据
//dat:显示数据
void WriteByte(unsigned char dat);
//向LCD发送命令
//command :命令
SendCommandToLCD(unsigned char command);
//设定行地址(页)--X 0-7
void SetLine(unsigned char line);
//设定列地址--Y 0-63
void SetColumn(unsigned char column);
//设定显示开始行--XX
void SetStartLine(unsigned char startline); //0--63
//开关显示0,1
void SetOnOff(unsigned char onoff);
//选择屏幕
//screen: 0-全屏未选,1-左屏,2-右屏
void SelectScreen(unsigned char screen);
//清屏
//screen: 0-全屏未操作,1-左屏,2-右
void ClearScreen(unsigned char screen);
//初始化LCD
void InitLCD();
//显示一个汉字
//旋转90度:字模被竖着切分
//line:行(0-3), column: 列(0-3),screen:左(1)右(2)屏选择
//hzcode: 汉字代码(自定义的)
//uchar code HZtable(16x16)
void ShowHZ(unsigned char line,unsigned char column,unsigned char screen,unsigned int hzcode);
//显示8*16字符
//line:行(0-3), column: 列(0-7),screen:左(1)右(2)屏选择
//character:字符代码(标准ASCII码)
void ShowChar(unsigned char line,unsigned char column,unsigned char screen,unsigned char character);
//显示背景图片
void ShowBJTable();
//显示5*8数字
//line:行(0-7), column: 列(0-11),screen:左(1)右(2)屏选择,addn:字符显示偏移量0-4
//character:字符代码(标准ASCII码)
void ShowNUM(unsigned char line,unsigned char column,unsigned char screen,unsigned char character,unsigned char addn);
//在指定的位置发送一个字节,操作对应的8个点显示
//line:行(0-7), column: 列(0-63),screen:左(1)右(2)屏选择,byte:待显示的操作字节
void ShowByte(unsigned char line,unsigned char column,unsigned char screen,unsigned char byte);
//表格DataTab[];
/******************************************************************************/
//功能:显示左屏背景方格,长0-63点(每格10点),宽0-63点(每各10点)
/******************************************************************************/
void ShowBG_L();
/******************************************************************************/
//功能:显示右屏背景方格,长0-35点(每格10点,起始点为6),宽0-63点(每各10点)
/******************************************************************************/
void ShowBG_R();
/**********************************************************************/
//显示左屏上的数据点配合背景方格使用(参见ShowBG_L())
//dat(0-63):待显示的数据,column(0-63):显示点的列值
void ShowWave_L(unsigned char dat,unsigned char column);
/**********************************************************************/
//显示右屏上的数据点配合背景方格使用(参见ShowBG_R())
//dat(0-63):待显示的数据,column(0-35):显示点的列值
void ShowWave_R(unsigned char dat,unsigned char column);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -