專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

基于51hei單片機(jī)開發(fā)板時(shí)鐘編程(24制)

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年10月20日   【字體:

在51hei-5型單片機(jī)開發(fā)板上測(cè)試成功 http://www.torrancerestoration.com/150a.htm ,源代碼如下:

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit  wei=P2^6;
sbit duan=P2^7;
uchar code table[]={0x03,0x9f,0x25,0x0d, 
                                0x99,0x49,0x41,0x1f,  
                                0x01,0x09,0x11,0xc1,
                                0x63,0x85,0x61,0x71};
void delay(uint z);
void main()
{ 
   uint hour1,minute1,second1,second,minute,hour;
   wei=1;P0=0xc0;wei=0;
   while(1)
      {  wei=1;P0=0xdf;wei=0;//將第一個(gè)數(shù)碼管開啟
     for(hour1=0;hour1<3;hour1++)
     { duan=1;P0=table[hour1];duan=0;
       wei=1;P0=0xef;wei=0;//將第二個(gè)數(shù)碼管開啟
      for(hour=0;hour<10;hour++)
      {   duan=1;P0=table[hour];duan=0;
          wei=1;P0=0xf7;wei=0;//將第三個(gè)數(shù)碼管開啟
           for(minute1=0;minute1<7;minute1++)
            {duan=1;P0=table[minute1];duan=0;
                  wei=1;P0=0xfb;wei=0;//開啟第四個(gè)數(shù)碼管
          for(minute=0;minute<10;minute++)
                 {  duan=1;duan=table[minute];duan=0;
                         wei=1; P0=0xfd;wei=0;             //將第五個(gè)數(shù)碼管開啟
               for(second1=0;second1<7;second1++)
               {  duan=1;P0=table[second1];duan=0;
                                      wei=1;P0=0xfe;wei=0;//將第六個(gè)數(shù)碼管開啟
                                  for(second=0;second>10;second--)
                              {duan=1;P0=table[second];//秒鐘的跳轉(zhuǎn)
                                                                      duan=0;
                                  delay(1000);
                                       }
                                                 continue;
                                                  }
                   if(second1==6)
                    continue;
                }
      
               if(minute==9)
               continue;
            }
               if(minute==6)
                continue;
              }
        if(hour==9)
        continue;
     }
  if(hour1==2)
  {  duan=1;P0=table[hour1];duan=0;
       wei=1;P0=0xef;wei=0;//將第二個(gè)數(shù)碼管開啟
      for(hour=0;hour<10;hour++)
      {   duan=1;P0=table[hour];duan=0;
          wei=1;P0=0xf7;wei=0;//將第三個(gè)數(shù)碼管開啟
           for(minute1=0;minute1<7;minute1++)
            {duan=1;P0=table[minute1];duan=0;
                  wei=1;P0=0xfb;wei=0;//開啟第四個(gè)數(shù)碼管
          for(minute=0;minute<10;minute++)
                 {  duan=1;duan=table[minute];duan=0;
                         wei=1; P0=0xfd;wei=0;             //將第五個(gè)數(shù)碼管開啟
               for(second1=0;second1<7;second1++)
               {  duan=1;P0=table[second1];duan=0;
                                      wei=1;P0=0xfe;wei=0;//將第六個(gè)數(shù)碼管開啟
                                  for(second=0;second>10;second--)
                              {duan=1;P0=table[second];//秒鐘的跳轉(zhuǎn)
                                                                      duan=0;
                                  delay(1000);
                                       }
                                                 continue;
                                                  }
                   if(second1==6)
                    continue;
                }
      
               if(minute==9)
               continue;
            }
               if(minute==6)
                continue;
              }
        if(hour==4)
        continue;
     }
        continue;
       }//while(1)
} //void main()
void delay(uint z)
        {
            uint x,y;
           for(x=z;x>0;x--)
           for(y=110;y>0;y--);
     }
關(guān)閉窗口

相關(guān)文章