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

📄 main.c

📁 我写的LCD-19264液晶屏驱动程序
💻 C
📖 第 1 页 / 共 2 页
字号:

0x08,0x08,0x08,0xFF,0x88,0x40,0xFE,0x92,0x92,0x92,0xF2,0x92,0x92,0x9E,0x80,0x00,
0x02,0x42,0x81,0x7F,0x40,0x30,0x0F,0xFC,0x44,0x44,0x47,0x44,0x44,0xFC,0x00,0x00,/*"据",27*/


0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,/*"时",28*/

0x40,0x30,0x2C,0xEB,0x28,0x28,0x00,0xF8,0x08,0x08,0xFF,0x08,0x08,0xF8,0x00,0x00,
0x01,0x01,0x01,0xFF,0x41,0x21,0x00,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x00,0x00,/*"钟",29*/

0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0x40,0x00,
0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00,/*"设",30*/

0x00,0x20,0x2F,0xA9,0xA9,0xAF,0xE9,0xB9,0xA9,0xAF,0xA9,0xA9,0x2F,0x20,0x00,0x00,
0x80,0x80,0x80,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0x80,0x80,0x80,0x00,/*"置",31*/

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,/*"空白",32*/

0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,
0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00,/*"正",33*/

0x00,0x04,0x04,0xC4,0x64,0x9C,0x87,0x84,0x84,0xE4,0x84,0x84,0x84,0x84,0x04,0x00,
0x04,0x02,0x01,0x7F,0x00,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x00,/*"在",34*/

0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00,
0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00,/*"中",35*/

0x00,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"…",36*/

0x20,0x30,0xAC,0x63,0x10,0x00,0x08,0x48,0x48,0x48,0x7F,0x48,0x48,0x48,0x08,0x00,
0x22,0x23,0x22,0x12,0x12,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,/*"结",37*/

0x00,0x00,0x00,0x3E,0x2A,0x2A,0x2A,0xFE,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,
0x21,0x21,0x11,0x11,0x09,0x05,0x03,0xFF,0x03,0x05,0x09,0x09,0x11,0x31,0x11,0x00,/*"果",38*/


};
//16*8 点阵字符
unsigned char  code zf[]={
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*"0",0*/

0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*"1",1*/

0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/*"2",2*/

0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*"3",3*/

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*"4",4*/

0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*"5",5*/

0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*"6",6*/

0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*"7",7*/

0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*"8",8*/

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,/*"9",9*/

0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,/*"A",10*/

0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,/*"B",11*/

0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,/*"C",12*/

0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,/*"R",13*/

0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*"I",14*/

0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,/*"m",15*/

0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,/*"K",16*/

0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,/*"F",17*/

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,/*"O",18*/

0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*"=",19*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,/*"-",20*/

0x6C,0x54,0x4C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"2次方",21*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,/*".",22*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*消隐,23*/

0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,/*":",24*/


0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,/*"U",25*/

0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*"=",26*/

0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,/*"K",27*/

0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,/*"V",28*/

0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*"I",29*/

0x00,0xF8,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x7F,0x04,0x08,0x08,0x04,0x07,0x08,/*"μ",30*/

0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,/*"A",31*/



};





//小数字为8*8点阵
unsigned char  code xz[]={

0x00,0x3E,0x41,0x41,0x3E,0x00,0x00,0x00,/*"0",0*/

0x00,0x42,0x7F,0x40,0x00,0x00,0x00,0x00,/*"1",1*/

0x00,0x62,0x51,0x49,0x46,0x00,0x00,0x00,/*"2",2*/

0x00,0x22,0x49,0x49,0x36,0x00,0x00,0x00,/*"3",3*/

0x00,0x38,0x26,0x7F,0x20,0x00,0x00,0x00,/*"4",4*/

0x00,0x4F,0x49,0x49,0x31,0x00,0x00,0x00,/*"5",5*/

0x00,0x3E,0x49,0x49,0x32,0x00,0x00,0x00,/*"6",6*/

0x00,0x03,0x71,0x09,0x07,0x00,0x00,0x00,/*"7",7*/

0x00,0x36,0x49,0x49,0x36,0x00,0x00,0x00,/*"8",8*/

0x00,0x26,0x49,0x49,0x3E,0x00,0x00,0x00,/*"9",9*/

0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00,/*"_",10*/

0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,/*":",11*/

0x00,0x82,0x82,0xFF,0x80,0x80,0x00,0x00,/*"1",12*/

0x88,0xF8,0x88,0x08,0xF8,0x88,0x08,0xF8,/*"m",13*/

0x80,0xE0,0xBC,0x23,0x26,0xB8,0xC0,0x80,/*"A",14*/

0x00,0x3E,0x41,0x41,0x41,0x3E,0x00,0x80,/*"0",15*/

0x80,0x03,0x01,0x79,0x07,0x01,0x00,0x00,/*"7",16*/

0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,/*"5",17*/

0x00,0x01,0x3F,0x40,0x40,0x3F,0x01,0x00,/*"U",18*/


};
//电池标志为8*16点阵
unsigned char  code tu[]={

0x00,0x00,0x1C,0x7E,0x42,0x7E,0x42,0x42,0x7E,0x42,0x42,0x7E,0x42,0x42,0x7E,0x00,/*"bmp1",0*/
0x00,0x00,0x1C,0x7E,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x7E,0x42,0x42,0x7E,0x00,/*"bmp2",1*/
0x00,0x00,0x1C,0x7E,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x7E,0x00,/*bmp3",2*/

};


//显示汉字,fb==1:反白显示,16*16点阵
void dh(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
	unsigned char i,bb,dd;
	for (bb=0;bb<2;bb++)
     {
	     for (i=0;i<16;i++)
	           {
				dd=hz[i+16*bb+n*32];
				if (fb)
					dd=~dd;
				lw(x,y,dd);

			     y=y++;
       		  }
          x=x++;
          y=y-16;
      }
}

//显示字符,fb==1:反白显示,16*8点阵
void df(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
{
      unsigned char i,bb,dd;
      for (bb=0;bb<2;bb++)
      {
	     for (i=0;i<8;i++)
	           {
				dd=zf[i+8*bb+n*16];
				if (fb)
					dd=~dd;
				lw(x,y,dd);
			     y=y++;
       		  }
          x=x++;
          y=y-8;
      }
}

//8*8点阵显示,fb==1:反白显示
void dxz(uchar x,uchar y,uchar n,uchar fb)
{
      unsigned char i,bb,dd,tt,gg;
       for (bb=0;bb<1;bb++)
      {
	     for (i=0;i<8;i++)
	           {
				dd=xz[i+8*bb+n*8];
				if (fb)
					dd=~dd;
				lw(x,y,dd);
			     y=y++;
       		  }
          x=x++;
          y=y-8;
      }
}


//8*16 电池图形点阵,fb==1:反白显示
void dtx(uchar x,uchar y,uchar n,uchar fb)
{
      unsigned char i,bb,dd,tt,gg;
       for (bb=0;bb<1;bb++)
      {
	     for (i=0;i<16;i++)
	           {
				dd=tu[i+16*bb+n*16];
				if (fb)
					dd=~dd;
				lw(x,y,dd);
			     y=y++;
       		  }
          x=x++;
          y=y-8;
      }
}



void diyiping()               //产品厂家信息
{
		dh(0,52,0,0);
		dh(0,76,1,0);
		dh(0,100,2,0);
		dh(0,124,3,0);
		dh(3,24,4,0);
		dh(3,40,5,0);
		dh(3,56,6,0);
		dh(3,72,7,0);
		dh(3,88,8,0);
		dh(3,104,9,0);
		dh(3,120,10,0);
		dh(3,136,11,0);
		dh(3,152,12,0);
		dh(6,8,13,0);
		dh(6,24,14,0);
		dh(6,40,15,0);
		dh(6,56,16,0);
		dh(6,72,17,0);
		dh(6,88,18,0);
		dh(6,104,19,0);
		dh(6,120,20,0);
		dh(6,136,21,0);
		dh(6,152,22,0);
		dh(6,168,23,0);
}

void dierping()         //主菜单
{
		dtx(1,176,0,0);          //电池满格

    dxz(0,108,0,0);         //显示年月日
		dxz(0,114,8,0);
		dxz(0,120,10,0);
		dxz(0,126,1,0);
		dxz(0,132,1,0);
		dxz(0,138,10,0);
		dxz(0,144,1,0);
		dxz(0,150,7,0);

		dxz(0,162,1,0);          //显示时分
		dxz(0,168,2,0);
		dxz(0,174,11,0);
		dxz(0,180,2,0);
		dxz(0,186,9,0);

		//dh(2,36,32,1);               //反白显示,测试
		dh(2,52,10,1);
		dh(2,68,32,1);
		dh(2,84,32,1);
		dh(2,100,32,1);
		dh(2,108,32,1);
		dh(2,124,11,1);
	//	dh(2,140,32,1);

		dh(4,52,24,0);               //历史数据
		dh(4,76,25,0);
		dh(4,100,26,0);
		dh(4,124,27,0);

		dh(6,52,28,0);              //时钟设置
		dh(6,76,29,0);
		dh(6,100,30,0);
		dh(6,124,31,0);

}

void disanping()                //测试界面
{
	  dtx(1,176,0,0);          //电池满格

		dxz(0,108,0,0);         //显示年月日
		dxz(0,114,8,0);
		dxz(0,120,10,0);
		dxz(0,126,1,0);
		dxz(0,132,1,0);
		dxz(0,138,10,0);
		dxz(0,144,1,0);
		dxz(0,150,7,0);

		dxz(0,162,1,0);          //显示时分
		dxz(0,168,2,0);
		dxz(0,174,11,0);
		dxz(0,180,2,0);
		dxz(0,186,9,0);

		dh(0,0,33,0);               //正在测试中:
		dh(0,16,34,0);
		dh(0,32,10,0);
		dh(0,48,11,0);
		dh(0,64,35,0);
	//	df(0,80,24,0);
		dh(0,80,36,0);

		df(3,58,25,0);              //U=XX.XKV
		df(3,70,26,0);              //=
		df(3,118,27,0);             //K
		df(3,126,28,0);             //V

		df(3,82,2,0);  //26.8
		df(3,90,6,0);
		df(3,98,22,0);
		df(3,106,8,0);


		df(6,58,29,0);              //I=XXXuA
		df(6,70,26,0);              //=
		df(6,118,30,0);             //u
		df(6,126,31,0);             //A

		df(6,82,1,0);  //1999
		df(6,90,9,0);
		df(6,98,9,0);
		df(6,106,9,0);


}

void disiping()   //测试结果
{
	  dtx(1,176,0,0);          //电池满格

		dxz(0,108,0,0);         //显示年月日
		dxz(0,114,8,0);
		dxz(0,120,10,0);
		dxz(0,126,1,0);
		dxz(0,132,1,0);
		dxz(0,138,10,0);
		dxz(0,144,1,0);
		dxz(0,150,7,0);

		dxz(0,162,1,0);          //显示时分
		dxz(0,168,2,0);
		dxz(0,174,11,0);
		dxz(0,180,2,0);
		dxz(0,186,9,0);

		dh(0,0,10,0);               //测试结果:
		dh(0,16,11,0);
		dh(0,32,37,0);
		dh(0,48,38,0);
		df(0,64,24,0);



		df(3,46,25,0);              //U1mA=XX.XKV
		dxz(4,54,12,0);
		dxz(4,62,13,0);
		dxz(4,70,14,0);
		df(3,82,26,0);
		df(3,130,27,0);
		df(3,138,28,0);

		df(3,94,2,0);  //26.8
		df(3,102,6,0);
		df(3,110,22,0);
		df(3,118,8,0);


		df(6,46,29,0);              //I,I0.75U=XXXuA
		dxz(7,52,15,0);             //0.
		dxz(7,60,16,0);             //7
		dxz(7,66,17,0);             //5
		dxz(7,72,18,0);             //U
		df(6,82,26,0);             //=
		df(6,130,30,0);             //u
		df(6,138,31,0);             //A

		df(6,94,1,0);  //1999
		df(6,102,9,0);
		df(6,110,9,0);
		df(6,118,9,0);
}

uchar namekey(void)
{
 uchar   SW;
 uchar   KK ;
 bit flag;

 flag=IRcvByte(0x40,&SW);//读pcf8574数据

 if ( (SW&0xff)!=0xff)   //如果无键按下,则返回键值0
           {
              delay1ms (10) ;     //按键延时10ms
              flag=IRcvByte(0x40,&SW);//读pcf8574数据

              if ( (SW&0xff)!=0xff)     //如果判断无键,则为误抖动,返回0
	                       {
			                          KK = SW;
			                          do( flag=IRcvByte(0x40,&SW));//读pcf8574数据
                                     while ( (SW&0xff)!=0xff);   //等键释放
			                          KK = KK & 0xff ;
			                          switch(KK)
			                            {
			                            	case  0xfe:return(1);break;  //上
			                              case  0xfd:return(2);break;  //下
			                              case  0xfb:return(3);break; //右
			                              case  0xf7:return(4);break;  //返回
			                              case  0xef:return(5);break;  //存储
			                              case  0xdf:return(6);break;  //打印
			                              case  0xbf:return(7);break; //确定

			                            }

	                       }
            }
     return (0);
}

void program_1()
{

}



void program_2()
{

}


void program_7()
{
	lcd_init() ; //清屏
 	disanping(); //测试中
}


void key_chuli_1(uchar key)   //按键处理1,键值为3、4、5、6均不起作用
{
  switch(key)
         {
         case 1:program_1();  break;//上
         case 2:program_2();   break;//下
         case 7:program_7();  break;//确定
         }
}


void main()
 {  uchar key;
 	lcd_init() ; //液晶屏初始化,清屏


 	diyiping();   //产品信息显示
  do                              //等待确定键被按下
 	{key=namekey();}
 	while(key!=7);

 	lcd_init() ; //清屏
  dierping();   //测试主菜单

  do                             //等待有键被按下
     {key=namekey();}
     while(!key);      //key=0,表示无键按下,继续扫描键盘
     key_chuli_1(key);           //有键被按下,转键盘处理1

 /* 	lcd_init() ; //清屏
 	disanping(); //测试中

	delay1ms(255);
 	delay1ms(255);
 	delay1ms(255);
 	delay1ms(255);
 	lcd_init() ; //清屏
 	disiping();   //测试结果
   */
       while(1);
}

⌨️ 快捷键说明

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