function.c

来自「液晶显示程序」· C语言 代码 · 共 210 行

C
210
字号
#include "define.h"
#include"AT89X52.H"


void writec(unsigned int com)
{RD=1; 
 RS=0;
 CS=0;
 CS=0;
 WR=0;
 WR=0;
 
 P1=com;//low byte
 P2=com>>8;//high byte

 WR=1;
 CS=1;
}

void writed(unsigned int dat)
{RD=1;
 RS=1;
 CS=0;
 CS=0;
 WR=0;
 WR=0;

 P1=dat;//low byte
 P2=dat>>8;//high byte
 WR=1;
 WR=1;
}
//====================================

void RAM_ADRESS(void)
{
 writec(0x0021);
 writed(0x0000);

 writec(0x0022);
}

//====================================

void delay(unsigned int num)
{
 unsigned int i;

 while(num--!=0)

 for(i=0;i<86;i++);

}


//=======================================================

void disp(unsigned int dat)
{
 unsigned char i,j;
 i=j=0;

 RAM_ADRESS();

 for(i=0;i<176;i++) 
  {

   for(j=0;j<220;j++)
    {

	writed(dat);
	 }
  }
}


//==============================================================================
//==============================================================================
void crosstalk(void)
{
  unsigned char i,j;
RAM_ADRESS();

 for(i=0;i<60;i++) 
  {
   for(j=0;j<176;j++)
    {writed(gray3);}
  }

   for(i=60;i<160;i++) 
   {
    for(j=0;j<40;j++)
     {writed(gray3);}
    for(j=40;j<136;j++)
     {writed(black);}
    for(j=136;j<176;j++)
     {writed(gray3);}
    }
 for(i=160;i<220;i++) 
  {
   for(j=0;j<176;j++)
    {writed(gray3);}
  } 
  
 
 
}
//============================================================
void flicker(void)
 {
  unsigned int i,j;

  RAM_ADRESS();

 for(j=0;j<110;j++) 
 {
    for(i=0;i<176;i++){writed(black);}
	for(i=0;i<176;i++){writed(gray3);}
	
 }

}
//=========================================
void disp_Gray_BarH(void)
{
 unsigned int Gray_Step[32]={0x0000,0x0841,0x1082,0x18c3,0x2104,0x2945,0x3186,0x39c7,
 			     0x4208,0x4a49,0x528a,0x5acb,0x630c,0x6b4d,0x738e,0x7bcf,
 			     0x8430,0x8c71,0x94b2,0x9cf3,0xa534,0xad75,0xb5b6,0xbdf7,
 			     0xc638,0xce79,0xd6ba,0xdefb,0xe73c,0xef7d,0xf7be,0xffff}; 
 unsigned int i,j,k,t;

 i=j=k=t=0;
 RAM_ADRESS();
  for(i=0;i<220;i++)
  {
    if(k==10)
	{
      t++;
       k=0;
     }
    k++;
   for(j=0;j<176;j++)
    {
    switch(t){
      case(0):
     writed(Gray_Step[1]);
      break;
      case(1):
      writed(Gray_Step[3]);
      break;
      case(2):
      writed(Gray_Step[5]);
      break;
      case(3):
      writed(Gray_Step[7]);
      break;
      case(4):
      writed(Gray_Step[9]);
      break;
      case(5):
      writed(Gray_Step[11]);
      break;
      case(6):
     writed(Gray_Step[13]);
      break;
      case(7):
     writed(Gray_Step[15]);
      break;
       case(8):
     writed(Gray_Step[17]);
      break;
	  case(9):
     writed(Gray_Step[19]);
      break; 
	   case(10):
     writed(Gray_Step[21]);
      break;
      case(11):
     writed(Gray_Step[23]);
      break;
      case(12):
     writed(Gray_Step[25]);
      break;
     case(13):
     writed(Gray_Step[27]);
      break;
     case(14):
     writed(Gray_Step[29]);
      break;
      case(15):
     writed(Gray_Step[31]);
      break;
	  default:
      break;
      }
     }
  }
}

//========================================
void Pause(void)
 {
   while(PAUSE);
  }




  

⌨️ 快捷键说明

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