![]() |
發布時間: 2022-12-26 16:22
正文摘要:STM32單片機和2個HC595配合,只需要用4個IO口就可以驅動8位數碼管顯示,和8個按鍵檢測。電路十分精僻。 上圖是一個驅動六位數碼管,4個按鍵檢測的電路,數碼管驅動程序容易,但是這個按鍵的檢測程序沒寫過有點 ... |
變頻器的顯示面板也是用類似的電路,后面只用一個網線來連接,省線,方便 |
STM32單片機沒用到, 只是會51的匯編. 2個HC595配合,只需要用4個IO口就可以驅動8位數碼管顯示,和8個按鍵檢測。 HC595-1驅動數碼管段碼 HC595-2驅動數碼管位碼 位碼的輸出形式是COM1----COM2----COM3----COM4----COM5----COM6----COM7----COM1---- 選通 只要8個按鍵的任一個或多個按鍵按下,INT0就會產生中斷, 檢測到按鍵按下 按鍵要具備長按,短按功能, 位碼的選通時間極短. 檢測到連續多個中斷信號就是短按, '''''比如,COM3連接的按鍵連續檢測到20次為短按功能, 檢測到200次為長按功能, 供參考! |
兩片 74HC595動態驅動 8位數碼管(共陰,共陽)。加上 8位按鍵 1.png (5.74 KB, 下載次數: 79)
51單片機做過這樣的案例,在數碼管消隱期間,CPU依次發出四個按鍵的識別碼0xfe,0xfd,0xfb,0xf7,若此時CPU的KEY端口接收到低電平,此表示有按鍵被按下,并通過程序識別后作相應的操作。 |
四線數碼管驅動IC非常多,SM1628,SM1623等等,驅動的段位多,帶鍵掃存儲,DVD面板曾經用到很多 |
你要是說以學習為目的,那倒沒什么好說的 但你要說精僻,實在是看不出來精僻在哪里了 這就是一個與時代脫節的電路,放著近50個IO不用,非得加兩個數字芯片, |
串行輸出的原理去HC595的資料。 把位選信號放在前,段顯信號放后邊,輸出就可以顯示了。 在輸出位選信號時,從電路上可以看出,低電平有效。當顯示第一位數字時,同時檢測KEY信號是否為低,為低時表示S1按下,否則S1沒有按下;當顯示第二位數字時,同時檢測KEY信號是否為低,為低時表示S2按下,否則S21沒有按下;當顯示第三位數字時,同時檢測KEY信號是否為低,為低時表示S3按下,否則S3沒有按下;當顯示第四位數字時,同時檢測KEY信號是否為低,為低時表示S4按下,否則S4沒有按下。 大概就這樣。 |
使595輸出O1---O3,逐次輸出0,檢測KEY端口為0時,哪個按鍵按下,就可以得到鍵值,按鍵長短功能呢參考按鍵狀態機 |
將數碼管的公共腳(共陰或共陽腳)看作接地或接電源即可,每個數碼管都有一次單獨高電平或低電平的時間 |
單看原理圖,應該是6個數碼管的公共腳(共陰或共陽腳的腳)都有和其它5個數碼管不同的的高電平或低電平的時間,利用這個掃描的時間檢測KEY的極短時間的電平就可以,至于那個按鍵就看程序跑到那個數碼管的公共腳 |
人中狼 發表于 2022-12-26 22:04 大師不要小瞧這種電路,雖然單看這一個電路是沒什么,但是在一個工業級的伺服控制器中它就是化腐朽為神奇,這只是這個系統中的一部分。如果大師有心助人,敬請點拔,點拔。小弟不勝感謝! |
已經用到了32的成本,是否還需要使用這種電路 |