|
發(fā)布時間: 2024-12-24 17:56
正文摘要:三位數碼管的顯示問題,因為之前的掃描方式亮度不均勻,換了下面這種掃描方式,但更換后發(fā)現數值顯示有問題 如我輸入值為 1.1 數碼管三位 應為 1 . 1 0& ... |
左語杰 發(fā)表于 2024-12-26 17:37 我覺得不如使用數碼管芯片比如TM1650這樣的,電路更簡潔,還能調整亮度,電阻也省了。還支持按鍵,省很多IO |
WL0123 發(fā)表于 2024-12-26 11:32 好的 ,感謝 我重打一個板試一試 老師目前還沒有要求完全跟原版一樣 ,我試試您這個方案,這個板我也不放,繼續(xù)試一試 ,感謝 |
左語杰 發(fā)表于 2024-12-26 09:50 IO口不夠用可以通過合理規(guī)劃IO口復用。比如驅動數碼管的8個段,3個位只有第一位有小數點,另兩位的小數點空閑,可以分時復用驅動兩個LED。4個按鍵可以與兩路ADC檢測分時復用(只要被檢模擬量動態(tài)范圍大于0小于VCC,按鍵分別接地和VCC即可準確識別),也可以另開一路ADC同時檢測4個按鍵。這樣可以輕松節(jié)省4-5個IO口,既不影響數碼管和ADC功能,編程也不復雜。 |
左語杰 發(fā)表于 2024-12-26 09:54 不是CASE0的問題。是每次更新段之前都先熄滅,更新完了再打開。 |
lkc8210 發(fā)表于 2024-12-25 23:11 抱歉 我上一句理解錯了 是段選點亮了 到下一位的時候沒有熄滅 |
lkc8210 發(fā)表于 2024-12-25 23:11 是這個嗎 有熄滅位選 啊 case 0: DIGIT1 = 0; DIGIT2 = 1; DIGIT3 = 1; break; case 1: DIGIT1 = 1; DIGIT2 = 0; DIGIT3 = 1; break; case 2: DIGIT1 = 1; DIGIT2 = 1; DIGIT3 = 0; break; 只有選中的位選是亮的 |
WL0123 發(fā)表于 2024-12-25 21:29 他給的io口確實是不夠用的 4個獨立按鍵 11個數碼管 2個2ADC檢測 1個PCA 的pwm 還有一個io口用于某個元器件的使能腳 |
| 你的代碼段位只有點亮,沒有熄滅啊 |
|
單就這個硬件設計就決定了數碼管筆段亮度不容易搞均勻。此電路如不是高手炫技就是初學者的習作。單片機引腳使用混亂無序,還搞些復用,18個I/O口不夠用? |
|
居然可以這樣搞,限流接在COM上面,目前的數碼管這樣其實亮度均勻性也還好,即便要分時均衡亮度,在每次更新段數據前要關閉所有段再打開應該亮的吧。那個板子上大面積的空閑,不至于省這5顆電阻吧。板子看起來好像沒有什么大的耗電,還用一顆類似2575這么大的零件。我實際用一顆限流電阻驅動8個LED燈,同時點亮居然亮度都一樣的,基本上看不到亮度不一樣的。 |
左語杰 發(fā)表于 2024-12-25 16:00 事實上只要時序弄對了,50US和2MS的關系不大,顯示效果也幾乎一樣的 |
左語杰 發(fā)表于 2024-12-25 16:00 你這樣才亮度不均勻吧,在更新段碼前要先消隱的。 |
左語杰 發(fā)表于 2024-12-25 09:33 板子不是你自己設計的,原理圖也還原不了,那你還寫什么程序?所有軟件都是基于硬件條件編寫的。stc8g1k17-20做個三位數碼管顯示的電壓表是輕而易舉的事。你那數碼管動態(tài)顯示代碼寫得實在不敢恭維。數碼管、按鍵、還有一個燈同時復用,沒有原理圖誰能搞得清你怎么接線的。 |
| 我上午發(fā)了原理圖 不知道 為什么 沒發(fā)出來 C:\Users\JS16\Desktop |
xiaobendan001 發(fā)表于 2024-12-25 12:51 嗯吶, 注釋上是兩毫秒是之前的沒改 實際是 50us 進一次中斷 ,就想設計每一段的掃描時間相同 保證 亮度一樣 , 最早的一版是 一次更新八個段 ,即一個段碼 ,但是亮度顯示不均勻 |
左語杰 發(fā)表于 2024-12-25 14:16 還是先把原理圖弄出來吧 |
| 不是自己設計的板子 ,布置的% 這個P12 同時與 按鍵 數碼管 燈三方連接復用 按鍵與數碼管 用定時器分時復用解決了 但燈實在解決不來哦 |
|
實在看不太懂,你這意思是每2MS調用一次顯示,每次顯示F++,然后只更新8段的一段,8個段更新完成后再更新一個位。為啥要這樣呢?八個段一次更新完了直接顯示不好嗎?為何要搞這么復雜?你是覺得2ms更新太快了?芯片大概是SSOP20的,應該有一個完整的口給你用的啊。 況且在F==9的時候更新了位,此時直接F = 0;不行嗎?還要再等下一次才能F = 0; |
xiaobendan001 發(fā)表于 2024-12-25 07:48 ,剛開始做這個好多地方不會,您說的這個 我后面都會注意 去改的,剛開始打 的是綠色的,測試的時候不小心燒了 ,后面打板的時候看見有白色的阻焊,就像試一下,打出來發(fā)現,好看是挺好看的,但是透明度不行,線路不如綠色的清楚 |
WL0123 發(fā)表于 2024-12-24 21:13 板子不是自己設計的 是給的測試 他的板子 有一個IO口 P12 跟數碼管 按鍵 還有一個燈同時復用了,有點沒想明白怎么做 |
power-man 發(fā)表于 2024-12-24 21:09 設置了 推挽了 |
|
一個8位機,float,double都用上了。還用了乘 mask<<這里直角用0x01<<不行嗎?弄個變量會更快嗎?后面的?運算有意義嗎? SEG是段碼,設計時不在同一組IO里面嗎?這么費勁。 白色阻焊不好,透明度不行。還是綠色好看。 |
| 把原理圖發(fā)上來 |
| 連接數碼管的IO口設置為強推模式了么 |
| 連接數碼管的IO口設置為強推模式了嗎 |