吳文兵 李炳賢
摘要:單片機的數(shù)碼管顯示一般都用動態(tài)顯示方式。單片機常用的顯示器為發(fā)光二極管顯示器、液晶顯示器等,其中發(fā)光二極管顯示器的顯示結構又分為兩種:段顯示和點陣顯示,段顯示最常見的是7段顯示結構。本文從數(shù)碼管的動態(tài)顯示過程出發(fā),研究分析了單片機利用7段顯示結構動態(tài)顯示的整個過程。
關鍵詞:數(shù)碼管 動態(tài)顯示 單片機
中圖分類號:TP368.11 文獻標識碼:A 文章編號:1007-9416(2016)08-0005-02
在單片機的動態(tài)顯示過程中,我們將各個數(shù)碼管的位選端(每個數(shù)碼管是由八個發(fā)光二極管組成的,而發(fā)光二極管相連的那一端組成的公共端即為位選端)如圖1所示分別接在單片機的P2口,在每個瞬時,只允許選通一個數(shù)碼管,每個數(shù)碼管段選端(八個發(fā)光二極管不相連的那一端)接在單片機的P0口的對應引腳。通過單片機的P0和P2兩個輸出口就可實現(xiàn)單片機的動態(tài)顯示了。
1 數(shù)碼管的工作原理
數(shù)碼管動態(tài)顯示原理圖1所示。
圖2a所示,數(shù)碼管可以顯示0、1、2…F這16個字符,數(shù)碼管如果是共陰極連接方式(數(shù)碼管的發(fā)光二極管的位選端為陰極)數(shù)碼管可以顯示0、1、2…F這16個字符,數(shù)碼管如果是共陰極連接方式(數(shù)碼管的發(fā)光二極管的位選端為陰極)如圖2b所示,由于51單片機的位選端接在了單片機的P2口,段選端接在了單片機的P0口。要想使與P2.0口相連的數(shù)碼管顯示數(shù)字1,由于數(shù)碼管為共陰極連接方式,故與段選端相連的P0口應在對應的引腳上使b、c兩段發(fā)光二極管發(fā)光,其他段的發(fā)光二極管不發(fā)光,故P0口應輸出0x06(即二進制數(shù)00000110)。然后應使位選端相連的P2口對應引腳輸出低電平0,反之,數(shù)碼管如果是共陽極連接方式如圖2c所示,顯示的字碼的方式應和共陰極連接方式相反,如要在對應的數(shù)碼管上顯示數(shù)字1,P0口應輸出0xf9(即二進制數(shù)11111001)。而想讓哪個數(shù)碼管能顯示字碼,就必須給相連的單片機的P2口的對應引腳輸出高電平1。
2 數(shù)碼管的動態(tài)顯示原理
在任意瞬時,單片機只選通一個數(shù)碼管,即位選通,而各個數(shù)碼管的段選端是可以同時向各個數(shù)碼管送數(shù)的,但是只有位選通的數(shù)碼管能顯示字碼。顯示字碼的時間也非常短暫,即延時一定時間后,位選通的數(shù)碼管關閉,選通下一個數(shù)碼管的位選端,使其能顯示字碼,同理其他數(shù)碼管也是按著此原理,依次可顯示字碼。由于人的視覺有暫留效應(暫留效應即光信號消失后,人眼睛對光還會保留大約0.1s-0.4s的時間)和發(fā)光管的余輝效應(當電子束停止轟擊熒光屏時,光點仍能保持一段時間),再加上延時時間足夠短,使人感覺好像各位數(shù)碼管同時都在顯示。還有一點需要注意用于動態(tài)顯示的限流電阻阻值應略小于靜態(tài)顯示的限流電阻阻值,這是由于動態(tài)顯示的亮度比靜態(tài)顯示要小一些。
3 實驗程序
6個共陽極數(shù)碼管采取動態(tài)顯示方式與單片機相連接。P0口為段選端,P2.0、P2.1、P2.2、P2.3、P2.4、P2.5分別與三極管基極相連作為位選端。要求編寫控制程序,實現(xiàn)6個數(shù)碼管能夠分別顯示“2”、“3”、 “8”、“d”、 “f”、“5”。
分析:要使與P2.0口相連的數(shù)碼管顯示數(shù)字“2”, 由于數(shù)碼管為共陽極連接,需要使a、b、d、e、g幾段發(fā)光二極管發(fā)光,其它二極管不發(fā)光,也就是與a、b、c、d、e、f、g、dp這8段發(fā)光二極管相連的單片機的P0口輸出0xa4(即二進制數(shù)10100100)。然后要將其P2.0口的位選端開通,單片機的P2.0口應輸出一個高電平,則第一個數(shù)碼管可顯示數(shù)碼了。程序的編寫是在Keil C51環(huán)境下進行的如圖3所示,程序編寫完后,先采用Proteus仿真軟件進行仿真,它內含了成千上萬個仿真模型庫。然后通過真實的實驗線路再次驗證,達到預定的效果即為實驗成功。
在使用單片機來控制數(shù)碼管顯示時,采用動態(tài)顯示是將所有的數(shù)碼管的段選端都接在單片機的對應引腳上,另外每個數(shù)碼管的公共端都作為位選端接在單片機其他引腳上,當單片機輸出字碼是,每個數(shù)碼管接受到的字碼是相同的,單片機只不過靠控制每位數(shù)碼管的位選端來確定哪個數(shù)碼管可顯示字碼。
單片機在動態(tài)掃描時,控制程序先后給段選端和位選端送段碼和位碼,但由于人眼睛的滯后效應和發(fā)光管的余輝效應,再加上打開數(shù)碼管的時間間隔很短,使我們看上去像是數(shù)碼管同時可以顯示不同的字碼,其實數(shù)碼管是一個一個顯示的,這和數(shù)碼管只能在同一時刻只能顯示同一字碼有著本質的區(qū)別。
參考文獻
[1]郭小軍.單片機控制數(shù)碼管動態(tài)顯示過程分析[J].武漢船舶職業(yè)技術學院學報,2010(5).
[2]胡全.51單片機的數(shù)碼管動態(tài)顯示技術[J].中國新技術新產品,2009(13).