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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)制作的時鐘程序

          單片機(jī)制作的時鐘程序

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          今天完成的一個用單片機(jī)制作的時鐘程序,
          /****************************************************************
          *工程名:帶秒顯示時鐘單片機(jī)程序 *
          *單片機(jī):STC89C52 *
          *電路板:http://www.51hei.com/150a.htm *
          *目 的:學(xué)習(xí)單片機(jī)編程 *
          *是 間:2012-11-25星期五 *
          *作 者:張杉峰 *
          *修 訂:功能有待完善,下邊我還加上調(diào)整時間的功能 *
          *****************************************************************/
          #include
          #define uint unsigned int
          #define uchar unsigned char
          sbit wei=P2^7; //位鎖存器使能端定義
          sbit duan=P2^6; //段鎖存器使能端定義
          sbit led=P1^4; //這個是我買的實(shí)驗(yàn)板上的led使能端控制位
          //定義需要的為變量...
          uchar code duan_table[]={
          0x3f,0x06,0x5b,0x4f,
          0x66,0x6d,0x7d,0x07,
          0x7f,0x6f,0x77,0x7c,
          0x39,0x5e,0x79,0x71,0x00
          };//數(shù)碼管從1——F顯示編碼表,記得最后一個分號哦...
          uchar a,xiaoshi,fenzhong,miao,miao1,miao2,xiao1,xiao2,fen1,fen2; //定義要用到的變量,記得一個字符都不要寫錯哦...
          void dispay(uchar miao1,uchar miao2,uchar fen1,uchar fen2,uchar xiao1,uchar xiao2); //顯示函數(shù)什么,一定要記得什么哦...
          void delay(uchar x);
          void init()//初始化函數(shù)
          {
          TMOD=0X01; //定時計數(shù)器工作模式,工作于16位定時器計數(shù)器模式
          TH0=(65536-50000)/256; //十六位寄存器高八位賦初值
          TL0=(65536-50000)%256; //............低八位賦初值
          EA=1; //開總中斷
          ET0=1; //開定時器計數(shù)器0中斷
          TR0=1; //啟動定時器/計數(shù)器0
          }
          void main()
          {
          init(); //調(diào)用初始化函數(shù)
          while(1)
          {
          if(a==20) //判斷是否定時到1秒鐘
          {
          a=0; //到一秒a清零
          miao++; //讓秒加1
          if(miao==60) //判斷秒是否到60
          {
          miao=0; //秒到60,讓"miao"清零
          fenzhong++; //讓分鐘自加1
          if(fenzhong==60) //判斷分鐘是否到60
          {
          fenzhong=0; //分鐘到60,讓"fenzhong"清零
          xiaoshi++; //讓小時加1
          if(xiaoshi==24) //判斷小時是否到24
          {xiaoshi=0;} //到24,讓"xiaoshi"清零,從零點(diǎn)從新走動...
          }
          }
          xiao1=xiaoshi/10;
          xiao2=xiaoshi%10; //上面一行和這一行是把小時的兩位分離出來,比如23,分解成2和3;下面幾行一樣就不解釋了
          fen1=fenzhong/10;
          fen2=fenzhong%10;
          miao1=miao/10;
          miao2=miao%10;
          }
          dispay(miao1,miao2,fen1,fen2,xiao1,xiao2);
          }
          }
          void dispay(uchar miao1,uchar miao2,uchar fen1,uchar fen2,uchar xiao1,uchar xiao2)
          {
          duan=1;
          P0=duan_table[xiao1];
          duan=0;
          P0=0xff;
          wei=1;
          P0=0xfb;//第三個LED亮,小時高位
          wei=0;
          delay(2);
          duan=1;
          P0=duan_table[xiao2];
          duan=0;
          P0=0xff;
          wei=1;
          P0=0xf7; //第四個LED亮,小時低位
          wei=0;
          delay(2);
          duan=1;
          P0=duan_table[fen1];
          duan=0;
          P0=0xff;
          wei=1;
          P0=0xef; //第五個LED亮,分鐘高位
          wei=0;
          delay(2);
          duan=1;
          P0=duan_table[fen2];
          duan=0;
          P0=0xff;
          wei=1;
          P0=0xdf; //第六個LED亮,分鐘低位
          wei=0;
          delay(2);
          duan=1;
          P0=duan_table[miao1];
          duan=0;
          P0=0xff;
          wei=1;
          P0=0xbf; //第七個LED亮,秒高位
          wei=0;
          delay(2);
          duan=1;
          P0=duan_table[miao2];
          duan=0;
          P0=0xff;
          wei=1;
          P0=0x7f;
          wei=0;
          delay(2);
          }
          void delay(uchar x)
          {
          uchar bb,dd;
          for(bb=x;bb>0;bb--)
          for(dd=110;dd>0;dd--);
          }
          void timer0() interrupt 1
          {
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%256;
          a++;
          }


          評論


          技術(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); })();