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

📄 eg1206f4.c

📁 这是一款针对大部分都可以通用的128x64标准程序。是8080 interface
💻 C
字号:
/*ic splc502b-c
vop:8.7v    write by dices  */
#include<reg52.h>

sbit rs=P3^6;
sbit rd=P3^5;
sbit res=P3^7;
sbit cs=P3^1;
sbit wr=P3^0;

unsigned char ratio;
unsigned char refer;
unsigned char data1;
unsigned char data2;
extern unsigned char code piture[];
extern unsigned char code piture1[];
//extern unsigned char code picture2[];

void write_data(unsigned char data3);
void write_com(unsigned char com);
void ini(void);
void delay(unsigned char d);
void wdot(unsigned char d1,unsigned char d2);
void display(void);
void dispaly_map(unsigned char e[]);
void main()
{
   EA=1;
   PX1=1;
   IT1=1;
   EX1=1;
   ratio=0x25;
   refer=26; 
   ini();
   while(1)
   {
       dispaly_map(piture);
       display();
       dispaly_map(piture1);
   }
}
void write_data(unsigned char data3)
{ 
   rs=1;
   cs=0;
   rd=1;
   wr=0;
   P1=data3;
   delay(1);
   wr=1;
   cs=1;
   //delay(10);
	 

}
void write_com(unsigned char com)
{
   rs=0;
   cs=0;
   rd=1;
   wr=0;
   P1=com;
   delay(1);
   wr=1;
   cs=1;
   //delay(10);

}
void zd(void)interrupt 1  using 0
{
   unsigned char InputKey;
	 P2=0x0f;
     InputKey=P2;
   
     switch(InputKey)
            {
            case 0x0b:
              if(refer<64){  ++refer;ini(); }
              break;
            case 0x0e:
              if(refer>0)   {  --refer;ini();}
              break;
            default:
              break;
             } 
}
void ini(void)
{
	 res=1;
	 delay(1000);
     res=0;
	 delay(1000);
	 res=1;
	 write_com(0xe2);
	 delay(1000);		 //reset
	 write_com(0xa0);	 //adc
	 write_com(0x40);	 //start line
	 write_com(0xc0);	 //common dir
	 write_com(0xa2);	  //a2 1/9  a3 1/7
	 write_com(ratio);	  //				
	 write_com(0x81);	  //
     write_com(refer);	  //
	 write_com(0x2f);	  //power control
	 write_com(0xaf);     //display on
	

}
void dispaly_map(unsigned char e[])
{       unsigned char p;
        unsigned char w;
        unsigned char k;
		unsigned char i;
        i=0;
		k=0xb0;		 
     for(w=0;w<8;w++)
	 {
    write_com(k+w);	   //pages
	write_com(0x10);	//seg 0
	write_com(0x00);
	for(p=0;p<128;p++)
	{ 
	 
      write_data(e[w*128+p]);
	  
	}
	}
	delay(5000);
}
void display()
{ 
    wdot(0xff,0xff);
	wdot(0x00,0x00);
    wdot(0xaa,0xaa);
	wdot(0x55,0x55);
	wdot(0x00,0xff);
	wdot(0xff,0x00);
    wdot(0xaa,0x55);
	wdot(0x55,0xaa);
}
//-----------------------------------
void wdot(unsigned char d1,unsigned char d2)
{   
     unsigned char k;
	 unsigned char p;
	 unsigned char w;
     k=0xb0;
	 for(w=0;w<8;w++)
	 {
    	write_com(k+w);	  //page set
		write_com(0x10);  //column addr set upper
		write_com(0x00);  //column addr set lower
		for(p=0;p<64;p++)
		{ 
      		write_data(d1);
	  		write_data(d2);
		}
	  }
  	  delay(1000);
}
void delay(unsigned char d)
{
  int k;
  int t;
  for(k=30;k>0;k--)
  {
    for(t=0;t<d;t++) 
	{}
  }
}

⌨️ 快捷键说明

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