鄒雪妍


摘要:單片機常用的顯示器為數碼管LED、液晶LCD等等,數碼管靜態顯示具有位碼始終有效,占用CPU時間短,亮度高等特點。本文對MC9S08FL16單片機8段數碼管靜態顯示的整個過程進行分析。
關鍵詞:數碼管;靜態顯示;MC9S08FL16單片機
利用protel99se繪制單片機數碼管靜態顯示的原理圖,為使線路繪制清晰,將單片機的PTB1、PTB2、PTD4、PTB3接數碼管的位選端口;將單片機的PTA0、PTD5、PTA1、PTA2、PTA3、PTA6、PTA7、PTB0接數碼管的段選端口。通過寫入器將程序寫入便可以實現單片機數碼管的靜態顯示。
1數碼管工作原理
若每位數碼管僅需顯示“0”~“9”這10個數字,則只需7段LED,若同時若需要顯示小數點,則需要8段LED。8段數碼管由8個發光二極管組成。MCU通過IO腳來控制LED某段的“亮”或“滅”來達到顯示某個數字的目的。如果采用共陰極數碼管,那么數碼管的公共端需要接地,數碼管某位要求亮時對應端口輸出低電平,其余不亮位選對應端口輸出高電平;如果采用共陽極數碼管,那么數碼管公共端需連接電源正極,共陽極數碼管與共陰極數碼管輸出電平狀態相反。圖1中采用共陰極數碼管,MC9S08FL16單片機位選端連接在單片機的PTB1、PTB2、PTD4、PTB3端口,段選端接在了單片機的PTA0、PTD5、PTA1、PTA2、PTA3、PTA6、PTA7、PTB0。如果使4連排數碼管的第一位顯示數字“2”,則需要使圖2中對應引腳上的a、b、g、e、d五段發光二極管發光,對應端口應該輸出0x5B(對應二進制數01011011),c、f、h段發光二極管不發光。此時與位選端相連的端口對應引腳輸出低電平。若采用共陽極數碼管則此時與位選端相連的端口對應引腳輸出高電平,若同樣在對應位置顯示數字“2”,則對應端口應該輸出0xA4(對應二進制數10100100)。
2數碼管靜態顯示原理及優勢
數碼管靜態顯示時,若采用共陰極則數碼管公共端接地,若采用共陽極則數碼管接電源,各段選線分別與IO口接線相連。要顯示字符,直接在IO線發送相應的字段碼。數碼管工作時的段選必須接一個8位數據線來保持顯示的字形碼。當輸入一次字形碼后,目標字形碼一直保持不變,直到需要輸入新字形碼為止。數碼管靜態顯示無閃爍,亮度高,軟件控制比較容易,占用的CPU時間少且顯示數字便于檢測和控制。利用數碼管靜態顯示可單獨顯示位尋址的特性,僅需單獨更改需要改變顯示數據的相應位顯示進行操作,而其它的無關位不需進行顯示操作,這樣便可為系統節省大量的軟件資源。
3單片機實驗程序編寫
4連排共陰極數碼管采用靜態顯示方式與單片機相連接。位選端為PTB1、PTB2、PTD4、PTB3。段選端為PTA0、PTD5、PTA1、PTA2、PTA3、PTA6、PTA7、PTB0,要求編寫能夠使4連排數碼管分別顯示“2”、“0”、“1”、“9”的程序。數字“2”的顯示在數碼管工作原理中已敘述在此不再贅述,第二位顯示“0”則需要使對應引腳上的a、b、c、d、e、f六段發光二極管發光,對應端口應該輸出0x3F(對應二進制數00111111);第三位顯示“1”則需要使對應引腳上的b、c兩段發光二極管發光,對應端口應該輸出0x06(對應二進制數00000110);第四位顯示“9”則需要使對應引腳上的a、b、c、d、f、g六段發光二極管發光,對應端口應該輸出0x6F(對應二進制數01101111)。將PTB1、PTB2、PTD4、PTB3四個位選端開通,單片機對應端口輸出低電平,則4連排數碼管就可以顯示相應數碼了。利用CodWarriorV6.2ForS08編寫程序,部分程序如圖3所示。
4結語
本文通過對MC9S08FL16單片機8段數碼管靜態顯示的整個過程進行分析,經調試發現,靜態顯示數字保持不變,與數碼管動態顯示相比,靜態顯示明顯地改善了LED數碼管的顯示亮度,可以應用于許多要求較高顯示亮度的場合。此外,數碼管靜態顯示占用CPU時間很短并且便于檢測和控制。
參考文獻:
[1]吳文兵,李炳賢.51單片機數碼管動態顯示分析[J].數字技術與應用,2016(08):5-6.
[2]張學成.MCS51單片機多位數碼高亮靜態顯示技術的實現[J].嘉應學院學報,2009,27(03):26-29.
[3]王麗娟.用Intel8279實現LED數碼管的靜態顯示[J].自動化儀表,1995(11):34-36.