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

📄 lcd12864.h

📁 AT89S52单片机驱动带字库的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 + -