在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用MSP430的32768Hz晶振寫的時鐘

      用MSP430的32768Hz晶振寫的時鐘

      作者: 時間:2016-12-02 來源:網(wǎng)絡 收藏


      }

      本文引用地址:http://www.biyoush.com/article/201612/324675.htm

      void Clock(void)
      {
      miao++;
      if(miao==60)
      {
      miao=0;
      fen++;
      if(fen==60)
      {
      fen=0;
      shi++;
      if(shi==24)
      {
      shi=0;
      }
      write_sfm(2,shi);
      }
      write_sfm(5,fen);
      }
      write_sfm(8,miao);

      }

      void keyscan()
      {

      if(keyin!=0x0f)
      {
      delay(5); //延時消抖
      if(keyin != 0x0f) //再次檢測按鍵狀態(tài)
      {
      temp=keyin;
      while(keyin != 0x0f); //等待按鍵被放開
      if(temp==0x0e)
      {
      keynum++;
      switch(keynum)
      {
      case 1:
      _DINT();
      // CCTL0 &=~ CCIE; //兩種停止時鐘的方法效果一樣
      write_com(0x80+0x40+9);
      write_com(0x0f);//光標開始閃
      break;
      case 2:
      write_com(0x80+0x40+6);break;
      case 3:
      write_com(0x80+0x40+3);break;
      case 4:
      keynum=0;
      write_com(0x0c);//開顯示,光標不顯示
      _EINT();
      // CCTL0|=CCIE; //使用相應打開時鐘的方法
      break;
      }
      }
      if(temp==0x0d)
      {
      // while(keyin != 0x0d); //等待按鍵被放開
      switch(keynum)
      {
      case 1:
      miao++;
      if(miao==60)miao=0;
      write_sfm(8,miao);
      write_com(0x80+0x40+9);
      break;
      case 2:
      fen++;
      if(fen==60)fen=0;
      write_sfm(5,fen);
      write_com(0x80+0x40+6);
      break;
      case 3:
      shi++;
      if(shi==24)shi=0;
      write_sfm(2,shi);
      write_com(0x80+0x40+3);
      break;
      }
      }

      if(temp==0x0b)
      {
      // while(keyin != 0x0d); //等待按鍵被放開
      switch(keynum)
      {
      case 1:
      miao--;
      if(miao==-1)miao=59;
      write_sfm(8,miao);
      write_com(0x80+0x40+9);
      break;
      case 2:
      fen--;
      if(fen==-1)fen=59;
      write_sfm(5,fen);
      write_com(0x80+0x40+6);
      break;
      case 3:
      shi--;
      if(shi==-1)shi=23;
      write_sfm(2,shi);
      write_com(0x80+0x40+3);
      break;
      }
      }

      }
      }
      }

      int main( void )
      { P6DIR|=BIT3;
      P6OUT|=BIT3;
      //上兩句是打開1602的背光電源

      WDTCTL = WDTPW + WDTHOLD;

      lcd_init();
      delay(500);

      write_com(0x80+0x40+4);
      write_data(:);
      write_com(0x80+0x40+7);
      write_data(:);
      write_sfm(2,shi);
      write_sfm(5,fen);
      write_sfm(8,miao);


      CCR0 = 32768 - 1;//設置定時器A的中斷時間為1S
      TACTL = TASSEL_1 + MC_1; //計數(shù)時鐘ACLK, 增計數(shù)模式
      CCTL0 |= CCIE; //使能CCR0比較中斷
      _EINT();//打開全局中斷


      P1DIR = 0xf0; //設置P1.0~P.3為輸入狀態(tài)
      // P1DIR = BIT7; //設置P1.0~P.3為輸入狀態(tài),P1.7為輸出
      // P1OUT = 0;
      //以上兩句是在沒有獨立按鍵情況下把P1_7拉低成為地線

      while(1)
      {
      keyscan();
      //本程序如果加低功耗模式會使按鍵功能失效
      }
      }

      /*******************************************
      函數(shù)名稱:TimerA_ISR
      功 能:定時器A的中斷服務函數(shù)
      ********************************************/
      #pragmavector=TIMERA0_VECTOR
      __interrupt void TimerA_ISR(void)
      {
      Clock();
      }
      //到此時鐘加按鍵完成


      上一頁 1 2 下一頁

      關鍵詞: MSP430晶振時

      評論


      技術專區(qū)

      關閉