RC1=0;
PORTB=tt3;
RC2=1;
NOP();
RC2=0;
j=(i-1)/8;//求需要选通的373
k=(i-1)%8;//求需要选通的列线
PORTD=col[k];
switch(j)
{
case 0: RC4=1; NOP(); RC4=0; break;
case 1: RC5=1; NOP(); RC5=0; break;
case 2: RC6=1; NOP(); RC6=0; break;
}
delay1ms();//视觉暂留
}
}
}
m=m+72;
}
}
//从下往上显示
void display3()
{
uch i,j,k,t,n,tt1,tt2,tt3,l;
int m=0;//字符定位变量
for(n=0;n《18;n++)
{
for(l=0;l《7;l++)//滚动8位
{
for(t=0;t《3;t++)//每个位置显示4次
{
for(i=0;i《24;i++)//取数,每行24列,故取24个数
{
tt1=(zxhn[i+m]》》l)|(zxhn[i+24+m]《《(8-l));
tt2=(zxhn[i+24+m]》》l)|(zxhn[i+48+m]《《(8-l));
tt3=(zxhn[i+48+m]》》l)|(zxhn[i+72+m]《《(8-l));
PORTD=0xff;//一开始先把列置高电平,关显示
PORTC=0x70;
NOP();
PORTC=0;
PORTB=tt1;//取行码
RC0=1;
NOP();
RC0=0;
PORTB=tt2;
RC1=1;
NOP();
RC1=0;
PORTB=tt3;
RC2=1;
NOP();
RC2=0;
j=i/8;//求需要选通的373
k=i%8;//求需要选通的列线
PORTD=col[k];
switch(j)
{
case 0: RC4=1; NOP(); RC4=0; break;
case 1: RC5=1; NOP(); RC5=0; break;
case 2: RC6=1; NOP(); RC6=0; break;
}
delay1ms();//视觉暂留
}
}
}
m=m+24;
}
}
//从上往下显示
void display4()
{
uch i,j,k,t,n,tt1,tt2,tt3,l,a,b;
int m=0;//字符定位变量
for(n=0;n《6;n++)
{
for(l=0;l《24;l++)
{
for(t=0;t《3;t++)//每个位置显示4次
{
for(i=0;i《24;i++)//取数,每行24列,故取24个数
{
a=l/8;
b=l%8;
if(a==0)
{
tt1=(zxhn[i+m]《》(8-b));
tt2=(zxhn[i+24+m]《》(8-b));
tt3=(zxhn[i+48+m]《》(8-b));
}
if(a==1)
{
tt1=(zxhn[i+m+120]《》(8-b));
tt2=(zxhn[i+m]《》(8-b));
tt3=(zxhn[i+24+m]《》(8-b));
}
if(a==2)
{
tt1=(zxhn[i+m+96]《》(8-b));
tt2=(zxhn[i+m+120]《》(8-b));
tt3=(zxhn[i+m]《》(8-b));
}
PORTD=0xff;//一开始先把列置高电平,关显示
PORTC=0x70;
NOP();
PORTC=0;
PORTB=tt1;//取行码
RC0=1;
NOP();
RC0=0;
PORTB=tt2;
RC1=1;
NOP();
RC1=0;
PORTB=tt3;
RC2=1;
NOP();
RC2=0;
j=i/8;//求需要选通的行线