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

📄 gxm12864t1_t6963.c

📁 12864.rar
💻 C
字号:
#include <reg51.h>
#include <stdio.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define nop()  _nop_()


sbit GXM12864_T6963_WR=P3^5;
sbit GXM12864_T6963_RD=P3^4;
sbit GXM12864_T6963_CD=P3^3;
sbit GXM12864_T6963_FS=P3^6;
sbit light_back=P3^7;

void  GXM12864_T6963_delay1ms(uint delay_xms);
void  GXM12864_T6963_delay50us(uchar count50us);
uchar  GXM12864_T6963_RWcheck();
void  GXM12864_T6963_AutoRcheck();
void  GXM12864_T6963_AutoWcheck();
void  GXM12864_T6963_OutPortData(unsigned char dat);
void  GXM12864_T6963_OutPortCom1(unsigned char command);
void  GXM12864_T6963_OutPortCom2(unsigned char dat,unsigned char command);
void  GXM12864_T6963_OutPortCom3(unsigned char data1,unsigned char data2,unsigned char command);
void  GXM12864_T6963_ClearScreen();
void  GXM12864_T6963_Map_initlcd(void);
void  GXM12864_T6963_Txt_initlcd(void);
//*******************************************//
uchar code *PP;

uchar code  GXM12864_T6963_tab[]={
/*--  调入了一幅图像:D:\test\GXM12864_T6963.bmp  --*/
/*--  宽度x高度=128x64  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0x10,0x40,0x22,0x03,0xFE,0x20,0x80,0x7F,0x04,0x48,0x21,0x00,0x00,0x00,
0x00,0x08,0x0B,0xBC,0x22,0x42,0x22,0x17,0xF8,0x41,0x05,0xFE,0x21,0x00,0x00,0x00,
0x07,0xC8,0x02,0x24,0x5F,0xE2,0x22,0x00,0x00,0x7F,0x04,0x48,0x21,0x00,0x00,0x00,
0x00,0x5F,0x82,0x24,0x42,0x02,0x22,0x42,0x40,0x41,0x1E,0xFC,0x27,0xE0,0x00,0x00,
0x04,0x91,0x3A,0x24,0xDF,0xC3,0xFE,0x22,0xF0,0x7F,0x04,0x84,0xF9,0x20,0x00,0x00,
0x02,0xA4,0x0A,0x25,0x52,0x42,0x22,0x04,0x90,0x00,0x0E,0xFC,0x21,0x20,0x00,0x00,
0x01,0x04,0x0A,0xA4,0x5F,0xC2,0x22,0x15,0x51,0xF7,0xD5,0x84,0x2F,0xF0,0x00,0x00,
0x01,0x04,0x0B,0x34,0x52,0x43,0xFE,0x2C,0xA1,0x14,0x54,0xFC,0x21,0x00,0x00,0x00,
0x02,0x8A,0x0A,0x28,0x4A,0x02,0x22,0x64,0x41,0xF7,0xC4,0x20,0x3A,0x80,0x00,0x00,
0x02,0x52,0x08,0x20,0x44,0x02,0x22,0x24,0xA1,0x14,0x45,0xFE,0xC4,0x40,0x00,0x00,
0x04,0x21,0x14,0x00,0x4B,0x04,0x22,0x25,0x11,0xF7,0xC4,0x48,0x08,0x20,0x00,0x00,
0x00,0x40,0xA3,0xFC,0x70,0xE8,0x26,0x26,0x09,0x14,0x47,0x86,0x10,0x10,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x01,0x12,0x08,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x81,0x7F,0x88,0x40,
0x01,0xCD,0xDD,0xC4,0x1C,0x38,0x38,0x23,0xE1,0x00,0x00,0x2F,0xF1,0x12,0x08,0x40,
0x02,0x44,0x8D,0x8C,0x22,0x44,0x48,0x62,0xA3,0x00,0x00,0x01,0x07,0xBF,0x09,0xF8,
0x04,0x04,0x8D,0x84,0x22,0x44,0x80,0xA0,0x81,0x00,0x00,0xE2,0x21,0x21,0x3E,0x48,
0x04,0x03,0x0D,0x84,0x02,0x28,0xB1,0x20,0x81,0x00,0x00,0x27,0xC3,0xBF,0x08,0x48,
0x04,0x03,0x0A,0x84,0x04,0x38,0xC9,0x20,0x81,0x00,0x00,0x20,0x95,0x61,0x0B,0xFC,
0x04,0xE3,0x0A,0x84,0x08,0x44,0x8A,0x20,0x81,0x0C,0x00,0x21,0x25,0x3F,0x08,0x40,
0x04,0x44,0x8A,0x84,0x10,0x44,0x89,0xE0,0x81,0x0C,0x00,0x2A,0x41,0x08,0x0E,0xA0,
0x02,0x44,0x8A,0x84,0x20,0x44,0x88,0x20,0x81,0x04,0x00,0x34,0xC1,0x7F,0xB1,0x10,
0x01,0x8E,0xDA,0xCE,0x3E,0x38,0x70,0x71,0xC3,0x88,0x00,0x21,0x21,0x12,0x02,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x11,0xE1,0x84,0x04,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0x0F,0xF8,0x00,0x00,0x00,0x00,0x02,0x20,0x02,0x00,0x00,0x22,0x20,0x00,
0x03,0xF0,0x08,0x88,0x00,0x00,0x00,0x00,0x02,0x20,0x22,0x00,0x00,0x11,0x20,0x00,
0x02,0x22,0x08,0x88,0xF8,0x71,0xC1,0xC7,0x1F,0xFC,0x22,0x00,0x00,0x11,0x40,0x00,
0x01,0x12,0x08,0x88,0xA8,0x92,0x22,0x48,0x82,0x20,0x22,0x00,0x00,0x07,0xF0,0x00,
0x01,0x24,0x0F,0xF8,0x21,0x02,0x24,0x00,0x80,0x80,0x3F,0xE0,0x00,0x70,0x80,0x00,
0x07,0xFF,0x88,0x88,0x21,0x62,0x25,0x83,0x02,0x40,0x20,0x00,0x00,0x17,0xF8,0x00,
0x00,0x30,0x08,0x88,0x21,0x92,0x66,0x40,0x82,0x48,0x3F,0x00,0x00,0x10,0x80,0x00,
0x00,0x68,0x0F,0xF8,0x21,0x11,0xA4,0x40,0x8A,0x04,0x21,0x06,0x00,0x11,0x40,0x00,
0x00,0xA4,0x08,0x88,0x21,0x10,0x24,0x40,0x8A,0x04,0x21,0x06,0x00,0x12,0x20,0x00,
0x01,0x22,0x08,0x88,0x21,0x12,0x44,0x48,0x92,0x10,0x21,0x02,0x00,0x14,0x10,0x00,
0x06,0x21,0x90,0x88,0x70,0xE3,0x83,0x87,0x02,0x10,0x41,0x04,0x00,0x28,0x00,0x00,
0x00,0x20,0x20,0x98,0x00,0x00,0x00,0x00,0x01,0xF0,0x81,0x00,0x00,0x47,0xF8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x84,0x01,0x00,0x02,0x00,0x20,0x08,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0xA4,0x00,0x80,0x02,0x82,0x20,0x13,0xF0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0xC8,0x3F,0xFC,0x02,0x41,0x20,0x20,0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,
0x07,0xEF,0x81,0x01,0xFF,0xE1,0x20,0x48,0x01,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x01,0x99,0x01,0x00,0x02,0x07,0xFE,0x17,0xF9,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x06,0xC9,0x01,0xF0,0xFA,0x00,0x42,0x30,0x41,0x3C,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x89,0x01,0x10,0x22,0x00,0x42,0x50,0x41,0x24,0x80,0x00,0x00,0x00,0x00,0x00,
0x07,0xEA,0x02,0x10,0x22,0x00,0xA2,0x10,0x41,0x24,0x80,0x00,0x00,0x00,0x00,0x00,
0x01,0x24,0x02,0x10,0x21,0x00,0x92,0x10,0x41,0x3C,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0xC6,0x04,0x10,0x3D,0x21,0x02,0x10,0x41,0x20,0x80,0x00,0x00,0x00,0x00,0x00,
0x01,0x29,0x08,0xA1,0xE0,0xA2,0x14,0x10,0x41,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x06,0x10,0x90,0x40,0x80,0x64,0x08,0x10,0xC1,0x01,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

void GXM12864_T6963_delay1ms(uint delay_xms)
{
   uint i,j,m;
  for(i=0;i<delay_xms;i++)
  {
   for(j=0;j<280;j++)
   {
    for(m=0;m<125;m++)
     {
       nop();
       nop();
       nop();
       nop();
       nop();
       nop();
     }
   }
  }
}

//***********delay50us************************//
void GXM12864_T6963_delay50us(uchar count50us)

{
    uchar data k ;
     _nop_();
    for(k=0;k<2*count50us;k++)
    {

      _nop_();
      _nop_();
      _nop_();
      _nop_();
      _nop_();
      }
      }
//***********************************************//
uchar  GXM12864_T6963_RWcheck()
{
	unsigned char sta;
	do{      P1=0x0ff;
	         GXM12864_T6963_CD=1;
	         GXM12864_T6963_RD=0;
                 sta=P1&0x03;
		 GXM12864_T6963_RD=1;
	}
	while(sta!=0x03);
}
void  GXM12864_T6963_AutoRcheck()
{
	unsigned char sta;
	do{         P1=0x0ff;
		 GXM12864_T6963_CD=1;
	         GXM12864_T6963_RD=0;
                 sta=P1&0x04;
		 GXM12864_T6963_RD=1;;

	}
	while(sta!=0x04);
}
void GXM12864_T6963_AutoWcheck()
{
	unsigned char sta;
	do
	{         P1=0x0ff;
		 GXM12864_T6963_CD=1;
	         GXM12864_T6963_RD=0;
                 sta=P1&0x08;
		 GXM12864_T6963_RD=1;
	}
	while(sta!=0x08);
}
//*******************************************************//
void GXM12864_T6963_OutPortData(unsigned char dat1)
{
	      //GXM12864_T6963_RWcheck();
	      GXM12864_T6963_CD=0;
	      GXM12864_T6963_WR=0;
              P1=dat1;
              GXM12864_T6963_WR=1;
              GXM12864_T6963_CD=1;
}
void GXM12864_T6963_OutPortCom1(unsigned char command1)
{
	        GXM12864_T6963_RWcheck();
	        GXM12864_T6963_CD=1;
	         GXM12864_T6963_WR=0;
                 P1=command1;
		 GXM12864_T6963_WR=1;
                 GXM12864_T6963_CD=1;
}
void GXM12864_T6963_OutPortCom2(unsigned char dat2,unsigned char command2)
{
	 GXM12864_T6963_OutPortData(dat2);
	 GXM12864_T6963_OutPortCom1(command2);
}
void GXM12864_T6963_OutPortCom3(unsigned char data1,unsigned char data2,unsigned char command)
{
	GXM12864_T6963_OutPortData(data1);
	GXM12864_T6963_OutPortData(data2);
	GXM12864_T6963_OutPortCom1(command);
}
void GXM12864_T6963_ClearScreen()
{
	unsigned int i;
	GXM12864_T6963_OutPortCom3(0x00,0x00,0x24);//;显示地址设置
	GXM12864_T6963_OutPortCom1(0xb0);  //;自动写操作;数据一次读写设置1 1 0 0 0 N2 N1 N0 N2N1N0=000写操作地址自动加一
	for(i=0;i<8192;i++)
	{
		//GXM12864_T6963_OutPortData(0X0ff);
		GXM12864_T6963_OutPortData(0X00);
	}
	GXM12864_T6963_OutPortCom1(0xb2);
}
void GXM12864_T6963_Map_initlcd(void)
{
        GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x00,0x08,0x42);//;图形显示区首地址设置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(16,0x00,0x43);    // ;图形显示区宽度=水平8点象数为1个字节 12864 128例占16个字节
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0x0a0);           //;光标形状设置1 0 1 0 0 N2 N1 N0
	GXM12864_T6963_RWcheck();
        GXM12864_T6963_OutPortCom1(0x80);            //;显示方式设置1 0 0 0 CG N2 N1 N0  CG=0 启用内部的CGROM N2N1N0=000文本与图形以逻辑“或”合成方式
        GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0x98);             //;显示状态设置 1 0 1 0 N3 N2 N1 N0  启用图形显示方式
}
void GXM12864_T6963_Txt_initlcd(void)
{
        GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x01,0x00,0x21);   //;光标显示地址设置置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x00,0x00,0x40);   // ;文本显示地址设置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(16,0x00,0x41);   //;文本显示区宽度=显示屏的例数1行所占的字节数16*8=128
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0x97);             //;显示状态设置 1 0 1 0 N3 N2 N1 N0  启用图形显示方式 文本,光标
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0x0a0);            //;光标形状设置1 0 1 0 0 N2 N1 N0
	  GXM12864_T6963_RWcheck();
	 GXM12864_T6963_OutPortCom1(0x80);            //;显示方式设置1 0 0 0 CG N2 N1 N0  CG=0 启用内部的CGROM N2N1N0=000文本与图形以逻辑“或”合成方式

}
void main(void)
{     uint  i,j;
      GXM12864_T6963_delay1ms(1);
      GXM12864_T6963_WR=1;
      GXM12864_T6963_RD=1;
      GXM12864_T6963_CD=1;
      GXM12864_T6963_FS=0;
      light_back=0;
	//GXM12864_T6963_Map_initlcd();
	GXM12864_T6963_ClearScreen();
	//GXM12864_T6963_Txt_initlcd();
	while(1)
	{
//****************display  text**********************************//
	GXM12864_T6963_Txt_initlcd();
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x00,0x00,0x24);   // ;文本显示地址设置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0xb0);  //;自动写操作;数据一次读写设置1 1 0 0 0 N2 N1 N0 N2N1N0=000写操作地址自动加一
	for(i=0;i<16;i++)
	{
	for(j=0;j<16;j++)
	{
	GXM12864_T6963_OutPortData(j+i*16);
	}
	}
	GXM12864_T6963_OutPortCom1(0xb2);
	GXM12864_T6963_delay1ms(5);
//*****************display  map  snap1**********************************//
	GXM12864_T6963_Map_initlcd();
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x00,0x08,0x24);   // ;文本显示地址设置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0xb0);  //;自动写操作;数据一次读写设置1 1 0 0 0 N2 N1 N0 N2N1N0=000写操作地址自动加一
	for(i=0;i<32;i++)
	{
	 for(j=0;j<16;j++)
	{
	GXM12864_T6963_OutPortData(0x55);
	}
	 for(j=0;j<16;j++)
	{
	GXM12864_T6963_OutPortData(0x0aa);
	}
	}
	GXM12864_T6963_OutPortCom1(0xb2);
	GXM12864_T6963_delay1ms(5);
//*****************display  map snap2***********************//
        GXM12864_T6963_Map_initlcd();
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x00,0x08,0x24);   // ;文本显示地址设置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0xb0);  //;自动写操作;数据一次读写设置1 1 0 0 0 N2 N1 N0 N2N1N0=000写操作地址自动加一
	for(i=0;i<32;i++)
	{
	 for(j=0;j<16;j++)
	{
	GXM12864_T6963_OutPortData(0x0aa);
	}
	 for(j=0;j<16;j++)
	{
	GXM12864_T6963_OutPortData(0x055);
	}
	}
	GXM12864_T6963_OutPortCom1(0xb2);
	_nop_();
	GXM12864_T6963_delay1ms(5);
//**************dispaly  picture*******************//

        GXM12864_T6963_Map_initlcd();
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom3(0x00,0x08,0x24);   // ;文本显示地址设置
	GXM12864_T6963_RWcheck();
	GXM12864_T6963_OutPortCom1(0xb0);  //;自动写操作;数据一次读写设置1 1 0 0 0 N2 N1 N0 N2N1N0=000写操作地址自动加一
	PP=GXM12864_T6963_tab;

	for(i=0;i<1024;i++)
	{
	GXM12864_T6963_OutPortData(*PP);
	PP++;
	}
	GXM12864_T6963_OutPortCom1(0xb2);
	_nop_();
	GXM12864_T6963_delay1ms(5);
	 }
}

⌨️ 快捷键说明

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