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

📄 122x32h.h

📁 12232液晶的驱动程序
💻 H
字号:
////////////////////////////////////////////////////////////////////////////////
// 122x32液晶驱动程序 MCU = 89C51,晶震 = 12M							////
// lcm122x32      mega8515    lm122x32    mega8515  lm122x32    mega8515////////
//   E1 ......... PC4(P11)    E2 ......... PC7(P12)   RW ...... PC5(P13)////////
//   A0 ......... PC6(P14)    D0 ......... PA0(P00)   D1 ...... PA1(P01)////////
//   D2 ......... PA2(P02)    D3 ......... PA3(P03)   D4 ...... PA4(P04)////////
//   D5 ......... PA5(P05)    D6 ......... PA6(P06)   D7 ...... PA7(P07)////////
////////////////////////////////////////////////////////////////////////////////

////液晶操作主要函数////////////////////////////////////////////////////////////
//void lcd_init(void)
//引用:lcd_init(); 说明:LCD初始化;
////////////////////////////////////////////////////////////////////////////////
//void lcd_clr(void)
//引用:lcd_clr();  说明:LCD清屏;
////////////////////////////////////////////////////////////////////////////////
//void disp_one_ascii(uchar col,uchar layer,uchar ascii_code,uchar mode)
//引用:disp_one_ascii(列,行(上下两行),ASCII码,模式(0-正常显示,非0-反白显示)) 
//说明:显示ASCII
///////可以显示自定义字符
////////////////////////////////////////////////////////////////////////////////
//void disp_ram_data(uchar col,uchar layer,uchar n,uchar mode)
//引用:disp_ram_data(列,行,个数(<=4),模式(0-正常显示,非0-反白显示));
//说明:显示十进制数字(<=4个)
///////相应的增大缓冲区可以扩展输出字符个数
////////////////////////////////////////////////////////////////////////////////
//void dprintf(uchar col,uchar layer,uchar *ptr,uchar mode)
//引用:dprintf(列,行,汉字或英文符号,模式(0-正常显示,非0-反白显示))
//说明:1.输出混合字符(ASCII码符号,字母,数字,汉字)
///////2.在字符的最后加一个空格可以删除其后的字符
////////////////////////////////////////////////////////////////////////////////

//功能引脚定义
//#define A0 BIT(PC6)						//数据1/命令0选择
sbit A0 = P1^4;
//#define WR BIT(PC5)						//读1/写0
sbit _WR = P1^3;
//#define E1 BIT(PC4)						//片选1(Master)
sbit E1 = P1^1;
//#define E2 BIT(PC7)						//片选2(slave)
sbit E2 = P1^2;
//#define lcd_data PORTA                    //数据 
#define lcd_data P0

//常用操作宏定义
#define set_E1() (E1=1)          //1片选M
#define set_E2() (E2=1)          //1片选S
#define set_A0() (A0=1)          //1数据    
#define set_WR() (_WR=1)         //1读

#define clr_E1() (E1=0)          //0
#define clr_E2() (E2=0)          //0
#define clr_A0() (A0=0)          //0命令
#define clr_WR() (_WR=0)         //0写

//液晶显示控制命令表
#define disp_off			0xAE		//显示关闭
#define disp_on 			0xAF		//显示打开
#define disp_start_line  	0xC0		//显示起始地址(后5位-表示0-31行)
#define page_addr_set		0xB8		//页地址设置(0~3)
#define col_addr_set		0x00		//列地址设置(0~61)
#define status_busy			0x80		//0=ready
#define mode_write          0xEE        //写模式
#define dynamic_driver      0xA4        //动态驱动 
#define adc_select			0xA0		//clockwise
#define clk32 	            0xA9		//刷新时钟设置1/32
#define clk16 	            0xA8		//刷新时钟设置1/16
#define reset    			0xE2		//软件复位

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -