久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 跑秒程序-數碼管顯示

跑秒程序-數碼管顯示

作者: 時間:2012-11-10 來源:網絡 收藏

/*
程序效果:跑秒,同時顯示四位數碼管
版權所有:http://www.51hei.com 轉載請保留.
P1控制數碼管的位 P2控制段
注意:如果無法在keil里編譯,請刪除每一行的所有前導空白,
*/
#includereg52.h> //頭文件
#define uchar unsigned char //宏定義
#define uint unsigned int
void display(); //函數聲明
uchar code table[]={0x3f,0x06,0x5b,//的數值
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uchar x) //,時間我也不會算啊
{
  uchar i,j;
  for(i=x;i>0;i--)
    for(j=110;j>0;j--);
}
void main() //主函數
{
  while(1)
  {
    display(); //顯示子函數
  }
}
void display()
{
  uchar i,j,k,l; //定義局部變量
  P1=0xff; //點亮最右邊的數碼管
  P2=table[i]; //送數值,顯示各位
  delay(10); //延時
  i++; //自加一,為下次顯示作準本
  if(i==10)
  {
    i=0; //i值加滿10,清零
    j++;
    P1=0xfe; //點亮下一個數碼管
    P2=table[j];
    delay(10);
  }
   if(j==10)
  {
    j=0;
    k++;
    P1=0xfd;
    P2=table[k];
    delay(10);
  }
  if(k==10)
  {
    k=0;
    l++;
    P1=0xfc;
    P2=table[l];
    delay(10);
    if(l==10)
    l=0;
  }
//以下語句是不可以缺少的
  P1=0xfe; //顯示十位
  P2=table[j];
  delay(10);

  P1=0xfd; //顯示百位
  P2=table[k];
  delay(10);

  P1=0xfc; //顯示千位
  P2=table[l];
  delay(10);
}
注意:如果無法在keil里編譯,請刪除每一行的所有前導空白,



評論


相關推薦

技術專區

關閉