久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Arduino學習10-Arduino數(shù)碼管骰子實驗

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:114115 發(fā)表于 2016-4-14 04:07 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
看到特高科的數(shù)碼管骰子的太極品了,忍不住改一下。這個應(yīng)該是非常簡單的代碼了,歡迎挑戰(zhàn)更短寫法(一行多語句的不算)。

電路連接

由于數(shù)碼管品種多樣,還有共陰共陽的,下面我們使用一個數(shù)碼管段碼生成器(在文章結(jié)尾)去解決不同數(shù)碼管的問題:

本例作者利用手頭現(xiàn)有的一位不知品牌的共陽數(shù)碼管:型號D5611 A/B,在Eagle找了一個類似的型號SA56-11,引腳功能一樣可以直接代換。所以下面電路圖使用SA56-11做引腳說明。



注意:

1. 將數(shù)碼管的a~g段,分別接到Arduino的D0~D6上面。如果你手上的數(shù)碼管未知的話,可以通過通電測量它哪個引腳對應(yīng)哪個字段,然后找出a~g即可。
2. 分清共陰還是共陽。共陰的話,接220Ω電阻到電源負極;共陽的話,接220Ω電阻到電源+5v。3. 220Ω電阻視數(shù)碼管實際工作亮度與手頭現(xiàn)有原件而定,不一定需要準確。
4. 按下按鈕即停。




源代碼

由于我是按照段碼生成器默認接法接的,所以不用修改段碼生成器了,直接在段碼生成器選擇共陽極,再按“自動”生成數(shù)組就搞定。


下面是源代碼,由于偷懶不用寫循環(huán),使用了部分AVR語句。

PORTD這個是AVR的端口輸出控制語句,8位對應(yīng)D7~D0,PORTD=00001001就是D3和D0是高電平。

PORTD = a;就是找出相應(yīng)的段碼輸出到D7~D0。

DDRD這個是AVR語句中控制引腳作為輸出/輸入的語句。DDRD = 0xFF;就是D0~D7全部作為輸出腳了。

  1. /*
  2. Arduino單數(shù)碼管骰子
  3. Ansifa 2011-12-28
  4. */

  5. //定義段碼表,表中十個元素由LED段碼生成器生成,選擇了共陽極。
  6. int a[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
  7. void setup()
  8. {
  9.     DDRD = 0xFF;          //AVR定義PortD的低七位全部用作輸出使用。即0xFF=B11111111對應(yīng)D7~D0
  10.     pinMode(12, INPUT);    //D12用來做骰子暫停的開關(guān)
  11. }
  12. void loop()
  13. {
  14.     for(int i = 0; i < 10; i++)
  15.     {
  16.         //將段碼輸出PortD的低7位,即Arduino的引腳D0~D6,這樣需要取出PORTD最高位,即D7的狀態(tài),與段碼相加,之后再輸出。
  17.         PORTD = a[i];
  18.         delay(50);        //延時50ms
  19.         while(digitalRead(12)) {}        //如果D12引腳高電平,則在此死循環(huán),暫停LED跑動
  20.     }
  21. }
復(fù)制代碼

實物演示視頻

夜間攝像頭拍攝的,質(zhì)量可能比較差。僅供感性認識參考
還有,筆者錄視頻的時候手頭沒有220Ω電阻,隨便抓了一個LED做電阻降壓,效果一樣,湊合看吧。



下面是段碼生成器以及本例源代碼: LED數(shù)碼管段碼生成器以及本例源代碼.rar (317.26 KB, 下載次數(shù): 14)

  1. /*
  2. Arduino單數(shù)碼管骰子
  3. */

  4. int a[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
  5. void setup()
  6. {
  7.     DDRD = 0xFF;
  8.     pinMode(12, INPUT);
  9. }
  10. void loop()
  11. {
  12.     for(int i = 0; i < 10; i++)
  13.     {
  14.     PORTD = a[i];
  15.     delay(50);
  16.         while(digitalRead(12)) {}
  17.     }
  18. }
復(fù)制代碼

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 操夜夜| 日韩中文字幕免费在线 | 亚洲国产欧美精品 | 国产精品久久久久久久久久久免费看 | 欧美日韩在线播放 | 久久蜜桃av一区二区天堂 | 国产精品一区二区三区在线播放 | 日韩成人免费中文字幕 | 亚洲一区二区精品视频在线观看 | 欧美国产一区二区三区 | 奇色影视| 黄色在线网站 | 国产高清不卡 | 韩国毛片一区二区三区 | 国产一级网站 | 欧美一区二区三区精品 | 伊人爽 | 日本三级电影在线观看视频 | 午夜精品91| 欧美成人一区二区三区 | 国产四区 | 国产精品久久九九 | 国产成人精品一区二区三区 | 老司机免费视频 | 欧洲精品视频一区 | 涩涩视频在线观看 | 久久综合一区 | 国产黄色精品 | 日韩另类视频 | 欧美成人第一页 | 亚洲精品一区二三区不卡 | 国产午夜精品久久久 | 在线成人免费观看 | 精品伊人 | 中文字幕第一页在线 | 日韩视频中文字幕 | 亚洲午夜精品在线观看 | 国产成人午夜精品影院游乐网 | 精品国产免费人成在线观看 | 天天噜天天干 | 亚洲性人人天天夜夜摸 |