📄 lcd12864.h
字号:
#ifndef LCD12864_H
#define LCD12864_H
#include<89c51.h>
typedef unsigned char int8u;
typedef unsigned int int16u;
typedef unsigned char code TAB;
typedef unsigned char code BMP12864;
typedef unsigned char code BMP1616;
/*
R/W="H",E="H", 数据被读到DB7--DB0
R/W="L",E="H→L", DB7--DB0的数据被写到IR或DR
*/
sbit DI = P3^2; /* 数据(H)/指令(L) */
sbit RW = P3^3; /* 读(H)/写(L) */
sbit E = P3^4; /* 使能-写(H->L)/读(H) */
sbit PSB= P3^5; /* 8位或4位并口/串口 */
sbit RST= P3^6; /* 复位端,低电平有效 */
sfr DB = 0x80; /* P0口,作为数据总线 */
sbit BF = DB^7; /* LCD模块内部忙标志 */
typedef enum
{
/* 基本指令 */
ext8 = 0x34, /* 8位数据,扩充指令操作 */
clr = 0x01, /* DDRAM填满"20H",复位其AC */
cursor_1 = 0x06, /* 光标的移动方向->正 */
texton = 0x0c, /* 整体显示ON, 游标OFF, 游标位置反白允许OFF */
textoff = 0x08, /* 整体显示OFF, 游标OFF, 游标位置反白允许OFF */
ddbas = 0x80, /* 设定DDRAM 地址,第一行80H~87H,第二行90H~97H */
page0 = 0x80,
page1 = 0x88,
cgbas = 0x40, /* CGRAM基地址,范围:cgbas~cabas+64;每一位地址包括2字节 */
/* 扩充指令 */
bas8 = 0x30, /* 8位数据,基本指令操作 */
grapon = 0x36, /* 扩充指令,图形显示开 */
gdbas = 0x80
}cmd12864;
/*/////////////////////////////////////////////////////////////////////////////////*/
void delay(unsigned int);
void chk_busy(void);
void clrddram(void);
void clrgdram(void);
void flash(void);
void gotoxy(int8u, int8u);
void init_LCD(void);
void lat_disp(int8u);
void LCD_puts(TAB*, int8u);
void pho_disp(BMP12864*);
void putpixel(int8u, int8u, int8u);
int8u read_d();
int8u read_i();
void send_i(cmd12864);
void send_d(int8u);
void setcgram(int8u , BMP1616* );
void setxy(int8u, int8u);
/*/////////////////////////////////////////////////////////////////////////////////*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -