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

📄 12864zk.c

📁 12864显示程序(EE21学习板演示程序)
💻 C
字号:
/*********************************************
**项目: 12864显示程序(EE21学习板演示程序)

**作者:一线工人

**网站:电子工程师之家 www.eehome.cn

**转贴请保持代码的完整性
*********************************************/
#include <reg52.h> 
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int
sbit  RS=P3^5; 
sbit  RW=P3^6;
sbit  E=P3^4;  
sbit  PSB=P3^7; 
sbit dm=P1^4;
sbit wm=P1^5;
sbit led=P1^6;
#define  LCDdata P0
unsigned char COUNT3,COUNT2,COUNT1,COUNT,LCD_X,LCD_Y,LCD_DATA1,LCD_DATA2,LCD_DATA,F3,R1,FX; 
const unsigned char code TU_TAB1[]={ 
/*--  调入了一幅图像:C:\Documents and Settings\Administrator\桌面\logo22.bmp  --*/
/*--  宽度x高度=128x64  --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xF8,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x30,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x38,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x1C,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xC0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0xFF,0xFD,0xFC,0x01,0xFF,0xBE,0x41,0xE8,0x0F,
0xFF,0xFF,0xFF,0x00,0x03,0xFC,0x03,0xFF,0xFD,0xDF,0xFB,0xC0,0x18,0xDD,0xEF,0x7F,
0xFF,0xFF,0xFE,0x00,0x01,0xF8,0x03,0xFF,0xC0,0x0F,0xF7,0xFD,0xFE,0xDD,0xAF,0x7F,
0xFF,0xFF,0xFC,0x00,0x00,0x7C,0x03,0xFF,0xDD,0xDF,0xCF,0xFD,0xF8,0x41,0xA8,0x0F,
0xFF,0xFF,0xF8,0x00,0x00,0x3C,0x03,0xFF,0xC0,0x1F,0xDD,0xFD,0xFE,0xFF,0xAB,0x6F,
0xFF,0xFF,0xE0,0x00,0x00,0x0C,0x03,0xFF,0xDD,0xD8,0x00,0xFD,0xFC,0x80,0xAB,0x6F,
0xFF,0xFF,0xC0,0x00,0x00,0x00,0x03,0xFF,0xDD,0xDF,0xDF,0xFD,0xFC,0x77,0xAB,0x6F,
0xFF,0xFF,0x80,0x01,0x00,0x00,0x03,0xFF,0xC0,0x1F,0xDF,0xFD,0xFA,0xC1,0xAB,0x6F,
0xFF,0xFF,0x00,0x03,0xC0,0x00,0x03,0xFF,0xDD,0xFF,0xDF,0xFD,0xFA,0xF7,0xEB,0x4F,
0xFF,0xFE,0x00,0x07,0xE0,0x00,0x03,0xFF,0xFD,0xEF,0xDF,0xFD,0xFE,0xF7,0xDF,0x7F,
0xFF,0xFC,0x00,0x1F,0xF8,0x00,0x03,0xFF,0xFE,0x0F,0x1F,0x80,0x0E,0x80,0xBF,0x7F,
0xFF,0xF8,0x00,0x3F,0xFC,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE0,0x00,0x7F,0xFF,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xC0,0x01,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0x80,0x03,0xFF,0xFF,0xE0,0x00,0x1F,0xFF,0xFF,0xFF,0x7F,0xFB,0xFF,0xFF,0xFF,
0xFF,0x00,0x07,0xFF,0xFF,0xF8,0x00,0x0F,0xFF,0xFF,0xFF,0xBF,0x80,0x1F,0xFF,0xFF,
0xFE,0x00,0x1F,0xFF,0xFF,0xFE,0x00,0x03,0xFF,0xFF,0xF0,0x07,0x3F,0xDF,0xFF,0xFF,
0xFC,0x00,0x3F,0xFF,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0xFF,0xEF,0xC0,0x7F,0xFF,0xFF,
0xF8,0x00,0x1F,0xFF,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xDF,0xEB,0xBF,0xFF,0xFF,
0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xBF,0xDB,0x7F,0xFF,0xFF,
0xC0,0x00,0x00,0x01,0xF0,0x00,0x08,0x07,0xFF,0xFF,0xFF,0x7F,0x34,0xFF,0xFF,0xFF,
0x80,0x06,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFE,0xFF,0xE9,0x7F,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFD,0xFF,0x95,0xBF,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xF2,0xFF,0xCD,0xDF,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0x01,0x31,0xFF,0xFF,0xFF,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x1F,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x1F,0xFF,0x8F,0x1D,0x3C,0x60,0xF1,0xFF,0xC2,0x4F,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x1F,0xFF,0x76,0xEC,0xDB,0xB5,0x6E,0xFF,0xBB,0x37,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x1F,0xFF,0x06,0x0D,0xDB,0xB5,0x60,0xFF,0xBF,0x77,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x1F,0xFF,0x7E,0xFD,0xDB,0xB5,0x6F,0xFF,0xBF,0x77,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x1F,0xFF,0x76,0xED,0xDB,0xB5,0x6E,0xCF,0xBB,0x77,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0x8F,0x18,0xCC,0x65,0x31,0xCF,0xC6,0x33,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x07,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xDE,0xFF,0xFD,0xFE,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xDE,0xBC,0x00,0xFE,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xBE,0xDF,0xDF,0xFE,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xB6,0x0F,0xDF,0xFE,0xFF,0xFF,
0xFF,0xFE,0x00,0x01,0xF0,0x00,0x0F,0xFF,0xFF,0xFB,0x08,0xFF,0xDF,0xFE,0xFF,0xFF,
0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,0xDE,0x0F,0xDF,0xFE,0xFF,0xFF,
0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB0,0xFF,0xDF,0xFD,0x7F,0xFF,
0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0E,0xDF,0xDF,0xFD,0x7F,0xFF,
0xFF,0x83,0xC1,0xC0,0xF0,0x60,0x3C,0x1F,0xFF,0xFF,0xFE,0xBF,0xDF,0xFB,0xBF,0xFF,
0xFF,0x39,0x9C,0xC6,0x67,0x24,0x99,0xCF,0xFF,0xFF,0xE7,0x6F,0xDE,0xF7,0xDF,0xFF,
0xFF,0x39,0x9C,0xCE,0x67,0x24,0x99,0xCF,0xFF,0xFF,0x1E,0xA8,0x00,0x6F,0xE3,0xFF,
0xFF,0x01,0x80,0xCE,0x67,0x24,0x98,0x0F,0xFF,0xFF,0xB9,0xCF,0xFF,0xDF,0xF7,0xFF,
0xFF,0x3F,0x9F,0xCE,0x67,0x24,0x99,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0x39,0x9C,0xCE,0x67,0x24,0x99,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0x83,0xC1,0xCE,0x70,0x64,0x9C,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

}; 

//*************延时程序******************************** 
void delay_10us(unsigned char x)  
{  
  while(x--); 
}  
void delay_ms(uint z)//延时子程序1ms
  {
	uint x,y;
	for(x=z;x>0;x--)
	  for(y=113;y>0;y--);
   }

//**********测试LCD忙****************************
bit Check_Busy()
{
    bit busy;
    RS = 0;
    RW = 1;
    E = 1;
      ;;;;;; 
    busy = (bit)(LCDdata&0x80);
    E = 0;
    return busy;
}
//********等待LCD到空闲***************************
void wait()
{
    while(Check_Busy());
}
//**********写命令*************************** 
void send_cmd(unsigned char cmd ) 
{ 
  wait(); 
  RS=0; 
  RW=0; 
  LCDdata=cmd; 
  E =1; 
  ;;;;;;  
  ;;;;;; 
  E =0; 
} 

//**********写数据*************************** 
void send_data(unsigned char dat ) 
{ wait(); 
  RS=1; 
  RW=0; 
  E =1; 
  LCDdata=dat; 
  ;;;;;; 
  ;;;;;; 
  E =0; 
} 


//***********清屏***************************** 
void clear_LCD(void) 
{ 
  send_cmd(0x01); 
  send_cmd(0x34); 
  send_cmd(0x30); 
} 
//**********LCD初始化************************ 
void initial_LCD(void) 
{   
   PSB=1; 
   delay_10us(10); 
   send_cmd(0x30);//30H--基本指令操作 
   delay_10us(4); 
   send_cmd(0x0c);//开显示,关光标,不闪烁。 
   delay_10us(10); 
   send_cmd(0x01);//清除显示 
   delay_ms(10); 
   send_cmd(0x06);//指定在资料写入或读取时,光标的移动方向,DDRAM的地址计数器(AC)加1。 
    
} 
//**********写准备*************************** 
void WR_ZB(void) 
{ 
   send_cmd(0x34); 
   send_cmd(LCD_Y); 
   send_cmd(LCD_X); 
   send_cmd(0x30); 
} 




//**********显示图形子程序********************* 
void PHO_DISP( unsigned char *s) 
{ 
   COUNT3=0X02; 
   LCD_X=0X80; 
   for (;COUNT3!=0;COUNT3--) 
   { 
       LCD_Y=0X80; 
       COUNT2=0X20;//32 
       for (;COUNT2!=0;COUNT2--) 
       { 
         COUNT1=0X10;//16 
         WR_ZB(); 
         for (;COUNT1!=0;COUNT1--) 
          { 
            send_data(*s++); 
             
          } 
         LCD_Y+=1; 
       } 
       LCD_X=0X88; 
   } 
   send_cmd(0x36); 
   send_cmd(0x30); 
} 

   
void main(void) 
{ 
   dm=0;
   wm=0;
   led=0;
   initial_LCD(); 
   while (1) 
   {    delay_ms(500); 
       clear_LCD(); 
	   delay_ms(1000); 
      PHO_DISP(TU_TAB1);///显示图形 
	     delay_ms(5000); 
      while (1);      
   } 
}  

⌨️ 快捷键说明

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