最近搞一次電子制作,設計PCB、打樣、焊接完成后才發現,數碼管沒有加入限流電阻!想著要不啟用數碼管,又不太合適,想著重新打樣又覺得太浪費。
000.jpg (66.9 KB, 下載次數: 0)
下載附件
2026-2-5 11:06 上傳
單片機用的是CH552,CH552內部已經集成上拉電阻,上拉電阻的阻值大約是4K(具體可以自行搜索有關文章)。數碼管采用的是共陰的,每個段碼引腳都接入單片機的P1端口。何不利用這單片機內置的上拉電阻給數碼管的段碼供電,位碼引腳拉低就能點亮數碼管?
于是開始寫代碼:
- P1_MOD_OC = 0xff;
- P1_DIR_PU = 0xff;
- Port3Cfg(1,3); //DIG1
- Port3Cfg(1,4); //DIG2
- Port3Cfg(1,5); //DIG3
復制代碼
結果真的可以點亮數碼管,于是寫代碼讓其三個數碼管都一齊顯示。顯示內容為一個三位數。
測試結果,這亮度基本可以,當然,就是暗了些。如果P1口也設置為推挽輸出的話,那亮度真的極亮,長時間通電,應該會燒壞數碼管或單片機端口的!
經過一番折騰發現了一個問題,就是第1個數碼管顯示1或一短杠的時候,亮度極低,而顯示其他數字時亮度與第二、第三個數碼管一致!具體看圖
000.jpg (79.08 KB, 下載次數: 0)
下載附件
2026-2-5 11:08 上傳
001.jpg (62.96 KB, 下載次數: 0)
下載附件
2026-2-5 11:08 上傳
002.jpg (56.12 KB, 下載次數: 0)
下載附件
2026-2-5 11:08 上傳
這是什么原因呢?有哪位大佬知道的?
2026.2.5
|