8*8点阵消隐问题请教

2019-07-15 11:10发布

tica, SimSun, sans-serif">8*8点阵消隐问题请教

想用8*8的点阵做个心开流水灯,

硬件环境:

//P0口控制列
//通过74HC595串并转换,控制行,

因为行数据是通过74HC595串并转换得到的,每一列数据总是有拖尾现象。试了动态数码管的消隐方法,好像不好使。而且到右侧,几个点,整屏开始出现抖动,大家有什么好办法,可以消隐,去除抖动。




下面是程序。

#include<reg51.h>
#include<intrins.h>
#define NOP() _nop_()
                                                                                                                //P0口控制列
sbit MOSIO=P3^4;                                                //通过74HC595串并转换,控制行,
sbit R_CLK=P3^5;
sbit S_CLK=P3^6;
unsigned char code H[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02};
unsigned char code L[]={0xef,0xdf,0xbf,0x7f,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfd,0xfd,0xfb,0xf7};

void delay(unsigned int i)
{
unsigned int j;
for(i;i>0;i--)
        for(j=30;j>0;j--);
}

void HC595SendData(unsigned char SendVal)
{
unsigned char i;
for(i=0;i<8;i++)
        {
        if((SendVal<<i)&0X80) MOSIO=1;
        else  MOSIO=0;
        S_CLK=0;
        NOP();
        NOP();
        S_CLK=1;

        R_CLK=0;
        NOP();
        NOP();
        R_CLK=1;
        }
}

void D(unsigned char a,b)
{
HC595SendData(a);                                                        //通过74HC595串并转换,控制行,
P0=b;                                                                                                        //P0口控制列
}

void main(void)
{
unsigned char c,d;
unsigned int e;
        for(d=1;d<17;d++)
        {        e=10;
                while(e--)
                {
                        for(c=0;c<d;c++)
                        {
                                D(H[c],L[c]);
                                delay(2);
                                D(0,0xff);
                                delay(1);
                        }
                        delay(3);
                }
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
csz9981
1楼-- · 2019-07-16 00:35
freedom100 发表于 2017-4-26 12:10
我看你程序没有作 传统的清屏处理,影像残留,人眼看到就是一直亮的。

首先发数据之前,先将点阵屏关掉,熄屏。

好的,感谢,换各思路 。
freedom100
2楼-- · 2019-07-16 04:10
 精彩回答 2  元偷偷看……
黄子波
3楼-- · 2019-07-16 08:25
楼主问题解决了吗?
csz9981
4楼-- · 2019-07-16 10:03
黄子波 发表于 2017-5-19 13:04
楼主问题解决了吗?

已经解决。
000000000000000000000000000
yangrui77
5楼-- · 2019-07-16 10:39
csz9981 发表于 2017-5-24 16:12
已经解决。
000000000000000000000000000

怎么解决的,能说一下嘛??
yangrui77
6楼-- · 2019-07-16 13:46
csz9981 发表于 2017-5-24 16:12
已经解决。
000000000000000000000000000

怎么解决的,能说一下嘛??

一周热门 更多>