欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

Arduino篇—點(diǎn)陣屏動(dòng)態(tài)顯示

冬至子 ? 來源:X的創(chuàng)客課堂 ? 作者:MRXY ? 2023-11-01 15:25 ? 次閱讀

學(xué)習(xí)目標(biāo)

  • 字庫的創(chuàng)建與應(yīng)用
  • 位移操作
  • 動(dòng)態(tài)顯示的應(yīng)用

電路搭建

所需材料

ArduinoUNO * 1
8 * 8點(diǎn)陣屏 * 1
杜邦線若干

電路連接

圖片

程序編寫:

練習(xí):點(diǎn)陣屏動(dòng)態(tài)顯示數(shù)字

通過編寫程序,實(shí)現(xiàn)點(diǎn)陣屏動(dòng)態(tài)顯示數(shù)字0~9。本節(jié)課內(nèi)容主要通過代碼的方式來進(jìn)行講解,圖形化由于在后續(xù)使用點(diǎn)陣屏模塊的時(shí)候會非常容易,所以不在這里贅述。

代碼方式:

/* 項(xiàng)目名稱:動(dòng)態(tài)顯示數(shù)字
 * 項(xiàng)目時(shí)間:2022.03.04
 * 項(xiàng)目作者:MRX
 */
int leds[8] = {9, 14, 8, 12, 1, 7, 2, 5}; //點(diǎn)陣屏正極引腳
int gnds[8] = {13, 3, 4, 10, 6, 11, 15, 16}; //點(diǎn)陣屏負(fù)極引腳
char nums[] = {
  0x00, 0x7C, 0x8A, 0x92, 0xA2, 0x7C, 0x00, 0x00, // -0-
  0x00, 0x00, 0x42, 0xFE, 0x02, 0x00, 0x00, 0x00, // -1-
  0x00, 0x46, 0x8A, 0x92, 0x92, 0x62, 0x00, 0x00, // -2-
  0x00, 0x84, 0x82, 0x92, 0xB2, 0xCC, 0x00, 0x00, // -3-
  0x00, 0x18, 0x28, 0x48, 0xFE, 0x08, 0x00, 0x00, // -4-
  0x00, 0xE4, 0xA2, 0xA2, 0xA2, 0x9C, 0x00, 0x00, // -5-
  0x00, 0x3C, 0x52, 0x92, 0x92, 0x8C, 0x00, 0x00, // -6-
  0x00, 0x80, 0x8E, 0x90, 0xA0, 0xC0, 0x00, 0x00, // -7-
  0x00, 0x6C, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, // -8-
  0x00, 0x62, 0x92, 0x92, 0x94, 0x78, 0x00, 0x00, // -9-
  0x00, 0x3E, 0x48, 0x88, 0x48, 0x3E, 0x00, 0x00, // -A-
  0x00, 0xFE, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, // -B-
  0x00, 0x7C, 0x82, 0x82, 0x82, 0x44, 0x00, 0x00, // -C-
  0x00, 0xFE, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, // -D-
  0x00, 0xFE, 0x92, 0x92, 0x92, 0x82, 0x00, 0x00, // -E-
  0x00, 0xFE, 0x90, 0x90, 0x90, 0x80, 0x00, 0x00, // -F-
};
void ledclean()
{
  for (int i = 0; i < 8; i++)//將點(diǎn)陣屏正極拉低,負(fù)極拉高,關(guān)斷顯示
  {
    digitalWrite(leds[i], LOW); 
    digitalWrite(gnds[i], HIGH);
  }
}
//字符顯示
void ledShow(char num, char dat)
{
  digitalWrite(gnds[num], LOW);
  for (int i = 0; i < 8; i++)
  {
    digitalWrite(leds[i], dat & 0x80); // 1 0 0 0 0 0 0 0
    dat < <= 1;
  }
  delayMicroseconds(100);
  digitalWrite(gnds[num], HIGH);
  ledclean();
}
void setup() {
  for (int i = 0; i < 8; i++)
  {
    pinMode(leds[i], OUTPUT);
    pinMode(gnds[i], OUTPUT);
    digitalWrite(gnds[i], HIGH); //負(fù)極引腳拉高,熄滅所有LED
  }
}
void loop() {
  for (int a = 0; a < 10; a++) //控制流動(dòng)顯示內(nèi)容
  {
    for (int i = 0 ; i < 200 ; i++)//循環(huán)顯示達(dá)到延時(shí)效果
    {
      for (int c = 0; c < 8; c++) //8列循環(huán)掃描,達(dá)到點(diǎn)陣屏驅(qū)動(dòng)效果
      {
        ledShow(c, nums[c + a*8]);
      }
    }
  }
  }

程序分析:

上面這段程序?qū)崿F(xiàn)了在點(diǎn)陣屏上翻頁顯示數(shù)字09,雖然我們字庫按照十六進(jìn)制進(jìn)行了定義,但是這里根據(jù)要求,只需要09就可以了。

定義一個(gè)數(shù)組用于存儲需要顯示的字庫,每8個(gè)表示一個(gè)字符。

char nums[] = {
  0x00, 0x7C, 0x8A, 0x92, 0xA2, 0x7C, 0x00, 0x00, // -0-
  0x00, 0x00, 0x42, 0xFE, 0x02, 0x00, 0x00, 0x00, // -1-
  0x00, 0x46, 0x8A, 0x92, 0x92, 0x62, 0x00, 0x00, // -2-
  0x00, 0x84, 0x82, 0x92, 0xB2, 0xCC, 0x00, 0x00, // -3-
  0x00, 0x18, 0x28, 0x48, 0xFE, 0x08, 0x00, 0x00, // -4-
  0x00, 0xE4, 0xA2, 0xA2, 0xA2, 0x9C, 0x00, 0x00, // -5-
  0x00, 0x3C, 0x52, 0x92, 0x92, 0x8C, 0x00, 0x00, // -6-
  0x00, 0x80, 0x8E, 0x90, 0xA0, 0xC0, 0x00, 0x00, // -7-
  0x00, 0x6C, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, // -8-
  0x00, 0x62, 0x92, 0x92, 0x94, 0x78, 0x00, 0x00, // -9-
  0x00, 0x3E, 0x48, 0x88, 0x48, 0x3E, 0x00, 0x00, // -A-
  0x00, 0xFE, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, // -B-
  0x00, 0x7C, 0x82, 0x82, 0x82, 0x44, 0x00, 0x00, // -C-
  0x00, 0xFE, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, // -D-
  0x00, 0xFE, 0x92, 0x92, 0x92, 0x82, 0x00, 0x00, // -E-
  0x00, 0xFE, 0x90, 0x90, 0x90, 0x80, 0x00, 0x00, // -F-
};

這個(gè)數(shù)組,表示的是數(shù)字的字模。以數(shù)字3對應(yīng)的數(shù)據(jù)nums[0]{ 0x00, 0x7C, 0x8A, 0x92, 0xA2, 0x7C, 0x00, 0x00, },//0為例,包括有8個(gè)十六進(jìn)制的數(shù),每行一個(gè)十六進(jìn)制數(shù),并且換成二進(jìn)制的表示,會是什么樣的呢?

00000000 //0x00
01111100 //0x7C
10001010 //0x8A
10010010 //0x92
10100010 //0xA2
01111100 //0x7C
00000000 //0x00
00000000 //0x00

請看1出現(xiàn)的地方,可以借著鼠標(biāo)按1出現(xiàn)的軌跡跟著劃一劃,不就是一個(gè)橫著的數(shù)字0字型的輪廓么。

loop()中的三重for循環(huán): 最里面控制8列掃描顯示,中間for循環(huán)用于控制顯示時(shí)間,最外層for循環(huán)用于控制流動(dòng)位置。

流動(dòng)效果: 依次移動(dòng)需要顯示的字符數(shù)據(jù),就達(dá)到了流動(dòng)顯示效果??梢钥刂泼看我苿?dòng)的間距,當(dāng)每次移動(dòng)8列就會實(shí)現(xiàn)整屏覆蓋的效果。

字符指針數(shù)據(jù)類型char: 指向了一個(gè)char類型的內(nèi)存單元,指針是編程語言中的一個(gè)對象,利用地址,它的值直接指向存在電腦存儲器中另一個(gè)地方的值。

dat<<=1: 即dat=dat<<1;,將dat變量左移1位后的值賦給dat,結(jié)果會改變dat變量的值。

dat & 0x80: 就是dat和10000000位相與,即把dat最高位置1,其它位不變。(這里的“&”是位邏輯運(yùn)算(一位一位的運(yùn)算)。)

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

    關(guān)注

    22

    文章

    1592

    瀏覽量

    108467
  • 十六進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    32

    瀏覽量

    37854
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187978
  • 點(diǎn)陣屏
    +關(guān)注

    關(guān)注

    4

    文章

    71

    瀏覽量

    32002
  • for循環(huán)
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    2550
收藏 人收藏

    評論

    相關(guān)推薦

    LED顯示屏動(dòng)態(tài)顯示和遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)

    由于普通LED點(diǎn)陣顯示屏動(dòng)態(tài)顯示通常采用硬件掃描驅(qū)動(dòng),這在一些需要特殊顯示的場合顯得不夠靈活。文中提出了一種利用PC機(jī)和單片機(jī)的通訊來實(shí)現(xiàn)顯示屏
    發(fā)表于 03-07 14:35

    protues 仿真***點(diǎn)陣 動(dòng)態(tài)顯示

    protues 仿真***點(diǎn)陣 動(dòng)態(tài)顯示
    發(fā)表于 03-19 16:09

    關(guān)于單片機(jī)點(diǎn)陣動(dòng)態(tài)顯示仿真

    我在proteus仿真,我把點(diǎn)陣的陰極全部接地,采用列選通的方式,也就是如果16列都同時(shí)給高電平時(shí),整個(gè)都亮?,F(xiàn)在想要用74hc154實(shí)現(xiàn)動(dòng)態(tài)顯示,即每個(gè)時(shí)刻只有一列亮。我把延時(shí)調(diào)大,可以看到
    發(fā)表于 07-02 13:02

    如何去實(shí)現(xiàn)LED顯示屏動(dòng)態(tài)顯示和控制?

    本文介紹一種實(shí)現(xiàn)LED點(diǎn)陣顯示屏動(dòng)態(tài)顯示和控制的解決方案。
    發(fā)表于 05-31 06:58

    LED顯示屏動(dòng)態(tài)顯示及程序

    實(shí)現(xiàn)動(dòng)態(tài)顯示效果的方法和以上幾種基本類
    發(fā)表于 07-11 10:28 ?181次下載

    LED點(diǎn)陣顯示牌的設(shè)計(jì)與動(dòng)態(tài)顯示控制

    LED點(diǎn)陣顯示牌的設(shè)計(jì)與動(dòng)態(tài)顯示控制
    發(fā)表于 10-27 16:29 ?75次下載
    LED<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>顯示</b>牌的設(shè)計(jì)與<b class='flag-5'>動(dòng)態(tài)顯示</b>控制

    MIN數(shù)碼管動(dòng)態(tài)顯示

    數(shù)碼管動(dòng)態(tài)顯示,MIN數(shù)碼管動(dòng)態(tài)顯示,MIN。
    發(fā)表于 05-03 10:48 ?9次下載

    LED點(diǎn)陣電路及其動(dòng)態(tài)顯示系統(tǒng)的設(shè)計(jì)

    LED 電子顯示屏具有投影儀器、液晶顯示屏無法比擬的優(yōu)點(diǎn):高亮度、功耗小、工作電壓低、壽命長、穩(wěn)定和耐沖擊等優(yōu)點(diǎn)。 本文所提出的即為一種基于 AT89C51 系列單片機(jī)的88 LED 點(diǎn)陣動(dòng)態(tài)
    發(fā)表于 11-30 11:23 ?18次下載
    LED<b class='flag-5'>點(diǎn)陣</b>電路及其<b class='flag-5'>動(dòng)態(tài)顯示</b>系統(tǒng)的設(shè)計(jì)

    如何實(shí)現(xiàn)LED點(diǎn)陣顯示屏動(dòng)態(tài)顯示和控制

    LED 點(diǎn)陣電子顯示屏是集微電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理技術(shù)于一體的大型顯示屏系統(tǒng)。它以其色彩鮮艷,動(dòng)態(tài)范圍廣,亮度高,壽命長,工作穩(wěn)定可靠等優(yōu)點(diǎn)而成為眾多
    的頭像 發(fā)表于 12-19 09:51 ?2.9w次閱讀
    如何實(shí)現(xiàn)LED<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>顯示屏</b>的<b class='flag-5'>動(dòng)態(tài)顯示</b>和控制

    如何實(shí)現(xiàn)LED顯示屏動(dòng)態(tài)顯示和遠(yuǎn)程監(jiān)控的詳細(xì)資料說明

    由于普通LED 點(diǎn)陣顯示屏動(dòng)態(tài)顯示通常采用硬件掃描驅(qū)動(dòng),這在一些需要特殊顯示的場合顯得不夠靈活。文中提出了一種利用PC 機(jī)和單片機(jī)的通訊來實(shí)現(xiàn)顯示屏
    發(fā)表于 03-14 15:22 ?11次下載
    如何實(shí)現(xiàn)LED<b class='flag-5'>顯示屏</b><b class='flag-5'>動(dòng)態(tài)顯示</b>和遠(yuǎn)程監(jiān)控的詳細(xì)資料說明

    數(shù)碼管的靜態(tài)與動(dòng)態(tài)顯示和74HC138及點(diǎn)陣動(dòng)態(tài)顯示詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)碼管的靜態(tài)與動(dòng)態(tài)顯示和74HC138及點(diǎn)陣動(dòng)態(tài)顯示詳細(xì)資料說明。
    發(fā)表于 04-12 18:27 ?5次下載
    數(shù)碼管的靜態(tài)與<b class='flag-5'>動(dòng)態(tài)顯示</b>和74HC138及<b class='flag-5'>點(diǎn)陣</b>的<b class='flag-5'>動(dòng)態(tài)顯示</b>詳細(xì)資料說明

    LED顯示屏動(dòng)態(tài)顯示和遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)資料

    由于普通LED點(diǎn)陣顯示屏動(dòng)態(tài)顯示通常采用硬件掃描驅(qū)動(dòng),這在一些需要特殊顯示的場合顯得不夠靈活。文中提出了一種利用PC機(jī)和單片機(jī)的通訊來實(shí)現(xiàn)顯示屏
    發(fā)表于 08-30 08:00 ?6次下載
    LED<b class='flag-5'>顯示屏</b><b class='flag-5'>動(dòng)態(tài)顯示</b>和遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)資料

    如何使用單片機(jī)實(shí)現(xiàn)LED顯示屏動(dòng)態(tài)顯示和遠(yuǎn)程監(jiān)控詳細(xì)方法說明

    由于普通LED點(diǎn)陣顯示屏動(dòng)態(tài)顯示通常采用硬件掃描驅(qū)動(dòng),這在一些需要特殊顯示的場合顯得不夠靈活。文中提出了一種利用PC機(jī)和單片機(jī)的通訊來實(shí)現(xiàn)顯示屏
    發(fā)表于 11-20 16:56 ?13次下載
    如何使用單片機(jī)實(shí)現(xiàn)LED<b class='flag-5'>顯示屏</b><b class='flag-5'>動(dòng)態(tài)顯示</b>和遠(yuǎn)程監(jiān)控詳細(xì)方法說明

    Micro LED AR顯示屏是全球最小最密集的動(dòng)態(tài)顯示屏

    2019年6月,美國初創(chuàng)公司Mojo Vision推出具備14000 PPI的Micro LED顯示屏,并聲稱是全球最小最密集的動(dòng)態(tài)顯示屏。
    發(fā)表于 02-04 10:24 ?1774次閱讀

    基于Proteus與匯編語言的漢字點(diǎn)陣動(dòng)態(tài)顯示

    電子發(fā)燒友網(wǎng)站提供《基于Proteus與匯編語言的漢字點(diǎn)陣動(dòng)態(tài)顯示.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 11:31 ?1次下載
    基于Proteus與匯編語言的漢字<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>動(dòng)態(tài)顯示</b>