我还想问下,怎么才能排除在组成的图形中的“鬼影”,就是排除闪烁的暗灯。请高手详细解答,最好有设计例子。
本人最近做了个模拟实验,用51单片机控制8*8led,用P2端的高电平控制行,用P1端的低电平控制列,并且用了锁存器控制行,但就是在做实验时倒数第2行和倒数第3行,不亮。请高手解答。程序如下:
#include<reg52.h>
#include<intrins.h>
#define unchar unsigned char
#define unint unsigned int
unchar code tab[]={0xf3,0xf1,0xf3,0xf3,0xf3,0xf3,0xe1,0xe1};//为“1”字模图形
unchar code tab1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//行扫描的数组
unint j,k,i;
sbit kong=P3^6;//锁存器的控制
unchar *p;
void delay(unchar t)
{
while(t--);
}
void main()
{
kong=0;
while(1)
{ for(j=0;j<8;j++)
{
for(k=0;k<200;k++)
{
for(i=0;i<8;i++)
{
*p=_crol_(tab[i],j);
P1=*p;
kong=1;
P2=tab1[i];
kong=0;
delay(100);
P1=0XFF;
P2=0X00;
}
}
}
}
}
P2^5和P2^6控制的行不
【51单片机系列】proteus中创建16x16LED点阵
本文主要介绍了如何在Proteus8.6中创建16x16 LED点阵,以及如何使用8x8点阵制作16x16点阵。首先,文章详细介绍了在Proteus中测试8x8点阵的电流方向和行列控制接口的方法,结果表明红色点阵电流方向为上->下,蓝色、绿色和橘色点阵为下->上,红色点阵接口为上列下行,其他颜色点阵为上行下列。其次,文章提供了...
我用51系列单片机做16*16汉字点阵,但是点阵显示偏暗怎么办?我想是单片 ...
一般都用595来做,8行一个595 需要2个595送数据;再用2个595当列扫描,共需要4个595 就可以完成;另外,你也可以用三极管来驱动行,但是这样会造成行列显示亮度不一致,但绝对比用IO直接驱动要好的多,单片机的驱动电流是很弱的,即便是加上拉电阻也不足以驱动点阵 ...
...了,我想要做一个16X16LED的点阵,是用51单片机的,希望能给出程序,电...
51单片机就是0和1的问题,为了更容易进步请先做8*8的点阵,具体怎么做很简单,就是看你有没有心情去想
求51单片机控制的16*16点阵代码
\/\/这是16*16点阵 显示一个字的代码。。。 临时写的。。。include <reg52.h> include <intrins.h> define IOdata \/\/数据口定义 define uchar unsigned char sbit row0 \/\/0行 定义 sbit row1 \/\/1行 定义 sbit col0 \/\/0列 定义 sbit col1 \/\/1列 定义 uchar code word_tab[][32]= {...
用51单片机做16*16点阵需要哪些材料
好吧说正经的。。首先最基本的要求是点阵驱动。因为16x16,要用32个I\/O口,对于89S51单片机这是不现实的。所以需要I\/O口扩展。I\/O扩展有很多方法,比较常用的是用四个锁存器(74HC573),把一组八个I\/O口的数据在四个时钟周期内分别锁存在四个锁存器里。这是最简单最笨的方法(用12个IO口),...
求51单片机16*16的点阵汉字移动原理
首先是让汉字能够静态显示,显示一段时间后(时间可能很短)把所显示的汉字编码移一位重新送出,比如要向左移动,原本显示在第一列的数据就丢弃了,把第二列的数据送到第一列上显示,依次移动显示一屏,显示一段时间再进行一次移动,人们看起来也就是移动的了。 还搞不明白的话,可以晚上问我。
基于51单片机的16x16 led点阵显示屏设计原理与电路图
MOV R4,#16 MOV DPTR,#WORDTAB START:JNB P1.0,SLOW JNB P1.1,SOON MOV R1,#00H SCAN8:MOV A,R1 SWAP A MOV P3,A SWAP A INC A MOV R1,A MOV A,R2 MOVC A,@A+DPTR CJNE A, #0DDH,NEXT AJMP MAIN NEXT:MOV P2,A INC R2 MOV A,R2 MOVC A,@A+DPTR MOV P0,A INC ...
51单片机16*16点阵4个汉字LED屏显示 请帮忙修改下程序,其他都不变...
共16行,第三次中断,从行缓存头上开始,每行送18个BIT,共16行,。。。依此类推。第九次中断,更新缓存字节的内容,每行送16个BIT。每次送的BIT超过了实际显示的象素,这样从显示的效果看起来就是字在向左移动。与之对应,如果先送24个BIT,然后,23,然后22,则显示效果是右移 ...
为什么我的51单片机点阵数码管显示爱心图形,而是全亮
都是低电平,所以全亮。并没有实现按列(或按行)扫描。就是仿真图画得太复杂了,又用了总线加标网络标号,而网络标号又不对。下图,虽然是16*16的点阵,但主要说明,点阵屏的行,列引脚都直接与锁存器连接,不要三极管,不要电阻,越简单越好。不要用实物的驱动想法画仿真图,反倒出错。
51单片机用汇编语言驱动16*16点阵显示“机电工程系”汉字
硬件线路没要求的话,简单 ;16X16LED点阵流动显示 ;逐列、逆向(低位开始)扫描 ORG0000H AJMPMAIN ORG0030H MAIN:MOVDPTR,#TAB;字码表初址赋值 MOVR1,#00H;列控制码 MOVR4,#96;移动" "及"机电工程系"6个字符,共96列 CM:MOVR5,#5;每屏反复显示5次 MOVR3,#16;列数 C1:MOVR2,#0;取...