標(biāo)題: 51單片機(jī)流動數(shù)碼管顯示程序 [打印本頁]

作者: dagu    時間: 2014-12-27 19:44
標(biāo)題: 51單片機(jī)流動數(shù)碼管顯示程序
數(shù)碼管顯示網(wǎng)上例子很多,無非是靜態(tài)的,動態(tài)的。動態(tài)的顯示大部分是用While函數(shù),昨天編了一個程序解決動態(tài)顯示0~F的流動顯示方法,可能還需改進(jìn),還得“計院”的高手指導(dǎo)。
另外后面幾行用/* */去掉的程序大家加進(jìn)去可以看到另一個效果的流水?dāng)?shù)碼管



#include <reg51.h>
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99, //0~4
    0x92,0x82,0xF8,0x80,0x90, //5~9
    0x88,0x83,0xA7,0xA1,0x86,0x8E}; //A~F      
unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
unsigned char temp,temp0,temp1,temp2,temp3,temp4,temp5,j;
unsigned char emp,emp0,emp1,emp2,emp3,emp4,emp5,emp6,emp7,

    emp8,emp9,emp10,emp11,emp12,emp13,emp14,emp15;
void delay();
void delay1();
void main()
{{      
temp=0;
temp0=0;
temp1=1;
temp2=2;
temp3=3;
temp4=4;
temp5=5;
emp=0;
emp0=0;
emp1=1;
emp2=2;
emp3=3;
emp4=4;
emp5=5;
emp6=6;
emp7=7;
emp8=8;
emp9=9;
emp10=10;
emp11=11;
emp12=12;
emp13=13;
emp14=14;
emp15=15;

  loop2:
  j=40000;
   loop1:
   P3=0xff;
   P0=table[emp0];
   P3=wei[temp0];
   delay();

   P3=0xff;
   P0=table[emp1];
   P3=wei[temp1];
   delay();

   P3=0xff;
   P0=table[emp2];
   P3=wei[temp2];
   delay();

   P3=0xff;
   P0=table[emp3];
   P3=wei[temp3];
   delay();
     
   P3=0xff;
   P0=table[emp4];
   P3=wei[temp4];
   delay();

   P3=0xff;
   P0=table[emp5];
   P3=wei[temp5];
   delay();

  j=j-1;
   if(j>0)
   goto loop1;
   else
     /*temp=temp0;
     temp0=temp1;
     temp1=temp2;
     temp2=temp3;
     temp3=temp4;
     temp4=temp5;
     temp5=temp;*/
     emp=emp0;
     emp0=emp1;
     emp1=emp2;
     emp2=emp3;
     emp3=emp4;
     emp4=emp5;
     emp5=emp6;
     emp6=emp7;
     emp7=emp8;
     emp8=emp9;
     emp9=emp10;
     emp10=emp11;
     emp11=emp12;
     emp12=emp13;
     emp13=emp14;
     emp14=emp15;
     emp15=emp;
     goto loop2;

}}
//延時程序
void  delay()              //延時程序
    {
     int i;                 //定義整形變量
     for(i=0x100;i--;)
  ;     //延時
    }


會C語言的會覺得比較簡單,暫時還沒研究程序中temp和emp比較簡潔的處理方法,各位知道的話記得留言。以下貼出效果圖。(手機(jī)拍攝,各位見諒)











歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1