還有就是我自已嘗試模仿了一下別人寫的程序,并修改了一些,但是顯示不了我想要顯示的字,求大佬賜教。以下是程序和電路圖
#include<reg51.h>
unsigned int zimo[]={
0x7F,0xBF,0xCF,0xE1,0xEF,0xEF,0xEF,0x00,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF,
0xBF,0xBF,0xBD,0xBD,0xBD,0xBD,0xBD,0x80,0xBD,0xBD,0xBD,0xBD,0xBD,0xBF,0xBF,0xFF,
0xFF,0xFF,0xFF,0x01,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x01,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x00,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0x00,0xFF,0xFF,0xFF,0xFF,
0xFF,0x1F,0xFF,0x00,0xEF,0xDF,0xF7,0xF7,0xF7,0x00,0xF7,0xF7,0x07,0xFF,0xFF,0xFF,
0xFE,0xFF,0xFF,0x00,0xFF,0x7E,0xBE,0xCE,0xF2,0xFC,0xF2,0xCE,0xBE,0x7E,0x7E,0xFF,
0xFF,0xFF,0x1F,0x63,0x7B,0x7B,0x7B,0x0B,0x7D,0x7D,0x7C,0x7D,0x7F,0x7F,0xFF,0xFF,
0xFF,0xDF,0xEF,0xF7,0xF9,0xBF,0x7F,0x80,0xFF,0xFF,0xFD,0xFB,0xF7,0xCF,0xFF,0xFF
};
int time=0;
int flag=0;
int num=0;
int s=9;
int counter=120;
void delay(unsigned int i)
{
while(i--);
}
void t0()
{
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TR0=1;
ET0=1;
EA=1;
}
void display(unsigned char qian,unsigned char hou,int col)
{
if(col==1)
{
P3=0x7f;
P1=0xff;
}
else if(col==2)
{
P3=0xbf;
P1=0xff;
}
else if(col==3)
{
P3=0xdf;
P1=0xff;
}
else if(col==4)
{
P3=0xef;
P1=0xff;
}
else if(col==5)
{
P3=0xf7;
P1=0xff;
}
else if(col==6)
{
P3=0xfb;
P1=0xff;
}
else if(col==7)
{
P3=0xfd;
P1=0xff;
}else if(col==8)
{
P3=0xfe;
P1=0xff;
}else if(col==9)
{
P3=0xff;
P1=0x7f;
}else if(col==10)
{
P3=0xff;
P1=0xbf;
}else if(col==11)
{
P3=0xff;
P1=0xdf;
}else if(col==12)
{
P3=0xff;
P1=0xef;
}else if(col==13)
{
P3=0xff;
P1=0xf7;
}else if(col==14)
{
P3=0xff;
P1=0xfb;
}else if(col==15)
{
P3=0xff;
P1=0xfd;
}else if(col==16)
{
P3=0xff;
P1=0xfe;
}
P2=qian;
P0=hou;
}
void main()
{ t0();
while(1)
{
int t=0;
for(t=0;t<16;t++)
{
display(zimo[(t+flag)*2],zimo[(t+flag)*2+1],t+1);
delay(10000);
}
}
}
void zd() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
time++;
if(time==s)
{
num++;
flag=flag+1;
if(num>counter)
{
num=0;
flag=0;
}
time=0;
}
}
|