A. 單片機怎麼控制LED點陣實現左移顯示
相信你是個新手,相信你用的是51的兩排8位口實現的功能,那麼樓上的解釋你可能不太懂(說實話我也不是很懂。)
但是簡單一點來說led點陣需要兩排8位,一個負責行,一個負責列,比如0是選中的意思,那麼行是01111111,列是1011111,那麼第一行的第二列燈亮。原理說完,那麼左移的話那就簡單了,簡單而言,行不變,列左移一位,比如上面的行保持01111111,列在下一次變成01111111,就使得第一行的第一列亮燈了。那麼在左移的時候,行是不用變,原來是多少就多少;而列呢,每次使用左移符號」<<「左移一位,就達到了左移顯示的效果了。
B. 單片機是如何控制LED點陣的,不明白的是,所有的LED不是共陰就是共陽,如何控制單個的亮
一個漢字,常見的是16×16的點陣,共256個發光點。
這些點,並不是同時發光的。
如果每一瞬間,只有一行發光,那就需要把整個的漢字「橫向取模」,送到顯示屏;
如果每一瞬間,只有一列發光,那就需要把整個的漢字「縱向取模」,送到顯示屏。
C. 我做一個單片機控制的16X32led點陣顯示屏,要求雙色,我用154做行驅動,595做列驅動,怎麼實現
595支持30M的頻率,你雙色不過8個595.完成一次查表傳送也可以控制在10MS以內。顯示不穩定是你在移入數據時沒有熄滅顯示。也就是至少要有一個使能端,不能讓一直亮。
D. 單片機LED點陣顯示程序。
SETB SCK
SETB SCLT
把兩合去掉,改為:ORL DATAIN,#0X24
沒有十全十美,只有更好
E. 用單片機控制8*8LED點陣屏
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeTable_of_Digits[]=
{
0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,//0
0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//1
0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2
0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3
0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4
0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,//5
0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,//6
0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,//7
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,//8
0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00,//9
0xff,0x81,0x81,0x81,0x81,0x81,0x81,0xff
};
ucharcodexdat[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
ucharcodeydat[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchari=0,j=0,t=0,Num_Index,key,xi,yi;
sbitwe1=P1^1;
sbitwe2=P1^3;
//主程序
voidmain()
{
//P1=0x80;
Num_Index=0;//從0開始顯示
TMOD=0x01;//T0方式0
TH0=(65536-2000)/256;//2ms定時
TL0=(65536-2000)%256;
IE=0x82;
key=0;
xi=0;
yi=0;
EX0=1;
IT0=1;
TR0=1;//啟動T0
while(1);
}
//T0中斷函數
voidext_int0()interrupt0
{
key++;
key&=0x03;
}
voidLED_Screen_Display()interrupt1
{
TH0=(65536-2000)/256;//2ms定時
TL0=(65536-2000)%256;
switch(key)
{
case0:
P0=0xff;
we1=1;
P0=~Table_of_Digits[Num_Index*8+i];
we1=0;
P0=0xff;//輸出位碼和段碼
we2=1;
P0=xdat[i];
we2=0;
if(++i==8)i=0;//每屏一個數字由8個位元組構成
if(++t==250)//每個數字刷新顯示一段時間
{
t=0;
if(++Num_Index==10)Num_Index=0;//顯示下一個數字
}
break;
case1:
we1=1;
P0=~xdat[xi];
we1=0;
we2=1;
P0=ydat[yi];
we2=0;
if(++t==250)//每個數字刷新顯示一段時間
{
t=0;
yi++;
if(yi>7){yi=0;xi++;}
if(xi>7)xi=0;
}
break;
case2:
we1=1;
P0=0x00;
we1=0;
P0=0xff;//輸出位碼和段碼
we2=1;
P0=xdat[i];
we2=0;
if(++t==250)//每個數字刷新顯示一段時間
{
if(++i==8)i=0;//每屏一個數字由8個位元組構成
t=0;
}
break;
default:
key=0;
i=0;
j=0;
t=0;
xi=0;
yi=0;
Num_Index=0;
we1=1;
P0=0xff;
we1=0;
we2=1;
P1=0x80;
we2=0;
break;
}
}
F. 51單片機怎樣和3.75雙色點陣接線
雙色可看做是2個燈在一起,然而他們是單獨驅動的,一般可以用74hc595做IO口擴展,用來輸出要顯示的數據,然後用74ls138做行選通,以前我就是這么做的
G. 誰可以教我LED64*32點陣雙色顯示屏用單片機怎麼控制它
用89C51和液晶HT1681驅動!
你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,
手機提問的朋友在客戶端右上角評價點(滿意)即可.
如果你認可我的回答,請及時點擊(採納為滿意回答)按鈕!!