?? lcdhz.c
字號:
#include <reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define COM XBYTE[0x8003]
#define PA XBYTE[0x8000]
#define PC XBYTE[0x8002]
#define ZK CBYTE[0x2000]
#define DELAY 3
uchar code *hzp;
void dishz(uint chn);
void comd(uchar x,uchar y);
void wcode(uchar c);
void wdata(uchar d);
uchar inva(uchar b);
void main(void)
{ int i;
uint sad;
comd(0x00,0x32);
comd(0x02,0x1d);
comd(0x03,0x7f);
comd(0x08,0x00);
comd(0x09,0x00);
comd(0x0a,0x00);
comd(0x0b,0x00);
wcode(0x0c);
for(i=0;i<3840;i++) wdata(0x00);
sad=0;
hzp=&ZK;
while(sad<10)
{ dishz(sad);
sad+=2; }
while(1);
}
void wcode(uchar c)
{ uchar i=DELAY;
while(i) i--;
PC=0x1f;PA=c;PC=0x5f;PC=0x1f;
}
void wdata(uchar d)
{ uchar i=DELAY;
while(i) i--;
PC=0x0f;PA=d;PC=0x4f;PC=0x0f;
}
void comd(x,y)
uchar x,y;
{ wcode(x);
wdata(y);
}
uchar inva(uchar b)
{ uchar v1=0;
uchar v2=0;
char i;
uchar j1=0x80;
uchar j2=0x01;
for(i=7;i>=1;i=i-2)
{ v1=((b<<i)&j1)|v1;
v2=((b>>i)&j2)|v2;
j1=j1>>1;
j2=j2<<1;
}
return(v1|v2);
}
void dishz(chn)
uint chn;
{ uchar i,j,k;
uchar addl,addh;
for(i=0;i<2;i++)
{addl=chn%256;
addh=chn/256;
for(j=0;j<16;j++)
{ wcode(0x0a);wdata(addl);
wcode(0x0b);wdata(addh);
k=inva(*hzp);
wcode(0x0c);wdata(k);
hzp++;
addl+=30;
if (addl<30) addh++;
}
chn++;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -