新聞中心

        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里編譯,請刪除每一行的所有前導空白,



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 项城市| 西峡县| 永福县| 宣汉县| 新河县| 东阳市| 江都市| 岗巴县| 衡南县| 景宁| 阳原县| 宝应县| 太仆寺旗| 吴堡县| 永登县| 百色市| 湖北省| 青田县| 苗栗市| 鹰潭市| 灵台县| 旌德县| 寿阳县| 巴东县| 伽师县| 登封市| 云南省| 阿拉善盟| 汝州市| 高雄县| 孝义市| 紫金县| 双流县| 共和县| 白沙| 安多县| 禄丰县| 正安县| 北宁市| 卓资县| 吐鲁番市|