|
數(shù)碼管的顯示程序要根據(jù)硬件設(shè)施來決定,舉個(gè)比較簡單例子就是位碼用38譯碼器輸送,段碼直接通過數(shù)據(jù)端口和245來輸送。
程序的寫法都是先寫段碼,再輸送位碼,延時(shí)一段時(shí)間,再進(jìn)行段碼清零。這是這套程序的規(guī)則,大家可以想一下為什么要在動(dòng)態(tài)數(shù)碼管顯示程序上用一個(gè)小延時(shí)以及清零操作。
清零操作就不說了它是為了進(jìn)行消隱作用(也就是防止由于這一次程序先執(zhí)行的是段碼的輸送,而此時(shí)如果未進(jìn)行消隱的話,那么此時(shí)數(shù)碼管上一次的位碼會(huì)顯示這次的段碼,這樣出現(xiàn)的狀況大家可以在單片機(jī)上看一看具體現(xiàn)象)
具體說一下延時(shí)會(huì)導(dǎo)致的問題,延時(shí)問題會(huì)在你使用定時(shí)器中斷的時(shí)候出現(xiàn)(如果你在定時(shí)器中斷程序中使用數(shù)碼管顯示函數(shù)),這個(gè)問題軟件查不出來,所以要自己注意,解決方法就不要在定時(shí)器中斷里用數(shù)碼管顯示函數(shù),在主函數(shù)中用查詢法代替,具體問題在你做用數(shù)碼管做超聲波測距儀程序時(shí),這個(gè)問題顯示的很明顯(不要問我為什么知道都是淚)。但是如果你非要在中斷里用的話,那么就必須把單次顯示延時(shí)時(shí)間縮短到100us以下,甚至可以不用(但是亮度會(huì)降低)。具體現(xiàn)象我建議你做一遍用數(shù)碼管顯示超聲波測距儀程序。解決方法就是用查詢法做這個(gè)程序,以及可以用中斷法外加LCD顯示的方法做(不用數(shù)碼管顯示)。
總而言之?dāng)?shù)碼管顯示有利有弊,你在用LCD顯示的時(shí)候就能感受到為什么(就是數(shù)據(jù)顯示的連續(xù)性)。建議大家做一下看現(xiàn)象。有錯(cuò)誤請指出,謝謝。下一篇我給大家寫一個(gè)正計(jì)時(shí)和倒計(jì)時(shí)的程序用按鍵,定時(shí)器以及數(shù)碼管。
|
評(píng)分
-
查看全部評(píng)分
|