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 + -
显示快捷键?