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驱动!
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
手机提问的朋友在客户端右上角评价点(满意)即可.
如果你认可我的回答,请及时点击(采纳为满意回答)按钮!!