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

📄 lcd全屏幕好使.c

📁 数控直流电源和变频电源程序在c环境下编译
💻 C
字号:

#include <reg52.h>
#include <absacc.h>
#define uint unsigned int
#define uchar unsigned char

unsigned char code QING[32]={
/* 请 */
0x20,0x22,0xEC,0x00,0x20,0x22,0xAA,0xAA,
0xAA,0xBF,0xAA,0xAA,0xEB,0xA2,0x20,0x00,
0x00,0x00,0x7F,0x20,0x10,0x00,0xFF,0x0A,
0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00
};

unsigned char code CHA[32]={
/* 插 */
0x10,0x10,0x10,0xFF,0x90,0x24,0x24,0xA4,
0x24,0xFC,0x22,0x23,0x22,0xB0,0x20,0x00,
0x02,0x42,0x81,0x7F,0x00,0xFF,0x49,0x48,
0x40,0x7F,0x40,0x49,0x49,0xFF,0x01,0x00
};

unsigned char code KA[32]={
/* 卡 */
0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x44,
0x44,0x44,0x46,0x44,0x40,0x60,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,
0x02,0x04,0x0C,0x18,0x00,0x00,0x00,0x00
};


sbit rest=P1^0;
sbit busy=ACC^7;
sbit E=P2^3;
sbit RW=P2^5;
sbit RS=P2^6;
sbit CS1=P2^0;
sbit CS0=P2^1;
static int Q=0;
void check_busy()
{
  P0=0xff;
  RS=0;
  RW=1;
  E=1;
  while(P0 & busy);
  E=0;
  }
/*下面是对液晶屏gxm12864d操作的函数, 128x64点阵,汉字显示,CSA,CSB用来进行左右显示区的选择。*/

/*  发命令i到主窗口*/
void lcd_mwc(uchar i)
{
    if(Q==1){ CS0=1;CS1=0;}
       else{CS0=0;CS1=1;}         
 check_busy();
     RS=0;
     RW=0;
     P0=i;
    E=1;
    E=0;
    }

/*  写数据i到主窗口*/
void lcd_mwd(uchar i)
{ check_busy();	 
     if(Q==1){CS0=1;CS1=0;}
       else{CS0=0;CS1=1;}
     RW=0;
     RS=1;
    P0=i;
    E=1;
    E=0;
}

/*   清屏                                */
void lcd_clear(void)
{
     uchar i;
     uchar page;
     for (page=0xb8;page<0xc0;page++)
         {
             lcd_mwc(page);       /*设置显示页面*/

             lcd_mwc(0x40);       /*设置列地址*/
 
             for (i=0;i<64;i++)
             {
   
                 lcd_mwd(0);
            }
         }
}
//初始化lcd
void lcd_init(void)
{
	lcd_mwc(0xc0);

	lcd_mwc(0x3f);

}

void display(uchar x,uchar y,uchar *p)
       { int i,j;
         lcd_mwc(x);//设置页
         lcd_mwc(y);//设置列
         for(i=0;i<16;i++)
         {lcd_mwd(*(p+i));}
          lcd_mwc(x+1);//设置页
          lcd_mwc(y);//设置列
         for(j=16;j<32;j++)
         {lcd_mwd(*(p+j));}
         }

void main(void)
{        rest=0; 
         rest=1; 
	 E=1;
         Q=0;
	 lcd_clear();
         Q=1;
         lcd_clear();
	 lcd_init();
    Q=0;
   display(0xb8,0x48,QING);
   display(0xba,0x48,CHA);
   display(0xbc,0x48,KA);
   
    Q=1;
   display(0xb8,0x48,QING);
   display(0xba,0x48,CHA);
   display(0xbc,0x48,KA);
    
while(1);
 }

⌨️ 快捷键说明

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