<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)數(shù)字鐘程序

          單片機(jī)數(shù)字鐘程序

          作者: 時(shí)間:2012-12-31 來源:網(wǎng)絡(luò) 收藏

          #include .h>
          #include intrins.h>
          #define uchar unsigned char
          #define uint unsigned int
          #define A 1

          uint year;
          uchar count;
          uchar flag=0;
          uchar month,date,hour,min,sec;
          uchar code monthdata[12]={31,28,31,30,31,30,31,31,30,31,30,31};
          //uchar code disdata[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
          uchar code disdata[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
          //uchar reg;

          void sysini(void);
          void timer2(void);
          void delayX1ms(uint);
          void delay(void);
          void display(void);
          void display2(uchar);
          void change(void);
          uchar weekday(void);
          uchar daysofmonth(void) reentrant;
          bit isleap(void) reentrant;

          ;c語言編寫的程序 http://www.51hei.com 出品
          ;主程序開始。

          void main(void)
          {sysini();
          while(1)
          {if(P3_2) display();//P3.0--mode,P3.1--set
          else change();
          }
          display();
          }

          void sysini(void)
          {
          year=2004;month=1;date=1;
          hour=0;min=0;sec=0;
          count=0;

          T2CON=0x00;T2MOD=0x00;
          TH2=0x3c;TL2=0xb0;
          RCAP2H=0x3c;RCAP2L=0xb0; //50ms
          TR2=1;ET2=1;
          SCON=0x00;
          EA=1;


          }

          void timer2(void) interrupt 5
          {TF2=0;
          if(++count>=20)
          {count=0;
          if(++sec>=60)
          {sec=0;
          if(++min>=60)
          {min=0;
          if(++hour>=24)
          {hour=0;
          if(++date>daysofmonth())
          {date=1;
          if(++month>12)
          {month=1;
          year++;
          }
          }
          }
          }
          }
          }
          }

          void delayX1ms(uint count)
          {uint i,j;
          for(i=0;icount;i++)
          for(j=0;j120;j++)//120
          ;
          }

          void delay(void)
          {uchar a=10;
          while(a)
          a--;
          }

          void display(void)
          {

          SBUF=disdata[date%10];delay();P1=0xfe;delayX1ms(1);P1=0xff;
          if(date/10) SBUF=disdata[date/10]; else SBUF=0x00;delay();P1=0xfd;delayX1ms(1);P1=0xff;
          SBUF=disdata[month%10];delay();P1=0xfb;delayX1ms(1);P1=0xff;
          if(month/10) SBUF=disdata[month/10]; else SBUF=0x00;delay();P1=0xf7;delayX1ms(1);P1=0xff;
          SBUF=disdata[year%10];delay();P1=0xef;delayX1ms(1);P1=0xff;
          SBUF=disdata[year/10%10];delay();P1=0xdf;delayX1ms(1);P1=0xff;
          SBUF=disdata[year/100%10];delay();P1=0xbf;delayX1ms(1);P1=0xff;
          SBUF=disdata[year/1000];delay();P1=0x7f;delayX1ms(1);P1=0xff;
          SBUF=disdata[sec%10];delay();P2=0xfe;delayX1ms(1);P2=0xff;
          SBUF=disdata[sec/10];delay();P2=0xfd;delayX1ms(1);P2=0xff;
          SBUF=disdata[min%10];delay();P2=0xfb;delayX1ms(1);P2=0xff;
          SBUF=disdata[min/10];delay();P2=0xf7;delayX1ms(1);P2=0xff;
          SBUF=disdata[hour%10];delay();P2=0xef;delayX1ms(1);P2=0xff;
          if(hour/10) SBUF=disdata[hour/10]; else SBUF=0x00;delay();P2=0xdf;delayX1ms(1);P2=0xff;
          SBUF=disdata[weekday()];delay();P2=0xbf;delayX1ms(1);P2=0xff;

          }


          void display2(uchar a)
          {

          if(a=='d') SBUF=0x00;else SBUF=disdata[date%10];delay();P1=0xfe;delayX1ms(1);P1=0xff;
          if(a=='d') SBUF=0x00;else{if(date/10) SBUF=disdata[date/10];else SBUF=0x00;}delay();P1=0xfd;delayX1ms(1);P1=0xff;
          if(a=='m') SBUF=0x00;else SBUF=disdata[month%10];delay();P1=0xfb;delayX1ms(1);P1=0xff;
          if(a=='m') SBUF=0x00;else{if(month/10) SBUF=disdata[month/10]; else SBUF=0x00;}delay();P1=0xf7;delayX1ms(1);P1=0xff;
          if(a=='y') SBUF=0x00;else SBUF=disdata[year%10];delay();P1=0xef;delayX1ms(1);P1=0xff;
          if(a=='y') SBUF=0x00;else SBUF=disdata[year/10%10];delay();P1=0xdf;delayX1ms(1);P1=0xff;
          if(a=='y') SBUF=0x00;else SBUF=disdata[year/100%10];delay();P1=0xbf;delayX1ms(1);P1=0xff;
          if(a=='y') SBUF=0x00;else SBUF=disdata[year/1000];delay();P1=0x7f;delayX1ms(1);P1=0xff;
          if(a=='S') SBUF=0x00;else SBUF=disdata[sec%10];delay();P2=0xfe;delayX1ms(1);P2=0xff;
          if(a=='S') SBUF=0x00;else SBUF=disdata[sec/10];delay();P2=0xfd;delayX1ms(1);P2=0xff;
          if(a=='M') SBUF=0x00;else SBUF=disdata[min%10];delay();P2=0xfb;delayX1ms(1);P2=0xff;
          if(a=='M') SBUF=0x00;else SBUF=disdata[min/10];delay();P2=0xf7;delayX1ms(1);P2=0xff;
          if(a=='H') SBUF=0x00;else SBUF=disdata[hour%10];delay();P2=0xef;delayX1ms(1);P2=0xff;
          if(a=='H') SBUF=0x00;else {if(hour/10) SBUF=disdata[hour/10]; else SBUF=0x00;}delay();P2=0xdf;delayX1ms(1);P2=0xff;
          SBUF=disdata[weekday()];delay();P2=0xbf;delayX1ms(1);P2=0xff;

          }

          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理



          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();