數碼管動態靜態顯示原理
8段發光二極體連線有兩種結構:共陰極和共陽極。
8位數碼管欄位碼為8位,從高位到低位的順序依次是dp、g、f、e、d、c、b、a。
例如共陰數碼管數字0的欄位碼為00111111B(3FH)
共陰極:八段發光二極體的陰極端連線在一起,陽極端分開控制,使用時候公共端接地,要使哪個發光二極體亮,則對應的陽極端接高電平;
共陽極:八段發光二極體的陽極端連線在一起,陰極端分開控制,使用時候公共端接電源,要使哪個發光二極體亮,則對應的陰極端接低地。
靜態顯示方式:
led靜態顯示時,其公共端接地(共陰極)或接電源(共陽極),各段選線分別與I/O口接線相連。要顯示字元,直接在I/O線傳送相應的欄位碼。
優點:靜態顯示結構簡單,顯示方便,要顯示某個字元直接在IO線上傳送相應的欄位碼
缺點:一根數碼管需要8根IO線,數碼管比較多時候,非常佔用IO線。
動態顯示方式:
將所有的數碼管的段選線並接在一起,用一個IO介面控制,公共端並不是直接接地(共陰極)或者電源(共陽極),而是通過相應的IO介面控制。以共陽極為例假設4個數碼管工作過程為:每個數碼管的公共端與一根IO(2)相連,第一步使最右邊一個數碼管的公共端為1,其餘數碼管公共端為0,同時在IO(1)上 傳送右邊第一個數碼管的欄位碼,這時候只有右邊的第一個數碼管顯示,其餘不顯示;第二部使右邊第二個數碼管的公共端D1為1,其餘的公共端為0,同時在IO(1)上傳送右邊第二個數碼管的欄位碼,這時候,只有右邊第二個數碼管顯示,其餘不顯示,以此類推,直到最後一個,這樣子4個數碼管輪流顯示相應的資訊,一遍顯示完畢,隔一段時間,又這樣迴圈顯示。從計算機角度,每個數碼管隔一段時間才顯示一次,但是由於人的視覺暫留效應,只要隔離時間足夠短,迴圈的週期足夠長,美妙達到24次以上,看起來數碼管就一直穩定顯示了,這就是動態顯示原理。
動態顯示時候需要注意閃爍和亮度。如果每秒顯示的次數少,頻率低,則顯示的資訊是閃爍的,這時候應該增加顯示頻率。如果每個數碼管在每秒鐘顯示的總時間太短,則顯示的亮度低,顯示的資訊不清楚,這時候應該增加顯示的時間。一般來說,通過在每一位顯示時適當加延時,每一位顯示時加延時會使顯示一遍的時間變長,可能會影響顯示的頻率,所以一般需要慢慢除錯。
優缺點:
IO接線少,線路簡單,但是軟體開銷大,需要CPU週期性地重新整理,因此會佔用CPU大量時間。