亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 一個51單片機如何控制16個LED和16個數碼管? [打印本頁]

作者: 挖掘機額    時間: 2025-1-18 13:56
標題: 一個51單片機如何控制16個LED和16個數碼管?
謝謝大家

作者: Kxuan163    時間: 2025-1-18 15:09
用8255,擴展I/O口,參考圖中電路:


作者: llzfry    時間: 2025-1-18 15:36
首先,STC/AT89C51正好4*8=32個I/O,如果不加擴展芯片可以16個I/O,只剩下16個I/O要控制16個數碼管,則需要用擴展芯片,比如譯碼器或串并轉換芯片。如果數碼管的位選用3/8譯碼器74LS138控制,則需要兩片,6個I/O進行兩組3-8譯碼分別控制16個LED的使能,外加兩個I/O控制兩片74138的使能,這樣16個數碼管的位選就需要8個I/O,最后剩下8個I/O控制數碼管的8個段碼。當然,擴展I/O的方法還有很多,此處不展開說。
作者: xiaobendan001    時間: 2025-1-18 15:46
TM1640驅動數碼管,如果不用小數點,把小數點連接到發光管上面就可以了。否則數碼管另外弄,或者兩個1638,發光管接多出的段碼上。
作者: wufa1986    時間: 2025-1-18 16:05
用掃描控制,這是學習單片機基礎課程,一般是做時鐘之類的會學到
作者: zhuls    時間: 2025-1-18 16:18
老51就要考慮擴展IO,或復用。新的增強型51,比如某C的51,64腳的最多有60個IO,夠你折騰的了。
按你的需求,掃描模式,16+8+2=26,想必32腳的MCU就夠你用了。也不必擴展IO口。
作者: szb314    時間: 2025-1-18 17:02
這個不需要輸入,只是輸出,用595可能最便宜,甚至不妨再來一片單片機,畢竟可能只要2塊錢 多出60+IO
作者: WL0123    時間: 2025-1-18 17:17
所選芯片IO口足夠沒有任何問題,IO口不夠16個數碼管用TM1640,只要2個IO口,16個LED查理復用只要5個IO口(最多驅動20個LED)。就是編程麻煩點。
作者: 3051165301    時間: 2025-1-18 22:30
用sm16306,直接全部驅動led,數碼管都省掉了
作者: xianfajushi    時間: 2025-1-19 08:24
使用鎖存器芯片或595
作者: 明日之星8    時間: 2025-1-19 09:55
這么多的二極管和數碼管,因為電流太大,不可以IO口直接驅動,
可以用專用驅動芯片,也可以用74HC164或595驅動。
一片164或595有8個輸出口,硬件上可以分成4+4,軟件上可以做到
4x4=16的效果,就是說一片就可對付16個LED燈。16個數碼管總計
有16個位碼線,8個段碼(每個都有的abcdefgh),理論上三片就可以
驅動16個數碼管,考慮驅動速度可能沒有那么快(以消除人眼可見的
閃爍),兩片就能很好的驅動8個數碼管。
五片164可以串接起來,單片機只要兩個(595要三個)IO口就可以完美
控制16個LED和16個數碼管了。
作者: lkc8210    時間: 2025-1-19 22:29


作者: jjy1039    時間: 2025-1-20 09:19
用tm1640芯片試試,簡單易用,直接控制的數碼管太多,處理程序時候會亮度低或者閃爍。
作者: man1234567    時間: 2025-1-20 11:41
通常的I/O口不夠,擴展就可以,用專用驅動芯片也是一種擴展。
作者: npn    時間: 2025-1-21 22:57
16位數碼管(帶小數點)1位有8個段碼LED,再加上16個LED=16*8+16=144個LED 144的平方根=12,把它看成12*12的點陣,行列各12個總共24個IO口就可以驅動。
作者: 2941    時間: 2025-1-31 14:57
可以通過連接一個三位的編碼器來控制
作者: zmc419    時間: 2025-2-1 14:14
用595,164等器件擴展端口。盡量不要再用8255等太老的器件。
作者: 多木    時間: 2025-2-6 19:27
1. 確定單片機型號和資源:
   檢查51單片機的具體型號,確認其I/O端口數量及是否支持內部驅動器。
   假設單片機具有24個I/O端口,并且每個I/O可以控制一個外設。

2. 配置外設接線:
   將16個LED連接到16個不同的I/O輸出端口,確保每個端口能夠驅動至少5mA的電流。
   將16個數碼管的相應輸入線(如G、D、C)連接到剩余的I/O端口上。

3. 編寫軟件代碼:
   使用Keil C編譯器創建項目,設置定時器中斷,每個外設對應一個中斷。
   為每個外設定義中斷服務例程,控制其亮度和閃爍時間。

4. 實現定時器驅動:
   在主循環中初始化定時器,并注冊中斷處理程序。
   設置每個外設的閃爍周期和間隔,使用不同的定時器值避免沖突。

5. 測試系統:
   通過控制臺輸出查看LED和數碼管是否正常工作。
   檢查各個外設的亮度和閃爍頻率,確保沒有異常或干擾。

6. 優化代碼:
   如有必要,將中斷服務例程簡化,避免冗余操作。
   確保每個外設能夠獨立工作,并且系統運行流暢。

7. 部署并驗證:
   將電路組裝完畢,連接電源并測試整個系統。
   檢查是否有錯誤信息或異常情況出現,及時修正問題。




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1