欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9322|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)驅(qū)動(dòng)LED發(fā)光矩陣的使用心得

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:404797 發(fā)表于 2018-10-14 22:47 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
從網(wǎng)上購(gòu)得一枚發(fā)光矩陣,到網(wǎng)店查看相關(guān)資料,無(wú)賴找不到任何相關(guān)資料,只能從發(fā)光矩陣的標(biāo)識(shí)入手尋找使用方法,器件上有
ELM-1882UYWB/S530-A3,C0506U。接口有八個(gè)引腳:5V,A,B,C,SER,SCK,RCK,GND。

到網(wǎng)上查找ELM-1882UYWB使用方法,沒(méi)找到,找SER,SCK,RCK相關(guān)資料,發(fā)現(xiàn)是串行移位寄存器的接口,其中5V,GND是電源引腳,SER是數(shù)據(jù)引腳,SCK是時(shí)鐘引腳,RCK是片選引腳,A,B,C行地址引腳。將ABC接P0口的012腳,SER、SCK、RCK接P0口345引腳,先按網(wǎng)上所述編寫(xiě)字符顯示程序如下:

#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit ser=P0^3;
sbit sck=P0^4;
sbit rck=P0^5;
int waitnum=1;
void delay(uint ii){uint i;for(i=0;i<ii;i++);}
void SendByte(uchar cc)
{uchar c=cc;int i;
  for(i=0;i<8;i++)
   {if(c&0x80)ser=1;
    else ser=0;
    c<<=1;
    sck=0;
    sck=1;
    }
    rck=0;
    rck=1;
}
uchar vc[][8]={{0x1c,0x22,0x32,0x2a,0x26,0x22,0x1c,0x00},//0
                 {0x08,0x0c,0x08,0x08,0x08,0x08,0x1c,0x00},//1
                 {0x1c,0x22,0x20,0x18,0x04,0x02,0x3e,0x00},//2
                 {0x1c,0x22,0x20,0x18,0x20,0x22,0x1c,0x00},//3
                 {0x10,0x18,0x14,0x12,0x3e,0x10,0x10,0x00},//4
                 {0x3e,0x02,0x1e,0x20,0x20,0x22,0x1c,0x00},//5
                 {0x18,0x04,0x02,0x1e,0x22,0x22,0x1c,0x00},//6
                 {0x3e,0x20,0x10,0x08,0x04,0x04,0x04,0x00},//7
                 {0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,0x00},//8
                 {0x1c,0x22,0x22,0x3c,0x20,0x10,0x0c,0x00},//9
                 {0x00,0x18,0x24,0x42,0x42,0x7e,0x42,0x42},//A
               {0x00,0x3c,0x44,0x44,0x3c,0x44,0x44,0x3c},//B
                 {0x00,0x38,0x44,0x04,0x04,0x44,0x38,0x00},//C
                };
void main()
{int i,j,k=0;
  while(1)
  {for(j=0;j<500;j++)
      for(i=0;i<8;i++)
         {P0=i;
          SendByte(vc[k][ i]);
          }
          delay(30000);
          k++;
   if(k==13)k=0;
   }
  }

發(fā)現(xiàn)能顯示,但有兩個(gè)問(wèn)題,首先是顯示重景,每個(gè)字符都象是兩個(gè)字符錯(cuò)位疊加,顯示不是很清楚,其次是顯示字符轉(zhuǎn)換時(shí)都帶著上個(gè)字符的最后一行數(shù)據(jù),效果有些別扭。經(jīng)分析,重影問(wèn)題的產(chǎn)生是由于顯示時(shí)先傳送顯示數(shù)據(jù),再改變顯示行,這樣數(shù)據(jù)傳送完成后,顯示行還沒(méi)變,在舊的顯示行就顯示新的數(shù)據(jù),顯示行改變后,新的數(shù)據(jù)又在新的顯示行顯示,所以就重影。到于顯示有殘留是因?yàn)槊總(gè)字符顯示完后,轉(zhuǎn)換顯示字符時(shí),上一個(gè)字符的最后一行數(shù)據(jù)還在顯示,直到新字符的第一行顯示時(shí)才擦掉,解決這個(gè)問(wèn)題就是字符顯示后將最后一行數(shù)據(jù)擦除,這樣顯示就清爽了。修改后的main()函數(shù)如下。
void main()
{int i,j,k=0;
  while(1)
  {for(j=0;j<500;j++)
      for(i=0;i<8;i++)
         {SendByte(vc[k][ i]);
          P0=i;
          }
          SendByte(0);
          k++;
   if(k==13)k=0;
   }
  }



評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:398162 發(fā)表于 2018-10-15 14:42 | 只看該作者
我今天中午用keil4 實(shí)測(cè) 用的樓主源碼,我的矩陣根本沒(méi)有顯示啊,只有數(shù)碼管有反應(yīng)

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:398162 發(fā)表于 2018-10-15 15:10 | 只看該作者
我用keil4 用了樓主的源碼,因?yàn)槲沂情_(kāi)發(fā)板上的源碼,就改了下引腳借口,燒錄進(jìn)去我的矩陣沒(méi)有反應(yīng),只有數(shù)碼管有反應(yīng),樓主知道怎么回事嗎

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:404797 發(fā)表于 2018-10-15 22:31 | 只看該作者
不知你引腳定義有沒(méi)有錯(cuò),A、B、C、接P0的0、1、2腳,P0的第3、4、5腳分別是SER,SCK,RCK,

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:398162 發(fā)表于 2018-10-16 12:30 | 只看該作者
借用樓主思想,改了一下。
#include<reg52.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;

sbit SRCLK=P3^6;
sbit rCLK=P3^5;
sbit SER=P3^4;

#define COMMONPORTS                P0
//áDÑ¡
unsigned char code TAB[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
//¶ÎÑ¡
unsigned char code CHARCODE[18][8]=
{

{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0

{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1

{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2

{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3

{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4

{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5

{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6

{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7

{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8

{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}, //9

{0x00,0x00,0x7F,0x48,0x48,0x30,0x00,0x00}, //P

{0x00,0x00,0x7F,0x48,0x4C,0x73,0x00,0x00}, //R

{0x00,0x00,0x7F,0x49,0x49,0x49,0x00,0x00}, //E

{0x00,0x00,0x3E,0x41,0x41,0x62,0x00,0x00}, //C

{0x00,0x00,0x7F,0x08,0x08,0x7F,0x00,0x00}, //H

{0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00}, //I

{0x00,0x7F,0x10,0x08,0x04,0x7F,0x00,0x00}, //N

{0x38,0x44,0x42,0x21,0x21,0x42,0x44,0x38}};  //°®DÄ

void delay(unsigned int time )
{
        unsigned int i,j;
        for(i=0;i<time;i++)
                for(j=0;j<121;j++);
}


void hc595send(u8 dat)
{
        u8 a;
        SRCLK=0;
        rCLK=0;
        for(a=0;a<8;a++)
        {
                SER=dat>>7;
                dat<<=1;

                SRCLK=1;
                _nop_();
                _nop_();
                SRCLK=0;
        }
        rCLK=1;
        _nop_();
        _nop_();
        rCLK=0;
}


void main()
{
         unsigned char tab,j;
         unsigned int i;
         while(1)
         {
                 for(i=0;i<50;i++)
                {
                        for(tab=0;tab<8;tab++)
                        {
                                hc595send(0x00);
                                COMMONPORTS=TAB[tab];
                                hc595send(CHARCODE[j][tab]);
                                delay(2);
                        }
                }
                j++;
                if(j==18)
                {
                        j=0;
                }
         }
}

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:398162 發(fā)表于 2018-10-16 12:35 | 只看該作者
這是效果圖

微信圖片_20181016123235.jpg (42.62 KB, 下載次數(shù): 69)

微信圖片_20181016123235.jpg

微信圖片_20181016123242.jpg (46.98 KB, 下載次數(shù): 75)

微信圖片_20181016123242.jpg

微信圖片_20181016123224.jpg (54.34 KB, 下載次數(shù): 79)

微信圖片_20181016123224.jpg

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

7#
ID:404797 發(fā)表于 2018-10-16 14:06 | 只看該作者
佩服,你之前失敗是什么原因?還有你用的是什么單片機(jī),我的單片機(jī)只能定義少數(shù)變量,像你這樣定義一個(gè)8X18數(shù)組編譯不過(guò),會(huì)報(bào)數(shù)據(jù)段太大,只能128個(gè)字節(jié)以內(nèi),所以我本想定義0-F十六進(jìn)制的十六個(gè)字符,但受限變量規(guī)模不行。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

8#
ID:409682 發(fā)表于 2018-10-16 16:47 | 只看該作者
樓主,這跟數(shù)碼管靜態(tài)顯示的消影是一個(gè)道理
回復(fù)

使用道具 舉報(bào)

9#
ID:404797 發(fā)表于 2018-10-16 18:36 | 只看該作者
wlsbll 發(fā)表于 2018-10-16 16:47
樓主,這跟數(shù)碼管靜態(tài)顯示的消影是一個(gè)道理

謝謝,我剛玩單片機(jī),還沒(méi)有消影這個(gè)概念,你的這回復(fù)對(duì)我很有幫助。
回復(fù)

使用道具 舉報(bào)

10#
ID:399179 發(fā)表于 2018-10-16 19:12 來(lái)自觸屏版 | 只看該作者
謝謝樓主分享!單片機(jī)學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

11#
ID:398162 發(fā)表于 2018-10-17 08:03 | 只看該作者
wlsbll 發(fā)表于 2018-10-16 16:47
樓主,這跟數(shù)碼管靜態(tài)顯示的消影是一個(gè)道理

我的是51單片機(jī),之前失敗的原因,具體我也不清楚,我覺(jué)得是你發(fā)送字符函數(shù),跟我的板子,不太一樣吧。
回復(fù)

使用道具 舉報(bào)

12#
ID:566742 發(fā)表于 2019-6-19 14:12 | 只看該作者
dumn 發(fā)表于 2018-10-16 12:30
借用樓主思想,改了一下。
#include
#include

你好!我想學(xué)你的心形矩陣led怎么做的。特別想做,但是沒(méi)有學(xué)單片機(jī)很吃力哦
這么聯(lián)系你嗎?
回復(fù)

使用道具 舉報(bào)

13#
ID:283883 發(fā)表于 2019-6-19 18:23 | 只看該作者
好像有鬼影?什么模塊
回復(fù)

使用道具 舉報(bào)

14#
ID:404797 發(fā)表于 2019-6-20 06:15 | 只看該作者

是有重影,原因是當(dāng)時(shí)程序沒(méi)有消影,只要做消影處理就好。模塊是從網(wǎng)上買的,什么型號(hào)不太清楚,模塊上有如下標(biāo)注:ELM-1882UYWB/S530-A3,C0506U。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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