在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣將MAX7219驅(qū)動的LED矩陣8x8與ATtiny85微控制器連接

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-25 16:45 ? 次閱讀

步驟1:硬件

MAX7219 模塊通常如下所示。它們的一側(cè)有輸入總線,另一側(cè)有輸出總線。這樣,您就可以菊花鏈?zhǔn)竭B接2個(gè)或更多模塊,即以菊花鏈方式連接,以創(chuàng)建更復(fù)雜的設(shè)置。

我們使用的模塊能夠使用5個(gè)小跳線成鏈狀連接。參見下圖。

步驟2:引腳和信號

MAX7219 模塊有5個(gè)引腳:

VCC –電源(+)

GND –接地(-)

DIN –數(shù)據(jù)輸入

CS –芯片選擇

CLK –時(shí)鐘

這意味著我們需要ATtiny85微控制器一側(cè)的3個(gè)引腳來控制模塊。這些將是:

PB0 –連接到CLK

PB1 –連接到CS

PB2 –連接到DIN

這足以連接到MAX7219模塊并對其進(jìn)行編程

步驟3:協(xié)議

與 MAX7219 進(jìn)行通信相對容易–它使用同步協(xié)議,這意味著我們發(fā)送的每個(gè)數(shù)據(jù)位都有一個(gè)時(shí)鐘周期,表示該數(shù)據(jù)位的存在。

換句話說,我們向位發(fā)送2個(gè)并行序列-一個(gè)用于時(shí)鐘,另一個(gè)用于數(shù)據(jù)。

第4步:軟件

MAX7219 的方式模塊的工作原理是:

我們將字節(jié)寫入其內(nèi)部寄存器。

MAX7219解釋數(shù)據(jù)。

MAX7219控制矩陣中的LED

這也意味著我們不必一直在LED陣列中盤旋來點(diǎn)亮它們。 -MAX7219控制器負(fù)責(zé)這一工作。

因此,為了以方便的方式使用MAX7219模塊,我們需要一個(gè)函數(shù)庫來實(shí)現(xiàn)這一目的。

首先,我們需要一些基本功能,以便寫入MAX7219寄存器

向MAX7219寫入一個(gè)字節(jié)。

向MAX7219寫一個(gè)字(2個(gè)字節(jié))。

向控制器寫入一個(gè)字節(jié)的函數(shù)如下所示:

void max7219_byte(uint8_t data) {

for(uint8_t i = 8; i 》= 1; i--) {

PORTB &= ~(1 《《 MAX7219_CLK); // Set CLK to LOW

if (data & 0x80) // Mask the MSB of the data

PORTB |= (1 《《 MAX7219_DIN); // Set DIN to HIGH

else

PORTB &= ~(1 《《 MAX7219_DIN); // Set DIN to LOW

PORTB |= (1 《《 MAX7219_CLK); // Set CLK to HIGH

data 《《= 1; // Shift to the left

}

}

現(xiàn)在我們可以向MAX7219發(fā)送字節(jié)了,我們可以開始發(fā)送命令了。這是通過發(fā)送2個(gè)字節(jié)來完成的,第一個(gè)字節(jié)是內(nèi)部寄存器的地址,第二個(gè)字節(jié)是我們要發(fā)送的數(shù)據(jù)。

MAX7219控制器中有十幾個(gè)寄存器。/p》

發(fā)送命令或單詞基本上是發(fā)送2個(gè)連續(xù)字節(jié)。該函數(shù)的實(shí)現(xiàn)非常簡單。

void max7219_word(uint8_t address, uint8_t data) {

PORTB &= ~(1 《《 MAX7219_CS); // Set CS to LOW

max7219_byte(address); // Sending the address

max7219_byte(data); // Sending the data

PORTB |= (1 《《 MAX7219_CS); // Set CS to HIGH

PORTB &= ~(1 《《 MAX7219_CLK); // Set CLK to LOW

}

請務(wù)必在此處注意將CS信號恢復(fù)為HIGH的行-這標(biāo)志著序列的結(jié)束-在這種情況下,命令的結(jié)尾。控制鏈中連接的一個(gè)以上矩陣時(shí),使用類似的技術(shù)。

在開始打開和關(guān)閉LED之前,下一步是初始化MAX7219控制器。這是通過將某些值寫入某些寄存器來完成的。為了方便起見,在進(jìn)行編碼時(shí),我們可以將初始化序列放入數(shù)組中。

uint8_t initseq[] = {

0x09, 0x00, // Decode-Mode Register, 00 = No decode

0x0a, 0x01, // Intensity Register, 0x00 。. 0x0f

0x0b, 0x07, // Scan-Limit Register, 0x07 to show all lines

0x0c, 0x01, // Shutdown Register, 0x01 = Normal Operation

0x0f, 0x00, // Display-Test Register, 0x00 = Normal Operation

};

我們只需要按順序?qū)⑸厦娴?條命令作為地址/數(shù)據(jù)對發(fā)送即可。

下一步步驟–點(diǎn)亮一排LED。

這很簡單–我們只需要編寫一個(gè)命令,其中第一個(gè)字節(jié)為地址(從0到7),第二個(gè)字節(jié)為代表8個(gè)LED的8位。在行中。

void max7219_row(uint8_t address, uint8_t data) {

if (address 》= 1 && address 《= 8) max7219_word(address, data);

}

請注意,這僅適用于1個(gè)矩陣。如果我們將更多矩陣連接在一起,它們將全部顯示相同的數(shù)據(jù)。原因是在發(fā)送命令后,我們將CS信號返回到HIGH,這會導(dǎo)致鏈中的所有MAX7219控制器鎖存并顯示最后一條命令的內(nèi)容。

步驟5 :測試

該測試代碼并沒有做什么,但它演示了如何與MAX7219控制器進(jìn)行通信。

這是一個(gè)簡單的測試程序,它可以點(diǎn)亮第一排(r = 1)上的LED在最右邊的位置,然后將其向左移動直到到達(dá)最左邊的位置,然后向上一行(r = 2)進(jìn)行相同的操作,直到到達(dá)頂部(r = 8)。

max7219_init();

for (;;) {

for (uint8_t r = 1; r 《= 8; r++) {

uint8_t d = 1;

for (uint8_t i = 9; i 》 0; i--) {

max7219_row(r, d);

d = d 《《 1;

_delay_ms(50);

}

}

}

MAX7219LED8x8庫

上述所有功能都是MAX7219LED8x8的一部分圖書館。其源代碼可在https://bitbucket.org/tinusaur/max7219led8x8上獲得。

步驟6:應(yīng)用程序

Tinusaur Shield GAMEx3

如果您已經(jīng)有了Tinusaur板,我們可以提供Shield GAMEx3,以便將MAX7219模塊更容易地連接到ATtiny85微控制器。

Gametinu項(xiàng)目

Gametinu是一個(gè)小型游戲平臺,您可以使用Shield GAMEx3以及其他一些部件和工具來構(gòu)建自己的游戲。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ATtiny
    +關(guān)注

    關(guān)注

    3

    文章

    128

    瀏覽量

    19602
  • MAX7219
    +關(guān)注

    關(guān)注

    4

    文章

    94

    瀏覽量

    24631
  • LED矩陣
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    17605
收藏 人收藏

    評論

    相關(guān)推薦

    具有連接管理器TRM的TMS320F2838x實(shí)時(shí)微控制器

    電子發(fā)燒友網(wǎng)站提供《具有連接管理器TRM的TMS320F2838x實(shí)時(shí)微控制器.pdf》資料免費(fèi)下載
    發(fā)表于 11-09 14:25 ?0次下載
    具有<b class='flag-5'>連接管理器</b>TRM的TMS320F2838<b class='flag-5'>x</b>實(shí)時(shí)<b class='flag-5'>微控制器</b>

    SN65LVCP408千兆8x8交叉點(diǎn)交換數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《SN65LVCP408千兆8x8交叉點(diǎn)交換數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 09:14 ?0次下載
    SN65LVCP408千兆<b class='flag-5'>8x8</b>交叉點(diǎn)交換<b class='flag-5'>器</b>數(shù)據(jù)表

    8位Atmel 微控制器ATMEGA325V-8AU技術(shù)手冊

    電子發(fā)燒友網(wǎng)站提供《8位Atmel 微控制器ATMEGA325V-8AU技術(shù)手冊.pdf》資料免費(fèi)下載
    發(fā)表于 05-06 14:59 ?0次下載

    2x18 LED矩陣驅(qū)動器8位模擬和8位/16位 PWM調(diào)光LP5862數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《2x18 LED矩陣驅(qū)動器8位模擬和8位/16位 PWM調(diào)光LP5862數(shù)
    發(fā)表于 04-02 09:30 ?0次下載
    2<b class='flag-5'>x</b>18 <b class='flag-5'>LED</b><b class='flag-5'>矩陣</b><b class='flag-5'>驅(qū)動器</b>,<b class='flag-5'>8</b>位模擬和<b class='flag-5'>8</b>位/16位 PWM調(diào)光LP5862數(shù)據(jù)表

    具有8位模擬和8/16 位 PWM 調(diào)光的 LP5860 11×18 LED矩陣驅(qū)動器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有8位模擬和8/16 位 PWM 調(diào)光的 LP5860 11×18 LED矩陣驅(qū)動器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-02 09:29 ?0次下載
    具有<b class='flag-5'>8</b>位模擬和<b class='flag-5'>8</b>/16 位 PWM 調(diào)光的 LP5860 11×18 <b class='flag-5'>LED</b><b class='flag-5'>矩陣</b><b class='flag-5'>驅(qū)動器</b>數(shù)據(jù)表

    具有8位模擬調(diào)光和8/16位PWM調(diào)光功能的4×18 LED矩陣驅(qū)動器LP5864數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有8位模擬調(diào)光和8/16位PWM調(diào)光功能的4×18 LED矩陣驅(qū)動器LP5864數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-02 09:08 ?0次下載
    具有<b class='flag-5'>8</b>位模擬調(diào)光和<b class='flag-5'>8</b>/16位PWM調(diào)光功能的4×18 <b class='flag-5'>LED</b><b class='flag-5'>矩陣</b><b class='flag-5'>驅(qū)動器</b>LP5864數(shù)據(jù)表

    6x18 LED矩陣驅(qū)動器8位模擬和8位/16 位PWM調(diào)光LP5866數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《6x18 LED矩陣驅(qū)動器8位模擬和8位/16 位PWM調(diào)光LP5866數(shù)
    發(fā)表于 04-01 10:22 ?0次下載
    6<b class='flag-5'>x</b>18 <b class='flag-5'>LED</b><b class='flag-5'>矩陣</b><b class='flag-5'>驅(qū)動器</b>,<b class='flag-5'>8</b>位模擬和<b class='flag-5'>8</b>位/16 位PWM調(diào)光LP5866數(shù)據(jù)表

    8x18LED矩陣驅(qū)動器8位模擬和8位/16 位 PWM調(diào)光LP5868數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8x18LED矩陣驅(qū)動器8位模擬和8位/16 位 PWM調(diào)光LP5868數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-01 09:49 ?0次下載
    <b class='flag-5'>8x18LED</b><b class='flag-5'>矩陣</b><b class='flag-5'>驅(qū)動器</b>,<b class='flag-5'>8</b>位模擬和<b class='flag-5'>8</b>位/16 位 PWM調(diào)光LP5868數(shù)據(jù)表

    基于51單片機(jī)的智能小車驅(qū)動MAX7219控制點(diǎn)陣屏顯示小車運(yùn)動狀態(tài)?

    智能小車點(diǎn)陣屏顯示 個(gè)人是小白,想求各位大佬幫忙!!!用51單片機(jī)控制小車運(yùn)動,并驅(qū)動MAX7219控制點(diǎn)陣屏顯示小車運(yùn)動狀態(tài),就是當(dāng)小車向前行駛,點(diǎn)陣屏顯示向上的箭頭\'↑\'。
    發(fā)表于 02-05 00:50

    瑞薩電子推出RA8T1系列微控制器

    瑞薩電子近日宣布推出RA8T1系列微控制器(MCU),專為工業(yè)和建筑自動化以及智能家居中的電機(jī)、電源和其他產(chǎn)品的實(shí)時(shí)控制而設(shè)計(jì)。這款基于Arm Cortex-M85內(nèi)核的MCU產(chǎn)品,旨
    的頭像 發(fā)表于 02-01 16:40 ?1048次閱讀

    CAN如何讀取SAF-C515C-8EM微控制器

    您好,請告訴我您 CAN 如何讀取 SAF-C515C-8EM 微控制器,然后您讀取的內(nèi)容寫入新的微控制器
    發(fā)表于 01-31 07:53

    Wdg_17_Scu與BSW集成,如果沒有調(diào)試微控制器停止運(yùn)行的原因?

    時(shí),如果沒有調(diào)試微控制器停止運(yùn)行。 移除 JTAG 后,微控制器停止并無法重新啟動。 相關(guān)詳情: 我正在使用帶有 Trace32 Powerview 的勞特巴赫調(diào)試
    發(fā)表于 01-23 08:27

    FH8A51S封裝SOP8 SOT23-6 微控制器MCU介紹

    FH8A51S封裝SOP8 SOT23-6微控制器MCU單片機(jī)可代開發(fā)燒錄 在當(dāng)今的電子設(shè)備中,微控制器(MCU)已經(jīng)成為不可或缺的核心組件。而FH
    的頭像 發(fā)表于 01-16 23:05 ?1013次閱讀
    FH<b class='flag-5'>8</b>A51S封裝SOP<b class='flag-5'>8</b> SOT23-6 <b class='flag-5'>微控制器</b>MCU介紹

    【飛騰派4G版免費(fèi)試用】+點(diǎn)陣顯示模塊的顯示驅(qū)動

    前面已python編程的方式實(shí)現(xiàn)了串行數(shù)碼管的顯示驅(qū)動,與之相近的是一款點(diǎn)陣顯示模塊,它也是基于串并轉(zhuǎn)換芯片MAX7219,它與開發(fā)板的連接關(guān)系為: scl----gpio1_12
    發(fā)表于 01-12 14:47

    max7219驅(qū)動8段數(shù)碼管詳解

    ,因此在各種電子設(shè)備中得到了廣泛的應(yīng)用。 本文詳細(xì)介紹如何使用MAX7219驅(qū)動8段數(shù)碼管。 一、硬件連接 首先需要將
    的頭像 發(fā)表于 12-30 11:06 ?4922次閱讀
    <b class='flag-5'>max7219</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>8</b>段數(shù)碼管詳解
    主站蜘蛛池模板: 天天色天天综合| 窝窝午夜在线观看免费观看 | 潘金莲国产三级视频在线| 福利片欧美| 91md天美精东蜜桃传媒在线| 亚洲三级毛片| 精品国产一二三区在线影院| 国产三级一区| 亚洲国产片| 加勒比在线一区| 在线毛片网| 国产美女视频一区二区三区| 午夜高清视频在线观看| 国产午夜一区二区在线观看| 亚洲区中文字幕| 日本www高清| 天天操天天操| 激情丁香六月| 亚洲色图第一页| 丁香花五月婷婷开心| 免费视频一级片| 中文字幕亚洲一区二区va在线| 在线啪| 国产三级日本三级美三级| aa在线视频| 色图视频| 成年人在线网站| 美女网战色| 亚洲成a人片7777| 一级毛片免费不卡直观看| 操久在线| 色多多a| 日日夜夜天天久久| 亚洲国产香蕉视频欧美| 久久成人国产精品青青| 成人夜夜| 日本黄段视频| 国产精品bdsm在线调教| 日韩一级欧美一级在线观看| 91高清在线成人免费观看| 伊人色强在线网|