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

📄 uc1697.c

📁 ultrachip uc1698 test programe with MTP
💻 C
字号:
//UC1697v---  128*128 2007
#include "reg51.h"
#include "uc1697.h"
#include "uc1697v1.h"
 #define uint unsigned int
 #define uchar unsigned char
sbit CS0 = P3^0;
sbit RST = P3^1;
sbit CD  = P3^4;	
sbit WR0 = P3^5;	
sbit WR1 = P3^6;
sbit K2=P3^2;
sbit K3=P3^3;
sbit K1=P3^7;
sbit K4=P2^0;
 
   unsigned char pm=0x45;/*vop,PM值*/
   unsigned char pmm=0x00;/*vop加减后的临界值*/
   unsigned char dv0=0x00;/*VOP增减基数*/
   unsigned char dv=0x20;/*MTP阶数*/
   unsigned char pm0=0x00;/*vop偏移量的值*/
   unsigned char pm01=0x00;/*一位一位写入寄存器*/

   void windowprogram4(void);

unsigned char code text_pin24[];
unsigned char code text_pin25[];
void windowprogram3(void);
void display_pic1();
 void dispText1(unsigned char code *text);  
   void init(void);
void display_black(void);
void display_white(void);
void writei(unsigned char d);
void writed(unsigned char d);
void windowprogram1(void);
void horizontal();
void vertical();
void frame();
void snow();
void gray16();
void Pattern8();
void writed1(uchar,uchar) ;  
void colorful();
void colorbar();
void Block_Main(uchar x0,x1,y0,y1,data_h,data_l);
void delay(long tt);
void display_rgb(unsigned char a,unsigned char b);
void display_colorbar();
void display_pic();
void windowprogram(void);
void vopup(void);
void vopdown(void);
void otp_erase(void);
void otp_operation(void);
void otp_program(void);
void count(void);
unsigned char kscan();
void getstatus();

void main(void)
{
unsigned char key=0;

RST=0;
delay(200);
RST=1;
delay(20000);
init();
/*
    while(1)
   {
      	key= key+kscan();
      	if(key>8) key=1;
      	switch(key)
       	{
      		case 1:{display_rgb(0xf8,0x00);}break;//r
      		case 2:{display_rgb(0x07,0xe0);}break;//g
      		case 3:{display_rgb(0x00,0x1f);}break;//b
      		case 4:{display_colorbar() ;} break;
     		case 5:{display_pic();      } break;
           case 6:{Pattern8(); } break;
	    	case 7:{gray16();} break;
			//case 7:{colorbar();} break;
     		//case 7:{colorbar();} break;
       		default:break;


        }
    }*/
while(1)
     {

	 display_pic();
  delay(1000);

  	        windowprogram3();
       dispText1(text_pin24);

	         windowprogram4();
       dispText1(text_pin25);

	    //windowprogram5();
       //dispText1(text_pin26);

       delay(1000000);
      display_rgb(0xf8,0x00);
	  //delay(10);
	  display_pic1();
	   delay(1000);

	  }
    
}

unsigned char kscan()
{
	unsigned char i=80;
	while(1)
	{
		if(K1==0|K2==0|K3==0|K4==0)
		{
			if(K1==0)
			{
				delay(10);
				if(K1==1)
				{
					delay(10);
                    
					return(1);
				}
			}
			if(K2==0)
			{
				delay(10);
				if(K2==1)
				{
	              delay(100);
	              otp_erase();   /*一定要erase before programme*/
	              delay(100);
				  vopup();
				  delay(100);	
				}
			}
			if(K3==0)
			{
				delay(10);
				if(K3==1)
				{
				delay(100);
				otp_erase();   /*一定要erase before programme*/
				delay(100);
				vopdown();
			    delay(100);
				}
			}
			if(K4==0)
		   {
			 delay(10);	
			 if(K4==1)
			{
				delay(100);
				otp_operation();
			
			}
		   }
		   
		}
	}
}

/*********************************************/
void windowprogram3(void)
{
//  writei(0x42);
//  writei(x1);
//  writei(x2);//0x9F);
//  writei(0x43);
 // writei(y1);//0x00);
//  writei(y2);//0x7F);      


      writei(0x70);
      writei(0x60);
	  writei(0x10);
	  writei(0x00);

      writei(0xF4);//set colum address start
      writei(0x00);

      writei(0xF6);
      writei(0x17);//set colum address end

      writei(0xF5);//set row address start
      writei(0x00);

      writei(0xF7);//set row address end
      writei(0x17);

      writei(0xF8);//set window outside mode enable



}
/*************************************************************/

/*********************************************/
void windowprogram4(void)
{      
      writei(0x71);
      writei(0x67);
	  writei(0x11);
	  writei(0x07);

      writei(0xF4);//set colum address start
      writei(0x18);

      writei(0xF6);
      writei(0x2f);//set colum address end

      writei(0xF5);//set row address start
      writei(0x18);

      writei(0xF7);//set row address end
      writei(0x2f);

      writei(0xF8);//set window outside mode enable



}
/******************************************************/

unsigned char code text_pin24[]=

{

/* 点阵:24x24

   提取点阵方向:横向(先左->右, 再上->下)

   字节掉转:否

   字节方式:C语言 */

      0x00,0x30,0x00,0x00,0x18,0x00,0x00,0x0C,
      0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
      0x18,0x00,0x03,0xFC,0x00,0x00,0x18,0x00,
      0x00,0x18,0x40,0x01,0x9C,0x70,0x3F,0xDC,
      0xE0,0x01,0x9B,0x80,0x01,0x9A,0x00,0x01,
      0x19,0x00,0x03,0x19,0x00,0x02,0x18,0x80,
      0x06,0x18,0xC0,0x04,0x18,0x60,0x0C,0x18,
      0x38,0x18,0x18,0x1E,0x20,0x18,0x08,0x41,
      0xF8,0x00,0x00,0x70,0x00,0x00,0x20,0x00,



};

unsigned char code text_pin25[]=

{

/* 点阵:24x24

   提取点阵方向:横向(先左->右, 再上->下)

   字节掉转:否

   字节方式:C语言 */
      0x02,0x01,0x00,0x03,0x81,0xC0,0x03,0x21,
      0x88,0x3F,0xEF,0xFC,0x03,0x01,0x80,0x3F,
      0xEF,0xF8,0x03,0x01,0x84,0x7F,0xEF,0xFE,
      0x03,0x01,0x80,0x02,0x01,0x30,0x0F,0xFF,
      0xF8,0x00,0x00,0x30,0x00,0x00,0x30,0x07,
      0xFF,0xF0,0x00,0x00,0x30,0x00,0x00,0x30,
      0x0F,0xFF,0xF0,0x02,0x00,0x20,0x13,0x98,
      0xA0,0x13,0x0C,0x98,0x33,0x08,0x8C,0x33,
      0x00,0xC4,0x63,0xFF,0xC0,0x01,0xFF,0x80,



};
/**********************************************************/
void dispText1(unsigned char code *text)
{
	unsigned char tempText;
    unsigned char i,j;
	for(i=0;i<72;i++)
	{
	tempText = *text;
	for(j=0;j<8;j++)
	{
		if(((tempText)&(0x80))>0)
		{
			writed1(0xff,0xff);

		}else
		{
			writed1(0x00,0x00);
		}
		tempText = tempText << 1;
	}
	text++;
    }
}
/**********************************************************/
void init(void)
{/*
writei(0xE2);     //system reset
delay(2000);
writei(0xEa);    //set bias=1/11 这个需要根据你们具体的bias来更改
writei(0x81);    //set vop
writei(0x45);     //set vop=15v,这个参数需要根据你们的VOP来更改
writei(0x2f);    //set pump control
writei(0x2b);    //set panel loading
writei(0x24);    // set TC=-0.05%
writei(0xa2);    // set line rate
writei(0xd1);    //set color pattern
writei(0xd6);    //set color mode 64k
writei(0xC8);    //set n-line inversion
writei(0x1c);
writei(0xde);    //set com scan function
writei(0xAf);    //set display enable

*/
writei(0xE2);     //system reset
delay(2000);
writei(0xEa);    //set bias=1/11 这个需要根据你们具体的bias来更改
writei(0x81);    //set vop
writei(0x45);     //set vop=15v,这个参数需要根据你们的VOP来更改
writei(0x2f);    //set pump control
writei(0x2b);    //set panel loading
writei(0x24);    // set TC=-0.05%
writei(0xa2);    // set line rate

writei(0x89);    //set color pattern
writei(0xd1);    //set color pattern
writei(0xd6);    //set color mode 64k
writei(0xC8);    //set n-line inversion
writei(0x18);


writei(0xc2);    //set color pattern

writei(0x84);    //set n-line inversion
//writei(0x89);
//writei(0x0f);    //set n-line inversion
//writei(0x65);

writei(0xde);    //set com scan function
writei(0xaf);    //set display enable

}


void windowprogram(void)
{

      writei(0x70);
      writei(0x60);
	  writei(0x10);
	  writei(0x00);
      writei(0xF4);//set colum address start
      writei(0x00);

      writei(0xF6);
      writei(0x7f);//set colum address end

      writei(0xF5);//set row address start
      writei(0x00);

      writei(0xF7);//set row address end
      writei(0x7f);

      writei(0xF8);//set window outside mode enable

}

void windowprogram1(void)
{

      writei(0x70);
      writei(0x65);
	  writei(0x10);
	  writei(0x05);

      writei(0xF4);//set colum address start
      writei(0x05);

      writei(0xF6);
      writei(0x64);//set colum address end

      writei(0xF5);//set row address start
      writei(0x05);

      writei(0xF7);//set row address end
      writei(0x64);

      writei(0xF8);//set window outside mode enable

}


void Pattern8()                                    /* 彩条*/
{
    unsigned int i,j;
 
      writei(0x70);
      writei(0x60);
	  writei(0x10);
	  writei(0x00);
    for(j=0x00;j<0x80;j++)                       /* X-address

⌨️ 快捷键说明

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