數位管顯示分為靜态顯示和動态顯示兩種
靜态顯示:顯示某一字元時,二極管恒定導通或截止。
優點:程式設計實作簡單;顯示穩定;亮度高;每更新一次顯示内容CPU才執行一次,節省CPU時間
缺點:由于一個接口隻能接一個顯示管,硬體開銷大
動态顯示:利用人眼的視覺暫留效應,實作多個字元同時顯示。
其優缺點正好與靜态顯示相反
Proteus仿真電路如下:

C51程式代碼:
//通過兩個通用并行接口驅動數位管顯示功能
//數位管采用的是共陰極接法,段碼如數組unsigned char const seg[]所示
//延時函數void delay(unsigned int cnt),可根據需要修改延時時間
//頭檔案
#include <reg51.h>
//分别為陰極數位管
unsigned char codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//延時程式,可修改成自己要的時間。
void delay(unsigned int cnt)
{
unsigned char j;
while(--cnt)
{
for(j=0;j<8;j++);
}
}
//主函數
main()
{
unsigned char i,j;
while(1)
{
P2=codetable[i];
P0=codetable[j];
delay(500); //延時程式
i++;
if(10==i)
{
i=0;
j++;
if(j==10)
j=0;
}
}
}
ps:今天順帶解決了Proteus自動關閉的問題,原因出在安裝破解版後,沒有将安裝包裡crack/MODELS的系統資料庫檔案覆寫到裝好的Proteus對應檔案夾中
下周準備學習單片機數位管的動态顯示,應用中斷、定時計數器等常用功能