欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 一個51單片機(jī)如何控制16個LED和16個數(shù)碼管? [打印本頁]

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

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


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


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

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

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

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

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

6. 優(yōu)化代碼:
   如有必要,將中斷服務(wù)例程簡化,避免冗余操作。
   確保每個外設(shè)能夠獨(dú)立工作,并且系統(tǒng)運(yùn)行流暢。

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




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