16×16点阵LED电子显示屏的设计
{ q=256;//总共的列数 while(1) {
playflash(); movr();
}
}
voiddelayms(uint z) { uintx,y; for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(ucharshanghang[16],ucharxiahang[16]) { b=10;//汉字出现时间数 while(b--) { g2=0; e=0x0f; x=0;//上行首数 y=0;//下行首数 for(o=0;o<16;o++) { P1=e;//操作IO口处
P2=shanghang[x];//操作IO口处 P0=xiahang[y];//操作IO口处 delayms(1); P0=0x00; P2=0x00; x++; y++;
e--;
}//依次显示一列
}//一面显示完成
}
voidmovr(void) { j=0;//当前显示画面第一列在总画面中的列数
while(j 12 16×16点阵LED电子显示屏的设计 } voidplayflash(void) { //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++上移 { k=0; for(i=16;i<32;i++)//将需要显示的编码赋给shanghang[16],xiahang[16] { mo=128; mo=mo&xiahang[k]; shanghang[k]<<=1; xiahang[k]<<=1; if(mo!=0) { mo=1; shanghang[k]=shanghang[k]|mo; 13 intlp=16; intmo; k=0; for(i=16;i<32;i++) { shanghang[k]=zhaoS[i]; xiahang[k]=zhaoX[i]; k++; } while(lp--) { } k=0; for(i=j;i<16+j;i++)//将需要显示的编码赋给shanghang[16],xiahang[16] { shanghang[k]=shang[i]; xiahang[k]=xia[i]; k++; } g2=1;//黑屏再延迟 delayms(5);//黑屏延迟时间 display(shanghang,xiahang); j++; 16×16点阵LED电子显示屏的设计 } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++下移 } { k=0; for(i=16;i<32;i++)//将需要显示的编码赋给shanghang[16],xiahang[16] { mo=1; mo=mo&shanghang[k]; shanghang[k]>>=1; xiahang[k]>>=1; if(mo!=0) { } k++; } g2=1;//黑屏再延迟 mo=128; xiahang[k]=xiahang[k]|mo; lp=16; k=0; for(i=16;i<32;i++) { shanghang[k]=zhaoS[i]; xiahang[k]=zhaoX[i]; k++; } while(lp--) } k++; } g2=1;//黑屏再延迟 delayms(5);//黑屏延迟时间 display(shanghang,xiahang); delayms(5);//黑屏延迟时间 display(shanghang,xiahang); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++右移 j=0;//当前显示画面第一列在总画面中的列数 while(j<32) { 14 16×16点阵LED电子显示屏的设计 } k=0; for(i=j;i<16+j;i++)//将需要显示的编码赋给shanghang[16],xiahang[16] { shanghang[k]=zhaoS[i]; xiahang[k]=zhaoX[i]; k++; } g2=1;//黑屏再延迟 delayms(5);//黑屏延迟时间 display(shanghang,xiahang); j++; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++左移 j=32;//当前显示画面第一列在总画面中的列数 while(j>0) { } k=0; for(i=j;i<16+j;i++)//将需要显示的编码赋给shanghang[16],xiahang[16] { shanghang[k]=zhaoS[i]; xiahang[k]=zhaoX[i]; k++; } g2=1;//黑屏再延迟 delayms(5);//黑屏延迟时间 display(shanghang,xiahang); j--; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ } 六、元件清单 16x16点阵(1块) Stc89c51(1块) 74ls154(1块) 74ls573(2块) 晶振12M(1个) 10k排阻(1个) 100Ω电阻(16个) 10uf电容(1个) 杜邦线(若干) 15
相关推荐: