

#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH_CP=P2^0;
sbit DS=P2^1;
sbit ST_CP=P2^2;
uchar num,temp,n,t;
uchar code tab[ ]=
//PCTOLCD2002 取模 字體:Microsoft Sans Serif 12x12 //順向、逐列、陽碼 紅色8X8 無旋轉 綠色8X8左旋180度
// (0) 0(1) 1(2) 2(3) 3(4) 4(5) 5(6) 6(7) 7(8) 8(9) 9(10) A(11) B(12) C(13) D(14) E(15)
// F(16) G(17) {
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/ 0xFF,0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,0xFF,/*"0",1*/ 0xFF,0xDF,0xDF,0x80,0xFF,0xFF,0xFF,0xFF,/*"1",2*/ 0xFF,0xDC,0xBC,0xBA,0xB6,0xCE,0xFF,0xFF,/*"2",3*/ 0xFF,0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,0xFF,/*"3",4*/ 0xFB,0xF3,0xEB,0xDB,0x80,0xFB,0xFF,0xFF,/*"4",5*/ 0xFF,0x8D,0xAE,0xAE,0xAE,0xB1,0xFF,0xFF,/*"5",6*/ 0xFF,0xC1,0x96,0xB6,0xB6,0xD9,0xFF,0xFF,/*"6",7*/ 0xFF,0xBF,0xBC,0xB3,0xAF,0x9F,0xFF,0xFF,/*"7",8*/ 0xFF,0xC9,0xB6,0xB6,0xB6,0xC9,0xFF,0xFF,/*"8",9*/ 0xFF,0xCD,0xB6,0xB6,0xB4,0xC1,0xFF,0xFF,/*"9",10*/ 0xFC,0xF3,0xCB,0x9B,0xEB,0xF3,0xFC,0xFF,/*"A",11*/ 0xFF,0x80,0xB6,0xB6,0xB6,0xB6,0xC9,0xFF,/*"B",12*/ 0xFF,0xE3,0xDD,0xBE,0xBE,0xBE,0xBE,0xDD,/*"C",13*/ 0xFF,0x80,0xBE,0xBE,0xBE,0xBE,0xDD,0xE3,/*"D",14*/ 0xFF,0x80,0xB6,0xB6,0xB6,0xB6,0xBE,0xFF,/*"E",15*/ 0xFF,0x80,0xB7,0xB7,0xB7,0xB7,0xBF,0xFF,/*"F",16*/ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
};
void delay_ms(unsigned int ms)
{
uchar j;
while(ms--)
for(j=0;j<123;j++);
} void WriteByte(uchar dat)
{
uchar k;
for(k=0;k<8;k++)
{
dat=dat>>1;
DS=CY;
SH_CP=0;
SH_CP=1;
}
}
void main()
{
while(1)
{
for(n=0;n<136;n++)
{
for(t=0;t<10;t++)//重復顯示10次
{
temp=0x01;
{
for(num=n;num<8+n;num++)
{
WriteByte(tab[num+0]);
P1=temp;
ST_CP=0;
ST_CP=1;
delay_ms(1);
temp=temp<<1;
}
}
}
}
}
}
|