(玩電子) 電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

跑秒程序-數碼管顯示

作者:佚名   來源:本站原創   點擊數:x  更新時間:2009年10月27日   【字體:

/*
程序效果:跑秒,同時顯示四位數碼管
版權所有:http://www.112239.live 轉載請保留.
P1控制數碼管的位 P2控制段
注意:如果無法在keil里編譯,請刪除每一行的所有前導空白,
*/
#include<reg52.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里編譯,請刪除每一行的所有前導空白,

發表評論】【告訴好友】【收藏此文】【關閉窗口

文章評論

相關文章

专注江西快三走势分析 20选5兑奖方法 2019能赚钱的网络游戏 华东15选5近30开奖结果查询 智能车联网是什么 北京pk拾彩票app 捕鸟游戏破解版下载 富贵庄园官网下载 吉林新11选5手机板 江苏7位数每个星期开几次 辽宁福采35选7开奖