㈠ 单片机的点阵显示规律及原理
怎样的扫描显示,要说清楚还真要费些事,看看这么说你能否弄懂;假设一片8*8点阵的两组引脚分别为H1、H2、H3、H4、H5、H6、H7、H8和L1、L2、L3、L4、L5、L6、L7、L8;而且H1-H8分别是8行LED的A极公共端,L1-L8分别为是8行LED的K极公共端(即8列公共端);此时如果H1接V+,L1接V-,那么第一行的左起第一个LED被点亮,依此顺序,如果我们在L1-L8这组引脚上送入数据0111 1111(0x7F),而将H1-H8全部连接V+,那么会点亮整个8*8点阵的第一列LED,但这样只能按列或全屏点亮,如果我们送一组列数据并点亮一行,如此逐行分别点亮,就能显示完整的图形了,只要所有行的每行在1秒内显示超过24次,就能看到完整的画面。
㈡ 单片机点阵
你是用什么实现点亮16*16点阵的,外围接了什么?
建立个数组,将显示内容放进去,开始时从第一行开始显示, 接在从第二行开始显示你的数组,如此下去可以了,
㈢ 哪位高手能给我解释解释单片机点阵扫描原理不谢谢
谈LED点阵的扫描原理,只要一看LED点阵的原理图就一目了然了,如下图:
图中,A--H可以看做行,1--7看做列;假如我们给点阵送人一个列数据0x80(1000 0000),并且同时送人一个行数据0x7f(0111 1111),此时我们就点亮了这个点阵左上角的那颗LED发光管,如果我们不停的行数据:0111 1111;1011 1111;1101 1111;1110 1111;1111 0111;1111 1011;1111 1101;1111 1110,这8个数据周而复始的送人点阵就是行扫描的过程,这个过程一般采用74HC138等译码器来完成,而在对应的行数据送人的同时也送人1--7的列数据,例如:
行=0111 1111,列=1000 0000
行=1011 1111,列=0100 0000
行=1101 1111,列=1010 0000
行=1110 1111,列=1001 0000
行=1111 0111,列=1000 1000
行=1111 1011,列=1000 0100
行=1111 1101,列=1000 0010
行=1111 1110,列=1000 0001
此时程序循环执行的结果会在点阵屏上显示左上至右下的对角斜线。
仔细想想应该不难理解。
在代码编写上,实现上述功能有很多方法,最长用的就是for循环,如果你网络资料会发现,大凡点阵显示代码中都会在显示函数中引用for循环,而且根据点阵数的不同会有:
for(i=0;i<8;i++)或for(i=0;i<16;i++)或for(i=0;i<32;i++)这就是对于8行、16行、32行点阵的扫描算法。
就说到这里吧,更多的知识请网络搜索吧。
㈣ 单片机8×8点阵简单显示程序
这个显示程序其实非常简单,因为这个是点正髓的话,可以用单片机里面去进行测量的。
㈤ 单片机 8*8点阵C51程序
一.基于51的点阵屏显示:(1)点亮第一个8*8点阵:
1.首先在Proteus下选择我们需要的元件,AT89C51、74LS138、MATRIX-8*8-GREEN(在这里使用绿色的点阵)。在Proteus
6.9中8*8的点阵总共有四种颜色,分别为MATRIX-8*8-GREEN,MATRIX-8*8-BLUE,MATRIX-8*8-ORANGE
,MATRIX-8*8-RED。
在这里请牢记:红色的为上列选下行选;其它颜色的为上行选下列选!而所有的点阵都是高电平选中列,低电平选中行!也就是说如果某一个点所处的行信号为低,列信号为高,则该点被点亮!此结论是我们编程的基础。
2.在选择完以上三个元件后,我们开始布线,具体如下图:
这里P2是列选,P3连接38译码器后作为行选。
选择38译码器的原因:38译码器每次可输出相应一个I/O口的低电平,正好与点阵屏的低电平选中行相对,并且节省了I/O口,大大方便了我们的编程和以后的扩展。
3.下面让我们把它点亮,先看一个简单的程序:
(将奇数行偶数列的点点亮,效果如下图)
下面是源代码:
/************8*8LED点阵屏显示*****************/
#include<reg51.h>
void
delay(int
z)
//延时函数
{
int
x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
void
main()
{
while(1)
{
P3=0;
//行选,选择第一行
P2=0x55;
//列选,即该行显示的数据
delay(5);
//延时
/*****下同*****/
P3=2;
//第三行
P2=0x55;
delay(5);
P3=4;
//第五行
P2=0x55;
delay(5);
P3=6;
//第七行
P2=0x55;
delay(5);
}
}
上面的程序实现了将此8*8点阵的奇数行偶数列的点点亮的功能。重点让我们看while循环内,首先是行选P3=0,此时38译码器的输入端为000,则输出端为01111111,即B0端为低电平,此时选中了点阵屏的第一行,接着列选我们给P2口赋0x55,即01010101,此时又选中了偶数列,紧接着延时。然后分别对第三、五、七行进行相同的列选。这样就点亮了此点阵屏奇数行偶数列交叉的点。
完成这个程序,我们会发现其实点阵屏的原理是如此简单,和数码管的动态显示非常相似,只不过换了一种方式而已。
对不起啦,我传了三次图片都没传上,郁闷哪!希望你能理解哈!
不过我有传一份WORD文档在我的空间里面
㈥ 单片机如何控制点阵
单片机输出信号,运用锁存器锁存单片机输出的信号。led点阵无非就共阴共阳的,选通相应的点就可以使其发光,亮点组成字形。
㈦ LED点阵用单片机是怎么控制的
原理上和数码管是一样的控制方法,一个数码管就相当于一排8个灯
㈧ 51单片机开发板led点阵程序
你的程序没有问题的,估计是,你的程序与你的开发板上74HC595的引脚不符吧。下图是根据你的程序画的仿真图,程序没有变,只是把显示的图形数据变了一下,显示出菱形。
u8 code anled[]=
{
/*-- 调入了一幅图像:这是您新建的图像 --*/
/*-- 宽度x高度=8x8 --*/
0x10,0x38,0x7C,0xFE,0x7C,0x38,0x10,0x00
};
㈨ 单片机c语言点阵
1,点阵恰恰简单,120元搞。4个字的屏
2,数字电压表也简单的,不要钱的,程度到电路我都有。如果要实物,很简单的啦。80元。
㈩ 51单片机能控制多大的点阵
1、若点阵带驱动器,控制点阵的大小(像素的多少)可以是任意值。
2、若点阵直接驱动,可以采用串行转并行芯片扩展IO口,点阵大小同样不受限制,
3、不论哪种情况,受限制的是点阵更新速度与点阵数量的乘积值。因为这个参数决定单片机在单位之间之内需要传递的数据量。
4、以1024*768单色点阵为例,每副画面有768*1024点,需要96kByte的数据。
若采用串行转并行处理,按照256kbps的波特率,每秒可传输32kByte数据。这样,更新一次屏幕需要3秒。