![]() |
發布時間: 2017-2-22 23:20
正文摘要:請教大家一個問題。 用 51控制21個LED燈 要求I/O口不超過16個。 我用了74HC595控制了16個 剩下的5個用I/O口控制的 這21個燈用4個按鍵控制 一個按鍵 ... |
新手正在學習 |
新手正在學習 |
我是初學者 |
我是初學者 |
樓主想要問的是位置怎么確定吧。 我建議程序做2層設計,首先把21個燈用21位的變量來表示,按鍵只對這個變量進行處理; 其次做一個驅動函數,將變量的內容驅動到具體的輸出管腳上去,硬件無論怎么變,只要改這個驅動函數就好了。 你想要確定當前led跑到的位置,在變量上找,不要考慮具體怎么輸出,IO怎么編排。 |
三個565并行控制 |
74H164 串轉幷 |
本帖最后由 zl2168 于 2017-2-23 17:33 編輯 74HC164串入并出控制16循環燈 先Proteus仿真一下,確認有效。
![]() ![]() 以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版 書中電路和程序設計有詳細說明,程序語句條條有注解。 |
74HC595串轉并足夠用了![]() |
本帖最后由 zl2168 于 2017-2-23 17:27 編輯 CC4094串入并出控制16循環燈 先Proteus仿真一下,確認有效。
![]() ![]() 以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版 書中電路和程序設計有詳細說明,程序語句條條有注解 |
本帖最后由 zl2168 于 2017-2-23 17:25 編輯 74HC595串入并出控制16循環燈 先Proteus仿真一下,確認有效。 ![]() ![]() 以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版 書中電路和程序設計有詳細說明,程序語句條條有注解。 |
硬件設計無需用74HC595和74HC04. 21個燈+4個鍵分兩路掃描顯示、采樣即可,加兩個三極控制共公端,13+2個IO口搞定。 |
三個595就能全部控制了 送串行信號 0000000100000000 中間亮 ![]() 00000000 00000010 00000000 就是中間亮 然后左移 或 右移都可以 右移到盡頭在移一次就全零 |