天天看點

C51驅動數位管顯示0~99

數位管顯示分為靜态顯示和動态顯示兩種

靜态顯示:顯示某一字元時,二極管恒定導通或截止。

          優點:程式設計實作簡單;顯示穩定;亮度高;每更新一次顯示内容CPU才執行一次,節省CPU時間

          缺點:由于一個接口隻能接一個顯示管,硬體開銷大

動态顯示:利用人眼的視覺暫留效應,實作多個字元同時顯示。

         其優缺點正好與靜态顯示相反

Proteus仿真電路如下:

C51驅動數位管顯示0~99

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對應檔案夾中

下周準備學習單片機數位管的動态顯示,應用中斷、定時計數器等常用功能