基于51單片機的四個8X8點陣組成16X16點陣,實現兩種顯示方式,左右橫移和上下橫移
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
51hei.png (30.21 KB, 下載次數: 51)
下載附件
2020-5-22 01:37 上傳
51hei.png (28.39 KB, 下載次數: 39)
下載附件
2020-5-22 01:36 上傳
void Send_16bit(unsigned char dat_L,unsigned char dat_R,unsigned char hang)
{
unsigned char i;
OE=1; //關閉74HC138輸出
RCK=0;
for(i=0;i<8;i++)
{
CLK=0;
if(dat_L&0x80)
DAT=1;
else
DAT=0;
dat_L=dat_L<<1;
CLK=1;
}
for(i=0;i<8;i++)
{
CLK=0;
if(dat_R&0x80)
DAT=1;
else
DAT=0;
dat_R=dat_R<<1;
CLK=1;
}
switch(hang)
{
case 0:LA=0;LB=0;LC=0;LD=0;break;
case 1:LA=1;LB=0;LC=0;LD=0;break;
case 2:LA=0;LB=1;LC=0;LD=0;break;
case 3:LA=1;LB=1;LC=0;LD=0;break;
case 4:LA=0;LB=0;LC=1;LD=0;break;
case 5:LA=1;LB=0;LC=1;LD=0;break;
case 6:LA=0;LB=1;LC=1;LD=0;break;
case 7:LA=1;LB=1;LC=1;LD=0;break;
case 8:LA=0;LB=0;LC=0;LD=1;break;
case 9:LA=1;LB=0;LC=0;LD=1;break;
case 10:LA=0;LB=1;LC=0;LD=1;break;
case 11:LA=1;LB=1;LC=0;LD=1;break;
case 12:LA=0;LB=0;LC=1;LD=1;break;
case 13:LA=1;LB=0;LC=1;LD=1;break;
case 14:LA=0;LB=1;LC=1;LD=1;break;
case 15:LA=1;LB=1;LC=1;LD=1;break;
}
RCK=1;
OE=0;Delay(1);OE=1; //調節延時控制LED亮度
}
void main()
{
unsigned char zi; //字符控制
unsigned char h; //行數變量
unsigned char i;
while(1)
{ //滾動顯示
for(zi=0;zi<(16*5);zi++) //
{
for(i=0;i<15;i++)
for(h=0;h<16;h++)
{Send_16bit(~Tab[h*2+2*zi],~Tab[h*2+1+2*zi],h);}//~取反
}
//直接切換
/*for(zi=0;zi<5;zi++)
{
for(i=0;i<100;i++)
for(h=0;h<16;h++)
{Send_16bit(~Tab[h*2+32*zi],~Tab[h*2+1+32*zi],h);}
}*/
}
}
全部資料51hei下載地址:
四個8X8點陣組成16X16點陣.zip
(49.67 KB, 下載次數: 91)
2020-5-21 22:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|