📄 lcd12232_t1.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 + -