找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 4059|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

8*8點(diǎn)陣消隱問題請(qǐng)教

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
8*8點(diǎn)陣消隱問題請(qǐng)教

想用8*8的點(diǎn)陣做個(gè)心開流水燈,

硬件環(huán)境:

//P0口控制列
//通過74HC595串并轉(zhuǎn)換,控制行,

因?yàn)樾袛?shù)據(jù)是通過74HC595串并轉(zhuǎn)換得到的,每一列數(shù)據(jù)總是有拖尾現(xiàn)象。試了動(dòng)態(tài)數(shù)碼管的消隱方法,好像不好使。而且到右側(cè),幾個(gè)點(diǎn),整屏開始出現(xiàn)抖動(dòng),大家有什么好辦法,可以消隱,去除抖動(dòng)。




下面是程序。

#include
#include
#define NOP() _nop_()
                                                                                                                //P0口控制列
sbit MOSIO=P3^4;                                                //通過74HC595串并轉(zhuǎn)換,控制行,
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串并轉(zhuǎn)換,控制行,
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++)[ size][="" font][="" backcolor][="" color]
                        {
                                D(H[c],L[c]);
                                delay(2);
                                D(0,0xff);
                                delay(1);
                        }
                        delay(3);
                }
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表