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

📄 nt7508.c

📁 是一款对LCD模组灰阶测试的标准程序
💻 C
字号:
 /*/*************************************************
Copyright (A), 2009, EASTTOP DISPLAY Co., Ltd.
File name:EG1212B2 
Author:pixel    Version:1.0    Date:09/02/26
Description:Test LCM Display effect    
Others:    Interface(6800) 
           Vop:14.0V        VDD;3.0V   	
Function List: 
             void delay(unsigned int d);	  //delay
             void ComWrite(Uchar com);		  //写命令子函数
             void DatWrite(Uchar dat);		  //写数据子函数
             void Initial(void);			  //LCM初始化函数
			 void DispBmp(Uchar bmp[],Uchar dot1,Uchar dot2);  //写一个画面
History:
	         1.Date:
               Author:dices
               Modification:
             2. ...
*************************************************/ 
#include<mreg52.h>
#define Uchar unsigned char
Uchar refer,ratio;	 
extern unsigned char code i[];
extern unsigned char code shu[];
void delay(unsigned int d);	  //delay
void ComWrite(Uchar com);		  //写命令子函数
void DatWrite(Uchar dat);		  //写数据子函数
void Initial(void);			  //LCM初始化函数
//void dispChar(unsigned char dat);//显示窗口函数
void DispBmp(Uchar dot1,Uchar dot2);  //写一个画面
void delay(unsigned int  d)
{
 int d3;
 for(;d!=0;d--)
 {
  for(d3=100;d3!=0;d3--)
  {}
 }
}

void ComWrite(Uchar com)
{	
    CS=0;
    RS=0;
	RW=0;
	E=1;
	P1=com;
	E=0;
}		

void DatWrite(Uchar dat)
{ 
    CS=0;
    RS=1;
	RW=0;
	E=1;
	P1=dat;
	E=0;
}
void Initial(void)
{
    RES=1;
	delay(500);
	RES=0;
	delay(500);
	RES=1;
	delay(500);
    ComWrite(0xe2);	 //osc on
	delay(1000);     //soft reset
   ComWrite(0xf7);
   ComWrite(0x00);
	ComWrite(0xa4);	 //osc on
	ComWrite(0x48);	 //osc on
	ComWrite(128);	 //osc on

	ComWrite(0x40);	 //12 FRM
	ComWrite(0x00);	 //12 FRM
	 
	ComWrite(0x4c);	 //12 FRM
	ComWrite(0x40);	 //12 FRM

	ComWrite(0xa2);	 //ICON off

	ComWrite(0xc8);	 //Normal com
	ComWrite(0xa0);	 //Normal seg

	ComWrite(0xab);	 //osc on
	ComWrite(0x6f);	 //6x DC-DC up

	ComWrite(0x27);  //0x20-27
	delay(10);
	ComWrite(0x81);
	ComWrite(refer);
	delay(10);
	ComWrite(0x2f);	 //Normal com
	delay(100);
	ComWrite(0x57);	 //1/12bias
		ComWrite(0xa7);
	ComWrite(0xaf);
}
void DispBmp(Uchar dot1,Uchar dot2)
{	 
    Uchar i,k,page=0xb0;
	ComWrite(0x40);	 //12 FRM
	ComWrite(0x00);	 //12 FRM
	ComWrite(0x92);
    ComWrite(0x88);
   ComWrite(0xcc);
   ComWrite(0x89);
   ComWrite(0xcc); 

    ComWrite(0x8a);
   ComWrite(0x00);
   ComWrite(0x8b);
   ComWrite(0x00); 								                        

    ComWrite(0x8c);
   ComWrite(0x00);
   ComWrite(0x8d);
   ComWrite(0x00); 

    ComWrite(0x8e);
   ComWrite(0xff);
   ComWrite(0x8f);
   ComWrite(0xff); 
	for(i=0;i<16;i++)
    { 
        ComWrite(page+i);
	    ComWrite(0x10);
	    ComWrite(0x00);
		
		    for(k=0;k<64;k++)
		    {
		        DatWrite(dot1);
		        DatWrite(dot1);
		        DatWrite(dot2); 
		        DatWrite(dot2);  
		    }
		
    }
	delay(3000);
}
void dom(Uchar pic[])
{	 
       Uchar i,k,page=0xb0;
	ComWrite(0x40);	 //12 FRM
	ComWrite(0x00);	 //12 FRM
	ComWrite(0x92);
    ComWrite(0x88);
   ComWrite(0xcc);
   ComWrite(0x89);
   ComWrite(0xcc); 

    ComWrite(0x8a);
   ComWrite(0x00);
   ComWrite(0x8b);
   ComWrite(0x00); 								                        

    ComWrite(0x8c);
   ComWrite(0x00);
   ComWrite(0x8d);
   ComWrite(0x00); 

    ComWrite(0x8e);
   ComWrite(0xff);
   ComWrite(0x8f);
   ComWrite(0xff); 
	for(i=0;i<16;i++)
    { 
        ComWrite(page+i);
	    ComWrite(0x10);
	    ComWrite(0x00);
		
		    for(k=0;k<64;k++)
		    {
		        DatWrite(*pic++);
		        DatWrite(*pic++);
				DatWrite(*pic++);
		        DatWrite(*pic++);   
		    }
		
    }
	delay(3000);
}

void downkey()  interrupt 0 using 0
{
           
              --refer;
			  Initial();
			 

}  	                
void upkey() interrupt 2 using 0
{		
             ++refer;Initial();
			           
} 
void main()
{
   EA=1;
   EX1=1;
   IT1=1;
   IT0=1;
   EX0=1;	
   refer=52;
   ratio=0x27;
   Initial();
   while(1)
   {
        dom(i);
        DispBmp(0xff,0xff);  
		DispBmp(0x00,0x00);
		DispBmp(0xff,0x00);
		DispBmp(0x00,0xff);
		DispBmp(0xaa,0xaa);
		DispBmp(0x55,0x55);
		DispBmp(0xaa,0x55);
		DispBmp(0x55,0xaa);
	    dom(shu);
   }
}

⌨️ 快捷键说明

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