在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設(shè)計應用 > MSP430與DS1302之1602顯示

      MSP430與DS1302之1602顯示

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

      /*******************************************
      函數(shù)名稱:Reset_DS1302
      功 能:對DS1302進行復位操作
      ********************************************/
      void Reset_DS1302(void)
      {
      DS_RST_OUT; //RST對應的IO設(shè)置為輸出狀態(tài)
      DS_SCL_OUT; //SCLK對應的IO設(shè)置為輸出狀態(tài)
      DS_SCL0; //SCLK=0
      DS_RST0; //RST=0
      delay(10);
      DS_SCL1; //SCLK=1
      }
      /*******************************************
      函數(shù)名稱:Write1Byte
      功 能:對DS1302寫入1個字節(jié)的數(shù)據(jù)
      ********************************************/
      void Write_Byte(uchar wdata)
      {
      uchar i;
      DS_SDA_OUT; //SDA對應的IO設(shè)置為輸出狀態(tài)
      DS_RST1; //REST=1;
      for(i = 8; i > 0; i--)
      {
      if(wdata&0x01)
      DS_SDA1;
      else
      DS_SDA0;
      DS_SCL0;
      delay(10);
      DS_SCL1;
      delay(10);
      wdata>>= 1;
      }
      }
      /*******************************************
      函數(shù)名稱:Read1Byte
      功 能:從DS1302讀出1個字節(jié)的數(shù)據(jù)
      ********************************************/
      uchar Read_Byte()
      {
      uchar i;
      uchar rdata = 0X00;
      DS_SDA_IN; //SDA對應的IO設(shè)置為輸入狀態(tài)
      DS_RST1; //REST=1;
      for(i = 8; i > 0; i--)
      {
      DS_SCL1;
      delay(10);
      DS_SCL0;
      delay(10);
      rdata >>= 1;
      if(DS_SDA_BIT)
      rdata |= 0x80;
      }

      return(rdata);
      }
      /*******************************************
      函數(shù)名稱:Write_dat
      功 能:向某個寄存器寫入一個字節(jié)數(shù)據(jù)
      參 數(shù):add--寄存器地址
      dat--寫入的數(shù)據(jù)
      ********************************************/
      void Write_dat(uchar add, uchar dat)
      {
      DS_RST0;
      DS_SCL0;
      _NOP();
      DS_RST1;
      Write_Byte(add); //寫入地址
      Write_Byte(dat); //寫入數(shù)據(jù)
      DS_SCL1;
      DS_RST0;
      }
      /*******************************************
      函數(shù)名稱:Read_dat
      功 能:從某個寄存器讀出一個字節(jié)數(shù)據(jù)
      參 數(shù):addr--寄存器地址
      返回值 :讀出的數(shù)據(jù)
      ********************************************/
      uchar read_1302add(uchar add)
      {
      uchar rdata;
      DS_RST0;
      DS_SCL0;
      _NOP();
      DS_RST1;
      Write_Byte(add); //寫入地址
      rdata = Read_Byte(); //讀出數(shù)據(jù)
      DS_SCL1;
      DS_RST0;

      return(rdata);
      }
      /***********初始化1302*************/
      void init_1302()
      {
      flag=read_1302add(0x81);//讀秒寄存器最高位,讀出時鐘狀態(tài)
      if(flag&0x80);//判斷時鐘是否關(guān)閉,若內(nèi)部關(guān)閉,則初始化,否則繼續(xù)走
      {
      Write_dat(0x8e,0x00);
      Write_dat(0x80,((55/10)<<4|(55%10)));//寫秒寄存器,并寫入初值55
      Write_dat(0x82,((59/10)<<4|(59%10)));//寫分寄存器,并寫入初值59
      Write_dat(0x84,((22/10)<<4|(22%10)));//寫小時寄存器,并寫入初值23
      Write_dat(0x86,((24/10)<<4|(24%10)));//寫日寄存器,并寫入初值18
      Write_dat(0x88,((2/10)<<4|(2%10)));//寫月寄存器,并寫入初值2
      Write_dat(0x8a,((5/10)<<4|(5%10)));//寫周寄存器,并寫入初值5
      Write_dat(0x8c,((12/10)<<4|(12%10)));//寫年寄存器,并寫入初值12,不能寫2012年
      Write_dat(0x90,0xa5);//寫充電方式
      Write_dat(0x8e,0x80);//加上寫保護

      }
      }
      /*****************讀出秒的十進制數(shù)***************************/

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

      uchar readsecond()
      {
      uchar dat;
      dat=read_1302add(0x81);
      second=((dat&0x70)>>4)*10+(dat&0x0f);
      return second;
      }

      /*****************讀出分的十進制數(shù)***************************/

      uchar readminute()
      {
      uchar dat;
      dat=read_1302add(0x83);
      minute=((dat&0x70)>>4)*10+(dat&0x0f);
      return minute;
      }

      /*****************讀出小時的十進制數(shù)***************************/

      uchar readhour()
      {
      uchar dat;
      dat=read_1302add(0x85);
      hour=((dat&0x70)>>4)*10+(dat&0x0f);
      return hour;
      }
      /*****************讀出天的十進制數(shù)***************************/

      uchar readday()
      {
      uchar dat;
      dat=read_1302add(0x87);
      day=((dat&0x70)>>4)*10+(dat&0x0f);
      returnday;
      }

      /*****************讀出月的十進制數(shù)***************************/

      uchar readmonth()
      {
      uchar dat;
      dat=read_1302add(0x89);
      month=((dat&0x70)>>4)*10+(dat&0x0f);
      return month;
      }
      /*****************讀出周的十進制數(shù)***************************/

      uchar readweek()
      {
      uchar dat;
      dat=read_1302add(0x8b);
      week=((dat&0x70)>>4)*10+(dat&0x0f);
      return week;
      }



      關(guān)鍵詞: MSP430DS13021602顯

      評論


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

      關(guān)閉