這篇文章記錄的是我學習動态數碼管獲得的知識和學習筆記。我手上的單片機是普中51-單核-A2開發闆。
數碼管動态掃描
一、硬件方面動态數碼管模塊是由多個發光二極管排列成 8. 形狀。發光二極管的陽極接高電平陰極接低電平才會點亮。當需要顯示特定的形狀,隻需設置特定的段發光即可。
從商家給的原理圖可以看出這是個共陽極的數碼管,8節的同一段陽極都是接在一起的通過74hc245芯片由P00至P07管腳控制。每一節的8段發光二極管陰極都連在一起通過74hc138譯碼器由P22至P24管腳控制。
138譯碼器輸出端與數碼管陰極連接,輸入端由P22,P23,P24控制
數碼管陽極由P0管腳控制
74HC138譯碼器的工作原理A,B,C是輸入端與P22,P23,P24相連。
Y0至Y7是輸出管腳與數碼管陰極連接。
其中的輸入輸出關系由下圖可以看出。其大緻描述就是A,B,C代表1,2,4,其中高電平的相加結果的值是多少,對應的輸出端就輸出低電平,其餘的輸出端輸出高電平。
138譯碼器的真值表
74HC245芯片我在百度上了解到,DIR腳的作用是輸入輸出端口轉換,高電平時信号由A端輸入,B端輸出。OE腳控制A與B端的信号能否導通。個人感覺這個芯片好像沒有作用,兩邊就直接連上了。最終P00至P07還是直接控制數碼管段的陽極高低電平。詳細信息建議百度。
如何讓數碼管顯示指定的值比如說讓最左邊的數碼管 a段發光,那麼a的陰極就應該接低電平,那麼就應該設置LED7為低電平,由74HC138譯碼器輸入輸入關系P22,P23,P24就都應該設置為高電平。a段的陽極就應接高電平,對應的P00就應該設置為高電平。
由此推出數碼管表示0-9 ,P0對應值為{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
二、軟件層面為了能讓數碼管顯示指定的值,就需要控制其陽極和陰極。
操控數碼管陰極函數
知道了硬件原理就比較容易寫代碼了,寫這個函數是為了方便的控制數碼管陰極電平。
操控數碼管陽極由于排出了數碼管顯示0-9對應的值,所以隻需将要顯示的數字作為下标對應的值傳給P0即可設置陽極。
到這裡就能夠控制數碼管的顯示了。
小編學了硬件之後覺得這種數碼管不能靜态的顯示不同的值,對麼?
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!