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