日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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個或更多模塊,即以菊花鏈方式連接,以創(chuàng)建更復(fù)雜的設(shè)置。

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

步驟2:引腳和信號

MAX7219 模塊有5個引腳:

VCC –電源(+)

GND –接地(-)

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

CS –芯片選擇

CLK –時鐘

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

PB0 –連接到CLK

PB1 –連接到CS

PB2 –連接到DIN

這足以連接到MAX7219模塊并對其進行編程。

步驟3:協(xié)議

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

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

第4步:軟件

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

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

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

MAX7219控制矩陣中的LED。

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

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

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

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

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

向控制器寫入一個字節(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個字節(jié)來完成的,第一個字節(jié)是內(nèi)部寄存器的地址,第二個字節(jié)是我們要發(fā)送的數(shù)據(jù)。

MAX7219控制器中有十幾個寄存器。/p》

發(fā)送命令或單詞基本上是發(fā)送2個連續(xù)字節(jié)。該函數(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é)尾。控制鏈中連接的一個以上矩陣時,使用類似的技術(shù)。

在開始打開和關(guān)閉LED之前,下一步是初始化MAX7219控制器。這是通過將某些值寫入某些寄存器來完成的。為了方便起見,在進行編碼時,我們可以將初始化序列放入數(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ā)送即可。

下一步步驟–點亮一排LED。

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

void max7219_row(uint8_t address, uint8_t data) {

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

}

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

步驟5 :測試

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

這是一個簡單的測試程序,它可以點亮第一排(r = 1)上的LED在最右邊的位置,然后將其向左移動直到到達最左邊的位置,然后向上一行(r = 2)進行相同的操作,直到到達頂部(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項目

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

責(zé)任編輯:wv

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

    關(guān)注

    3

    文章

    128

    瀏覽量

    20339
  • MAX7219
    +關(guān)注

    關(guān)注

    4

    文章

    94

    瀏覽量

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

    關(guān)注

    0

    文章

    86

    瀏覽量

    18224
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    深入解析Atmel ATtiny24/44/84 8位AVR微控制器

    深入解析Atmel ATtiny24/44/84 8位AVR微控制器 在電子設(shè)計領(lǐng)域,選擇一款合適的微控制器對于項目的成功至關(guān)重要。Atmel AT
    的頭像 發(fā)表于 04-07 11:10 ?301次閱讀

    Atmel ATtiny87/ATtiny167:8位AVR微控制器的卓越之選

    Atmel ATtiny87/ATtiny167:8位AVR微控制器的卓越之選 在電子設(shè)計領(lǐng)域,選擇一款合適的微控制器對于項目的成功至關(guān)重要
    的頭像 發(fā)表于 04-07 11:10 ?151次閱讀

    ATtiny13/ATtiny13V:低功耗8微控制器的卓越之選

    ATtiny13/ATtiny13V:低功耗8微控制器的卓越之選 在電子設(shè)計領(lǐng)域,低功耗、高性能的微控制器一直是工程師們追求的目標(biāo)。
    的頭像 發(fā)表于 04-07 09:35 ?160次閱讀

    深入解析Atmel ATtiny102/ATtiny104 8位AVR微控制器

    深入解析Atmel ATtiny102/ATtiny104 8位AVR微控制器 引言 在電子設(shè)計領(lǐng)域,微控制器是眾多項目的核心組件。Atme
    的頭像 發(fā)表于 04-07 09:05 ?151次閱讀

    ATtiny25/45/85:高性能低功耗8微控制器的技術(shù)解析

    ATtiny25/45/85:高性能低功耗8微控制器的技術(shù)解析 在電子設(shè)計領(lǐng)域,高性能與低功耗往往是魚和熊掌難以兼得,但ATtiny25/
    的頭像 發(fā)表于 04-06 15:50 ?1181次閱讀

    ATtiny26(L) 8微控制器深度解析:特性、應(yīng)用與設(shè)計要點

    ATtiny26(L) 8微控制器深度解析:特性、應(yīng)用與設(shè)計要點 引言 在嵌入式系統(tǒng)設(shè)計領(lǐng)域,選擇一款合適的微控制器至關(guān)重要。ATtiny
    的頭像 發(fā)表于 04-06 15:40 ?1071次閱讀

    深入解析Atmel ATtiny25/45/85汽車級8位AVR微控制器

    深入解析Atmel ATtiny25/45/85汽車級8位AVR微控制器 在汽車電子領(lǐng)域,對高性能、低功耗微控制器的需求日益增長。Atmel
    的頭像 發(fā)表于 04-06 15:30 ?1091次閱讀

    Atmel ATtiny25/45/85汽車級8微控制器的深度剖析

    Atmel ATtiny25/45/85汽車級8微控制器的深度剖析 在汽車電子飛速發(fā)展的今天,高性能、低功耗且穩(wěn)定可靠的微控制器成為了眾多
    的頭像 發(fā)表于 04-06 15:30 ?710次閱讀

    Atmel ATtiny87/ATtiny167:高性能8位AVR微控制器的技術(shù)剖析

    87/ATtiny167 8位AVR微控制器憑借其先進的架構(gòu)和豐富的功能,成為了眾多嵌入式控制應(yīng)用的理想選擇。本文深入剖析這款
    的頭像 發(fā)表于 04-06 15:15 ?711次閱讀

    ATtiny13/ATtiny13V 8微控制器深度解析

    ,成為眾多工程師的首選之一。本文深入剖析這款微控制器的各項特性、功能及相關(guān)注意事項。 文件下載: ATTINY13-20PI.pdf 一、產(chǎn)品特性 高性能低功耗架構(gòu) ATtiny13
    的頭像 發(fā)表于 04-06 15:05 ?760次閱讀

    Atmel ATtiny25/45/85汽車級8位AVR微控制器深度解析

    Atmel ATtiny25/45/85汽車級8位AVR微控制器深度解析 在當(dāng)今復(fù)雜的電子系統(tǒng)設(shè)計領(lǐng)域,選擇性能卓越且穩(wěn)定可靠的微控制器至關(guān)
    的頭像 發(fā)表于 03-25 14:15 ?236次閱讀

    MAX7221:8LED 顯示驅(qū)動芯片的深度解析

    MAX7219/MAX7221:8LED 顯示驅(qū)動芯片的深度解析 在電子設(shè)計領(lǐng)域,LED
    的頭像 發(fā)表于 02-04 15:05 ?581次閱讀

    MAX7219:串行接口8LED顯示驅(qū)動器的深度解析

    MAX7219/MAX7221:串行接口8LED顯示驅(qū)動器的深度解析 在電子設(shè)計領(lǐng)域,LED
    的頭像 發(fā)表于 02-03 15:45 ?682次閱讀

    MAX6960:4線串行接口8x8矩陣圖形LED驅(qū)動器的深度解析

    MAX6960 - MAX6963:4線串行接口8x8矩陣圖形LED驅(qū)動器的深度解析 在當(dāng)今的電
    的頭像 發(fā)表于 02-03 15:25 ?2664次閱讀

    MAX6962:4線串行接口8x8矩陣圖形LED驅(qū)動器的全方位解析

    扮演著重要的角色。而MAX6960 - MAX6963 4線串行接口8x8矩陣圖形LED驅(qū)動器
    的頭像 發(fā)表于 02-03 15:25 ?1540次閱讀
    彭山县| 安达市| 盐城市| 江永县| 额济纳旗| 崇仁县| 富平县| 南昌市| 游戏| 嘉义市| 筠连县| 高陵县| 公主岭市| 永清县| 兴海县| 重庆市| 黔南| 内丘县| 禄丰县| 双城市| 淮阳县| 库尔勒市| 临高县| 长顺县| 永昌县| 彩票| 江源县| 漾濞| 白山市| 新巴尔虎右旗| 新营市| 镇宁| 桃园县| 钟山县| 宜宾县| 武城县| 从江县| 商城县| 池州市| 广汉市| 察哈|