因?yàn)槌绦騼?nèi)存的原因不能用2維數(shù)組,所以只好定義8個(gè)數(shù)組來顯示字母,也就只有8個(gè)字母可以顯示了,聽何家偉說往數(shù)組前面加一個(gè)code就可以定義了,不過不知道PIC里面能不能用,先把還不算太完善的作品貼出來再慢慢改吧。本來想把視頻傳上來還要黃鉆,暈。算了。
#include <pic.h>
void delay();
void init();
unsigned char table[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char scan[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char A[8]={0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44};//A
unsigned char B[8]={0x00,0x3C,0x44,0x44,0x3C,0x44,0x44,0x3C};//B
unsigned char C[8]={0x00,0x78,0x04,0x04,0x04,0x04,0x04,0x78};//C
unsigned char D[8]={0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C};//D
unsigned char E[8]={0x00,0x7C,0x04,0x04,0x7C,0x04,0x04,0x7C};//E
unsigned char F[8]={0x00,0x7C,0x04,0x04,0x7C,0x04,0x04,0x04};//F
unsigned char G[8]={0x00,0x38,0x44,0x04,0x04,0x74,0x44,0x38};//G
unsigned char H[8]={0x00,0x44,0x44,0x44,0x7C,0x44,0x44,0x44};//H
unsigned char i,j,k,temp,m,x,y,z,n;
main()
{
TRISC=0X00;
TRISB=0X00;
while(1)
{
init();
while(k)
{
for(m=0;m<8;m++)
{
table=A<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=A>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=B<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=B>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=C<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=C>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=D<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=D>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=E<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=E>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=F<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=F>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=G<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=G>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
init();
while(k)
{
for(m=0;m<8;m++)
{
table=H<<k;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
k--;
}
if(!k)
{
for(x=0;x<8;x++)
{
for(m=0;m<8;m++)
{
table=H>>x;
}
for(temp=1;temp<=200;temp++)
{
for(i=0;i<8;i++)
{
PORTB=~table[i];
PORTC=scan[i];
delay();
PORTC=0X00;
}
}
if(temp>200)temp==1;
}
}
}
}
void init()
{
k=5;x=0;
}
void delay()
{
for(j=1;j<100;j++);
}
