国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

51單片機(jī) 8*8LED點(diǎn)陣(入門教學(xué))

這篇具有很好參考價(jià)值的文章主要介紹了51單片機(jī) 8*8LED點(diǎn)陣(入門教學(xué))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

  1. LED 點(diǎn)陣介紹

LED 點(diǎn)陣是由發(fā)光二極管排列組成的顯示器件,在我們?nèi)粘I畹碾娖髦须S 處可見,被廣泛應(yīng)用于汽車報(bào)站器,廣告屏等。 通常應(yīng)用較多的是 8*8 點(diǎn)陣,然后使用多個(gè) 8*8 點(diǎn)陣可組成不同分辨率的 LED 點(diǎn)陣顯示屏,比如16*16 點(diǎn)陣可以使用 4 個(gè) 8*8 點(diǎn)陣構(gòu)成。因此理解了 8*8LED 點(diǎn)陣的工作原理,其他分辨率的 LED 點(diǎn)陣顯示屏都是一樣的。這里以 8*8LED 點(diǎn) 陣來(lái)做介紹。其內(nèi)部結(jié)構(gòu)圖如下所示:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

8*8 點(diǎn)陣共由 64 個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線 的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一行置 1 電平,某一列置 0 電平,則相應(yīng)的二極管就亮; 如要將第一個(gè)點(diǎn)點(diǎn)亮,則 1 腳接高電平 a 腳接低電平,則第一個(gè)點(diǎn)就亮了;如果 要將第一行點(diǎn)亮,則第 1 腳要接高電平,而(a、b、c、d、e、f、g、h )這些 引腳接低電平,那么第一行就會(huì)點(diǎn)亮;如要將第一列點(diǎn)亮,則第 a 腳接低電平, 而(1、2、3、4、5、6、7、8)接高電平,那么第一列就會(huì)點(diǎn)亮。由此可見,LED 點(diǎn)陣的使用也是非常簡(jiǎn)單的。

  1. 點(diǎn)陣顯示

為了方便理解,這里使用Proteus仿真軟件繪制電路圖。

首先,我們來(lái)點(diǎn)亮左上角第一個(gè)燈。

原理圖如下:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

在選擇led點(diǎn)陣的時(shí)候,一定要判斷那邊正那邊負(fù),像下圖這樣,一邊接地一邊接Vcc,來(lái)判斷點(diǎn)陣的正負(fù)級(jí),便于編寫程序。

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

上面為負(fù)極,控制列。下面為正極,控制行。

下面這張圖的左右兩個(gè)電路原理是一樣的,只要控制相應(yīng)的I/O口,就可以點(diǎn)亮我們想要的哪一個(gè)燈。

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

點(diǎn)亮第一個(gè)燈的程序代碼:

#include "reg52.h"

#define  LED_col  P2 //列
#define  LED_row  P3 //行

void main()
{
    LED_col=0x7F;//第一列,根據(jù)實(shí)際電路連接判斷,每個(gè)人連接電路的I/O口都可能不一樣
    while(1)
    {    
        LED_row=0x80;//第一行,根據(jù)實(shí)際電路連接判斷,每個(gè)人連接電路的I/O口都可能不一樣
    }
}
  1. 顯示數(shù)字等字符或圖像

字符或圖像就是由多個(gè)點(diǎn)組成,想要在LED點(diǎn)陣上顯示數(shù)字或簡(jiǎn)單的圖像,首先要獲取在 LED 點(diǎn)陣上顯示數(shù)字字符所需的數(shù)據(jù),即一個(gè)數(shù)字字符在 LED 點(diǎn)陣上顯示,對(duì)應(yīng)的每行每列都會(huì)有一些燈點(diǎn)亮或者熄滅,這樣就會(huì)構(gòu)成一組數(shù)據(jù),也就是數(shù)字字符的顯示數(shù)據(jù),我們只要將這些數(shù)據(jù)通過(guò)單片機(jī)發(fā)送到點(diǎn)陣對(duì)應(yīng)的行或列就能顯示數(shù)字字符。

要實(shí)現(xiàn)行列不同位置亮燈,需要使用動(dòng)態(tài)顯示的方法,也要結(jié)合掃描的方法。 在第一行亮燈一段時(shí)間以后滅掉,點(diǎn)亮第二行一段時(shí)間以后滅掉,點(diǎn)亮第三行一 段時(shí)間以后滅掉,如此點(diǎn)亮,直到八行全部點(diǎn)亮一次,在第一行點(diǎn)亮到最后一行 滅掉的總時(shí)間不能超過(guò)人肉眼可識(shí)別的時(shí)間,即 24 毫秒。在每一行點(diǎn)亮的時(shí)候, 給列一個(gè)新的數(shù)據(jù),此時(shí)對(duì)應(yīng)列的數(shù)據(jù)就可以體現(xiàn)在這行上要點(diǎn)亮的燈上。這樣 就和動(dòng)態(tài)數(shù)碼管的顯示一樣,只不過(guò)數(shù)碼管的 LED 燈是段值。這里使用 LED 點(diǎn) 陣顯示數(shù)字,也是多個(gè) LED 同時(shí)點(diǎn)亮。

數(shù)字字符數(shù)據(jù)如何獲取呢?這里給大家介紹一個(gè)非常好用的工具-取字模軟 件。

雙擊打開該軟件,首先選擇“基本操作->新建圖像”,設(shè)置圖像的寬度和高 度為8,點(diǎn)擊確定后將在顯示窗口出現(xiàn)一個(gè)8*8的白色格子,這個(gè)就類似于8*8LED 點(diǎn)陣,具體操作如下:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔
8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

可以看到上圖 8*8 點(diǎn)陣區(qū)域非常小,我們可以將其放大,選擇“模擬動(dòng)畫”, 后點(diǎn)擊“放大格點(diǎn)”,如下所示:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

然后設(shè)置取模數(shù)據(jù)的取模方式等內(nèi)容,選擇“參數(shù)設(shè)置”后點(diǎn)擊“其他 選項(xiàng)”,具體操作如下:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

然后可以在這個(gè) 8*8 白色格子里面點(diǎn)擊,點(diǎn)擊后即會(huì)在對(duì)應(yīng)位置出現(xiàn)一 個(gè)黑點(diǎn),表示在 LED 點(diǎn)陣對(duì)應(yīng)位置的 LED 燈點(diǎn)亮,未點(diǎn)擊位置(白色)表示 LED 點(diǎn)陣對(duì)應(yīng)位置的 LED 燈熄滅。 比如在 8*8LED 點(diǎn)陣上顯示數(shù)字 0,那么可以在圖中 8*8 白色框內(nèi)通過(guò)點(diǎn) 擊對(duì)應(yīng)位置描出一個(gè)數(shù)字 0 ,如下所示:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

到這里我們就將數(shù)字 0 的數(shù)據(jù)生成了,然后將生成的數(shù)據(jù)復(fù)制到我們程序定義的數(shù)組中,如:

u8 hang[8]={0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,0x00};

這些數(shù)據(jù)其實(shí)就是上述描繪的數(shù)字 0 從左到右依次每列對(duì)應(yīng)的行數(shù)據(jù)。 至于其它數(shù)字或字符及簡(jiǎn)單圖形的顯示取模方法與上述類似。 既然是動(dòng)態(tài)掃描,就需要不斷的掃描每列,因此可以把 LED 點(diǎn)陣的列控制也 用數(shù)組存儲(chǔ)起來(lái),為后面循環(huán)調(diào)用提供方便。根據(jù)數(shù)字 0 取模的數(shù)據(jù)特點(diǎn)是從左 至右每列對(duì)應(yīng)的行數(shù)據(jù),因此掃描時(shí)也應(yīng)該從左至右的順序,如下:

u8 lie[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

顯示0的代碼:

#include "reg52.h"
typedef unsigned int u16; //對(duì)系統(tǒng)默認(rèn)數(shù)據(jù)類型進(jìn)行重定義
typedef unsigned char u8;


u8 lie[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
u8 hang[8]={0x00,0x7e,0x81,0x81,0x81,0x81,0x7e,0x00};

#define  LED_col  P2      //列
#define  LED_row  P3      //行

void delay_10us(u16 ten_us)//延時(shí)函數(shù),ten_us=1 時(shí),大約延時(shí) 10us
{
    while(ten_us--);
}



void main()
{
    u8 i=0;
    while(1)
    {    
        for(i=0;i<8;i++)//循環(huán) 8 次掃描 8 行、列
        {
            LED_col=lie[i];//傳送列選數(shù)據(jù)
            LED_row=hang[i];//傳送行選數(shù)據(jù)
            delay_10us(100);
            LED_row=0x00;//消影
        }    
    }
}

仿真結(jié)果:

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

這里不知道為啥,需要把點(diǎn)陣轉(zhuǎn)過(guò)來(lái),如果不轉(zhuǎn)顯示的0就是橫這的,有知道的小伙伴可以評(píng)論區(qū)討論。我覺得還是靈活多變吧。

如果要顯示心型就把hang數(shù)組改為:

u8 hang={0x38,0x7C,0x7E,0x3F,0x3F,0x7E,0x7C,0x38};
8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

仿真:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-786116.html

8*8led點(diǎn)陣電路原理圖,51單片機(jī)系列,51單片機(jī),單片機(jī),stm32,Powered by 金山文檔

到了這里,關(guān)于51單片機(jī) 8*8LED點(diǎn)陣(入門教學(xué))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 51單片機(jī)學(xué)習(xí)--LED點(diǎn)陣屏顯示圖形&動(dòng)畫

    51單片機(jī)學(xué)習(xí)--LED點(diǎn)陣屏顯示圖形&動(dòng)畫

    為了通用性考慮,需要把用到的幾個(gè)口用特殊位聲明來(lái)重新命名,由于RCLK在頭文件中已有定義,所以這里把P3^5聲明成RCK吧。。這樣的做法可以提高可讀性 接下來(lái)編寫74HC595的輸入函數(shù) 執(zhí)行完八次循環(huán)后數(shù)據(jù)就會(huì)存到移位寄存器里面了,接下來(lái)要輸出只需要給RCLK一個(gè)高電平即

    2024年02月14日
    瀏覽(37)
  • 51單片機(jī)8*8 LED點(diǎn)陣實(shí)現(xiàn)原理講解

    51單片機(jī)8*8 LED點(diǎn)陣實(shí)現(xiàn)原理講解

    本篇文章將為大家講解LED8*8點(diǎn)陣的使用方法。 LED 8 8點(diǎn)陣是由64個(gè)LED燈珠組成的,它們排列在一個(gè)8 8的矩陣中。每個(gè)LED燈珠都可以獨(dú)立控制,因此可以通過(guò)控制不同的LED燈珠來(lái)顯示不同的圖形、數(shù)字、字母等。 LED 8 8點(diǎn)陣的原理是利用LED燈珠的發(fā)光特性,通過(guò)控制LED燈珠的亮滅

    2024年02月09日
    瀏覽(21)
  • 【【51單片機(jī)實(shí)現(xiàn)LED點(diǎn)陣屏幕和動(dòng)畫顯示】】

    【【51單片機(jī)實(shí)現(xiàn)LED點(diǎn)陣屏幕和動(dòng)畫顯示】】

    我們先搞清楚74HC595的原理 sfr 特殊功能寄存器聲明 sbit 特殊位聲明 就舉個(gè)例子,我們?cè)谥暗母鞣N測(cè)試中對(duì)LED進(jìn)行控制會(huì)直接輸入P2=什么什么,那我想問(wèn)你怎么知道P2口控制的就是LED呢,其實(shí)這些就是已經(jīng)在內(nèi)部聲明完成了,我們可以直接拿來(lái)使用 內(nèi)部

    2024年02月11日
    瀏覽(15)
  • 51單片機(jī)——LED 點(diǎn)陣點(diǎn)亮一個(gè)點(diǎn),小白詳解

    51單片機(jī)——LED 點(diǎn)陣點(diǎn)亮一個(gè)點(diǎn),小白詳解

    LED點(diǎn)陣介紹: ? ? ? ?LED點(diǎn)陣是由發(fā)光二極管排列組成的顯示器件,在我們生活中的電器中隨處可見,被廣泛用于汽車報(bào)站器,廣告屏等。 ????????通常用用較多的是8*8點(diǎn)陣,然后使用多個(gè)8*8點(diǎn)陣組成不同分辨率的LED點(diǎn)陣顯示屏,比如16*16點(diǎn)陣可以使用4個(gè)8*8點(diǎn)陣構(gòu)成。因

    2024年02月09日
    瀏覽(23)
  • 三、51單片機(jī)用74HC595控制LED點(diǎn)陣

    三、51單片機(jī)用74HC595控制LED點(diǎn)陣

    (1)外觀 (2)作用 LED點(diǎn)陣通過(guò)LED(發(fā)光二極管)組成,以燈珠亮滅來(lái)顯示文字、圖片等,LED點(diǎn)陣顯示被廣泛應(yīng)用于各種公共場(chǎng)合,如汽車報(bào)站器、廣告屏以及公告牌等。 以8*8LED點(diǎn)陣為例。 (1)單片機(jī)端口直接驅(qū)動(dòng)。驅(qū)動(dòng)8*8的點(diǎn)陣需要2個(gè)IO端口(16個(gè)IO口)。 (2)使用串轉(zhuǎn)并移位鎖存器驅(qū)

    2024年02月03日
    瀏覽(21)
  • 【51單片機(jī)】LED點(diǎn)陣屏的縱向動(dòng)畫流動(dòng)字幕

    【51單片機(jī)】LED點(diǎn)陣屏的縱向動(dòng)畫流動(dòng)字幕

    學(xué)習(xí)完點(diǎn)陣屏,小伙伴們可能都想要展示一下自己的名字,而有的同學(xué)的名字太過(guò)復(fù)雜,寬為8的點(diǎn)陣屏無(wú)法寫出,于是我便想到了縱向顯示筆畫過(guò)于復(fù)雜的名字。 就比如“嘉”字,橫向無(wú)法寫出,我們就把字體給拉長(zhǎng),丑是丑了點(diǎn),但可以完整顯示了??: 采用這種表示,將一

    2023年04月13日
    瀏覽(26)
  • 51單片機(jī)開發(fā):通過(guò)74HC595控制LED點(diǎn)陣

    51單片機(jī)開發(fā):通過(guò)74HC595控制LED點(diǎn)陣

    (1)LED點(diǎn)陣就是多個(gè)LED發(fā)光二極管的集合,在單個(gè)LED的發(fā)光原理上沒有任何區(qū)別; (2)上面是16x16的LED點(diǎn)陣,總共有16x16=256個(gè)LED燈,由32個(gè)引腳來(lái)控制,其中16個(gè)引腳是正極(posn,n=1、2······、16),16個(gè)引腳是負(fù)極(NEGn,n=1、2······、16); (3)LED點(diǎn)陣可以用坐標(biāo)系的思想來(lái)理解,

    2024年02月12日
    瀏覽(23)
  • 51單片機(jī) | LED點(diǎn)陣實(shí)驗(yàn) | 點(diǎn)亮一個(gè)點(diǎn) | 顯示數(shù)字 | 顯示圖像

    51單片機(jī) | LED點(diǎn)陣實(shí)驗(yàn) | 點(diǎn)亮一個(gè)點(diǎn) | 顯示數(shù)字 | 顯示圖像

    ??開發(fā)板上使用了 64 個(gè)紅色 LED 按照行列排布組成的 8*8 LED 點(diǎn)陣。下面介紹 LED 點(diǎn)陣的使用。 ?? LED 點(diǎn)陣 是由發(fā)光二極管排列組成的顯示器件,在我們?nèi)粘I畹碾娖髦须S處可見,被廣泛應(yīng)用于汽車報(bào)站器,廣告屏等。如下所示: ??通常應(yīng)用較多的是 8*8 點(diǎn)陣,然后使

    2023年04月08日
    瀏覽(32)
  • 畢業(yè)設(shè)計(jì) 基于51單片機(jī)控制LED點(diǎn)陣顯示器的設(shè)計(jì)

    畢業(yè)設(shè)計(jì) 基于51單片機(jī)控制LED點(diǎn)陣顯示器的設(shè)計(jì)

    序 ?? 畢業(yè)設(shè)計(jì)和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長(zhǎng)自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過(guò)畢設(shè),學(xué)長(zhǎng)分享優(yōu)質(zhì)畢業(yè)設(shè)計(jì)項(xiàng)目,今天要分享的

    2024年02月02日
    瀏覽(95)
  • 基于AT89C51單片機(jī)的LED點(diǎn)陣顯示屏設(shè)計(jì)

    基于AT89C51單片機(jī)的LED點(diǎn)陣顯示屏設(shè)計(jì)

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: [[https://download.csdn.net/download/qq_64505944/88637464?spm=1001.2014.3001.5503]] **[源碼獲取] B 源碼+仿真圖+課程設(shè)計(jì)+50 工程實(shí)訓(xùn)(三)課題設(shè)計(jì) LED點(diǎn)陣顯示屏設(shè)計(jì) LED點(diǎn)陣顯示屏通過(guò)編程控制可以顯示中英文字符、圖形及視頻動(dòng)態(tài)圖形,廣泛用于指

    2024年02月02日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包