- 單片機應用技術實訓指導
- 趙旭輝
- 2138字
- 2020-06-24 17:18:58
項目原理與內容
1.數碼管的工作原理
數碼管也叫七段數碼管、八段數據管,它是由八個發光二極管組成,其中七個長條形的發光二極管排列成中文“日”字形狀,另一個小圓點在右下角作為小數點使用。其結構示意見圖3-1所示。這種組合可以顯示0~9十個數字以及部分英文字母。

圖3-1 七段數碼管
七段數碼管有共陰極和共陽極兩種類型。共陰極數碼管中各發光二極管的陰極共地,當某個發光二極管的陽極為高電平時,該發光管點亮。共陽極數碼管正好與之相反,是所有陽極接在一起,當某個發光二極管的陰極為低電平時,該發光管點亮。其內部電路原理如圖3-2所示。
使用七段數碼管時,只需要將單片機的一個并行口與數碼管的8個引腳相連即可。8位并行口輸出不同的字節數據會使數碼管呈現出不同的顯示狀態。通常將控制數碼管顯示內容的8位字節數據稱為段選碼。不同的段選碼對應不同的數碼顯示。共陽極與共陰極的段選碼正好互補,見表3-1。

圖3-2 數碼管的內部電路和外部引腳
表3-1 七段數碼管的段選碼

注:表中未涉及dp段的狀態。
除了單個的數碼管以外,還有一種多個數碼管連在一起(abcdefg以及dp端分別連接在一起,公共端分別控制)的叫作數碼管模塊,如圖3-3所示。數碼管模塊在日常生活中應用較多,其顯示原理與單個數碼管的原理相同,仍然通過abcdefg及dp引腳控制數碼管的顯示內容,而哪一個數碼管的公共端被選通則對應的數碼管點亮。這里面將決定數碼管顯示內容的abcdefg及dp引腳的控制信號稱為段選碼,段選碼決定顯示內容。而將各個數碼管的公共端的選通信號稱為位選碼,位選碼決定了哪一個數碼管顯示。
2.數碼管的動態顯示和靜態顯示
所謂數碼管的靜態顯示就是指內固定的端口輸出段選碼,另一個端口固定地輸出位選碼,即每一個數碼管的段選與位選均由不同的端口控制。靜態方式下數碼管顯示明亮穩定,編程控制簡單。但是如果顯示的數碼管較多,則需要控制的端口和硬件數量也較多、成本過高是其主要缺點。
另一種顯示方式是動態顯示,動態顯示時只需要使用一個固定的端口,通過鎖存器等器件就可以實現端口的分時復用,極大地節省了硬件開銷,是常用的數碼管顯示方式。這種方式下硬件使用較少,但程序設計相對復雜。本實驗板上的數碼管模塊即為動態顯示。其模塊連接及工作原理如圖3-3所示。

圖3-3 數碼管顯示模塊
實驗板上數碼管的動態顯示原理:本實驗板上共有8個數碼管,借助兩個鎖存器使P0端口分時輸出段選碼和位選碼。這兩個鎖存器是U8和U9,其中U8為段選控制由P10引腳控制其開關,U9為位選控制由P11引腳控制其開關。如果要使某個數碼管顯示,必然要經過這樣四個步驟:
①由P0口給出段選碼。
②由P10引腳控制打開U8,使A0~A7的狀態與P0口的八個引腳一致,然后關閉U8,使之進入鎖存狀態,即切斷了與P0的聯系,但輸出端保持剛才的狀態不變。
③由P0口給出位選碼。
④由P11引腳控制打開U9,使A0~A7的狀態與P0口的八個引腳一致,然后關閉U9,使之進入到鎖存狀態,即切斷了與P0的聯系,但輸出端保持剛才的狀態不變。
如此反復運行,就可以實現數字的動態顯示了。
從以上分析可以看出,數碼管模塊的動態顯示就是利用了發光二極管的“輝光效應”,通過動態地改變段選碼和位選碼,使每個數碼管按一定的頻率輪流顯示,給人一種數碼管都點亮了的錯覺。
數碼管進行動態顯示時,所有數碼管的段選線都連接在一起而位選線分離,通過控制位選線的變化,快速點亮刷新。因為所有的段選線都連在一起,硬件電路相對比較簡單,且同一時刻只有一個數碼管在點亮,所需電流也較小。但是刷新的頻率如果較慢,就會出現數碼管的閃爍現象。所以在動態顯示中,數碼管的刷新周期要注意不要太短。一般的數碼管刷新周期應控制在5~10ms(即刷新頻率為100~200Hz),這樣即保證了數碼管每次刷新都被完全點亮,又不會產生閃爍現象。
實驗要求與步驟:
(1)實驗要求
本實驗項目包含三個子項目,由易到難的各子項目中數碼管的不同顯示方式。
①使實驗板最右側數碼管顯示數字5,且靜止不動。
②使實驗板最右側的數碼管依次顯示數字1~8。要求數碼閃爍,周而復始。
③使用動態顯示方法使全部數碼管顯示數字20142015,且保持穩定顯示。
(2)實驗步驟
①分析電路原理圖,從圖中掌握數碼管的極性、連接方式,知曉其控制方法。
通過查閱實驗板說明書,掌握所用數碼管的極性,確定是共陰還是共陽。接著研究其連接方式和控制方法。從前面的原理分析,我們已經知道數碼管的控制主要由U8和U9兩個鎖存器控制。其中P10控制鎖存器U8,P11控制鎖存器U9。數碼管的內容及控制信息完全由P0口送出。依據以上分析:
送段選碼的方法為:
_______________________
_______________________
_______________________
送位選碼的方法為:
_______________________
_______________________
_______________________
②數碼管的消隱處理。在動態顯示時,由于刷新頻率較高,可能會產生數碼管顯示內容亂碼現象。處理亂碼現象主要通過消隱方式解決。所謂的消隱,就是在數碼管顯示新數字前,先將數碼管清空一下,然后再顯示。與送出段選碼、位選碼的方法一樣,在打開鎖存器的控制后,由P0口送出一個代碼,將全部數碼管關閉。
數碼管的消隱方法為:
_______________________
_______________________
_______________________
③數組的運用。要實現動態顯示過程,需將要顯示的段選碼和位選碼以數組方式預先準備好。顯示時通過循環依次讀取數組內容并送至數碼管。
本實驗板的數碼管為共陰極管。寫出數碼管動態顯示“20152015”時的段選碼:
unsigned char code tab[ ]={______,______,______,______}; //2015的共陰碼
④編寫代碼。
⑤向實驗板燒錄代碼。
⑥觀察程序運行效果,反復調試,直至達到預期實驗目標。