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

📄 lcd12232_t1.c

📁 最简单的LCD12232液晶显示程序。注释很详细
💻 C
字号:
//文件名:LCD12232_t1.C
//功能:使用12232液晶显示图片演示
//硬件连接:
//       DB0-7 -- P0
//       RW-------GND
//       A0-------P2.1                               
//       E1-------P2.2
//       E2-------P2.3
//       RES-------VCC
//       V0接1K电阻到GND

#include <REGX52.H>
#include<intrins.h>	 //	声明 _nop_();

//硬件连接
#define E1 P2_2 
#define E2 P2_3
#define A0 P2_1 
#define DATA P1 


///////////////////////////////////////////////////////
//私有函数
void delay(unsigned int i)
{
	while(i--);
}
//函数说明:发指令i到主窗口。
void OutMI(unsigned char i)
{ 
	E1 = 1;		 
	A0 = 0;	 
	DATA = i; 
	E1 = 0;  	
	_nop_();	_nop_(); 
	E1 = 1;
}

//函数说明:发数据i到主窗口。
void OutMD(unsigned char i)
{ 
	E1 = 1;		 
	A0 = 1;	 
	DATA = i; 
	E1 = 0;  	
	_nop_();	_nop_(); 
	E1 = 1;
}

//函数说明:发指令i到从窗口。
void OutSI(unsigned char i)
{ 
	E2 = 1;		 
	A0 = 0;	 
	DATA = i; 
	E2 = 0;  	
	_nop_();	_nop_(); 
	E2 = 1;
}

//函数说明:发数据i到从窗口。
void OutSD(unsigned char i)
{ 
	E2 = 1;		 
	A0 = 1;	 
	DATA = i; 
	E2 = 0;  	
	_nop_();	_nop_(); 
	E2 = 1;	
}
//函数说明:同时设置主从显示页为0-3页。
void SetPage(unsigned char page0,unsigned char page1) 
{ 
	OutMI(0xB8 |page1);
	OutSI(0xB8 |page0); 
}
//函数说明:同时设置主从列地址为0-79
void SetAddress(unsigned char address0,unsigned char address1)
{ 
	//OutMI(0x7F & address0);
	//OutSI(0x7F & address1);
	OutMI(address0);
	OutSI(address1);

}
//私有函数
///////////////////////////////////////////////////////


//////////////////////////////////////////////////////
//公共函数

//函数说明:12232点阵液晶初始化,开机后仅调用一次。
void LcdIni(void) 
{ 
//	RW = 0;
	E1 = 1;
	E2 = 1;

	OutMI(0XE2); // 复位 (13)
	OutSI(0XE2); // 复位 (13)
	delay(20); 
	
	OutMI(0XAF); //开屏幕显示(不影响显示内容)(1)
	OutSI(0XAF); //开屏幕显示(不影响显示内容)(1)

//	OutMI(0XEE); //关闭“读-修改-写”模式(12)
//	OutSI(0XEE); //关闭“读-修改-写”模式(12)	
	
	//OutMI(0XA4);//正常驱动 (9)
	//OutSI(0XA4);//正常驱动 (9)
	
//	OutMI(0XA9); //1/32占空比(10)
//	OutSI(0XA9); //1/32占空比(10) 
	
	OutMI(0XA1); //设置显示方向为反向(8)
	OutSI(0XA1); //设置显示方向为反向(8)
	
	//OutMI(0XE0); //打开“读-修改-写”模式(11)
	//OutSI(0XE0); //打开“读-修改-写”模式(11)

	
	
	OutMI(0X00); //设置起始列为第0列 (4)
	OutMI(0XC0); //设置起始行为第0行 (2)
	OutSI(0X00); //设置起始列为第0列 (4)
	OutSI(0XC0); //设置起始行为第0行 (2)
	
	OutMI(0XAF); //开屏幕显示(不影响显示内容)(1)
	OutSI(0XAF); //开屏幕显示(不影响显示内容)(1)
}




void main()
{
	E1 = 1;
	E2 = 1;

	OutMI(0XE2); // 复位 (13)
	OutSI(0XE2); // 复位 (13)
	delay(20);
	
	OutMI(0XAF); //开屏幕显示(不影响显示内容)(1)
	OutSI(0XAF); //开屏幕显示(不影响显示内容)(1) 
//	LcdIni(); 
//	SetPage(0,0);
//	SetAddress(6,6);		
//	OutMD(0x0f);
//	OutSD(0x0f);
 
//	SetPage(0,0);
//	SetAddress(20,20);		
//	OutMD(0x0f);
//	OutSD(0x0f);	
	while(1)
	{
		OutMD(0x0f);
		OutSD(0x0f);
 		delay(20);
//		SetPage(0,0);
//		SetAddress(20,20);		
//		OutMD(0x0f);
//		OutSD(0x0f);
	};	
}

⌨️ 快捷键说明

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