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

📄 m_zongxian.c

📁 液晶MGLS2401128TA的控制程序
💻 C
字号:
#include <AT89X51.H>
#include <absacc.H>

#define  c_write XBYTE[0xfaff]
#define  c_read XBYTE[0xf9ff]
#define  d_write XBYTE[0xf2ff]
#define  d_read XBYTE[0xf1ff]

sbit lcdCD = P2^3;
sbit lcdWR = P2^0;
sbit lcdRD = P2^1;
sbit lcdCE=P2^2;
sbit light = P3^4;

//----------delay time------------------//
void delay(unsigned int a)
{unsigned int i;
while(a--)
for(i=0;i<125;i++);

}
//----------read code st0 st1-----------//
unsigned char std01(void)
{unsigned char i;
for(i=10;i>0;i--)
{
if((c_read&0x03)==0x03)
break;
}
return i;
}
//---------read code st2---------//
unsigned char std2(void)
{unsigned char i;
for(i=10;i>0;i--)
{
if((c_read&0x04)==0x04)
break;
}
return i;
}
//----------read code st3---------//
unsigned char std3(void)
{unsigned char i;
for(i=10;i>0;i--)
{
if((c_read&0x08)==0x08)
break;
}
return i;
}

//----------read code st6---------//
unsigned char std6(void)
{unsigned char i;
for(i=10;i>0;i--)
{
if((c_read&0x40)==0x40)
break;
}
return i;
}

//--------- write 2 num and 1 code to lcm----------//
unsigned char pr1(unsigned char a,unsigned char b,unsigned char c)
{
if(std01()==0)
return 1;
d_write=a;

if(std01()==0)
return 2;
d_write=b;

if(std01()==0)
return 3;
c_write=c;
return 0;
}
//--------write 1 num and 1 code to lcm------------//
unsigned char pr11(unsigned char a,unsigned char c)
{
if(std01()==0)
return 1;
d_write=a;

if(std01()==0)
return 2;
c_write=c;
return 0;

}

//-------write 1 code to lcm----------//
unsigned char pr12(unsigned char c)
{
if(std01()==0)
return 1;
c_write=c;
return 0;
}

//----------read data from lcm---------//
unsigned char pr2(void)
{
if(std01()==0)
return 1;

return d_read;
}


//----------write 1 data to lcm----------//
unsigned char pr13(unsigned char a)
{
if(std3()==0)
return 1;
d_write=a;
return 0;

}

//-------------cls the lcm---------------//
void cls(void)
{unsigned int i;
pr1(0x00,0x00,0x24);
pr12(0xb0);
for(i=0;i<240*30;i++)
{
std3();
pr13(0xff);//-------------

}
pr12(0xb3);
pr1(0x00,0x00,0x24);//----
}

//---------start the lcm------------//
char start(void)
{
if(pr1(0x00,0x00,0x40)!=0)
return -1;
pr1(0x1e,0x00,0x41);
pr1(0x00,0x00,0x42);
pr1(0x1e,0x00,0x43);
pr12(0xa1);
pr12(0x80);
pr12(0x98);
return 0;

}
//---------setting the xy in lcm-----------------//
void go_xy(unsigned char x,unsigned char y)
{
unsigned char temp;
temp=x*16*30+y;
pr1(0x24,temp&0xff,temp/256);
}
//------------ main function---------------------//
void main(void)
{P0=0xff;
P2=0xff;

delay(100);
light=0;
start();

cls();
go_xy(0x00,0x00);
light=1;
while(1);
}

⌨️ 快捷键说明

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