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

          新聞中心

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

          單片機(jī)控制ds1302的時(shí)鐘C程序

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

          /************************************************
          *
          * 名稱: uc_BurstR1302R
          * 說(shuō)明: 先寫(xiě)地址,后讀命令/數(shù)據(jù)(寄存器多字節(jié)方式)
          * 功能: 讀取DS1302寄存器數(shù)據(jù)
          * 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
          * 輸入: pReDa: 寄存器數(shù)據(jù)地址
          * 返回值: 無(wú)
          ***************************************************/
          /*void v_BurstR1302R(uchar *pReDa)
          {
          uchar i;
          T_RST = 0;
          T_CLK = 0;
          T_RST = 1;
          v_WTInputByte(0xff); //* 0xbf:時(shí)鐘多字節(jié)讀命令
          for (i=31; i>0; i--) //*31Byte 寄存器數(shù)據(jù)
          {
          *pReDa = uc_RTOutputByte(); //* 讀1Byte數(shù)據(jù)
          pReDa++;
          }
          T_CLK = 1;
          T_RST =0;
          }*/
          /************************************************
          *
          * 名稱: v_Set1302
          * 說(shuō)明:
          * 功能: 設(shè)置初始時(shí)間
          * 調(diào)用: v_W1302()
          * 輸入: pSecDa: 初始時(shí)間地址。初始時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年
          * 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
          * 返回值: 無(wú)
          *****************************************************/
          /*void v_Set1302(uchar *pSecDa)
          {
          uchar i;
          uchar ucAddr = 0x80;
          v_W1302(0x8e,0x00); // 控制命令,WP=0,寫(xiě)操作?
          for(i =7;i>0;i--)
          {
          v_W1302(ucAddr,*pSecDa); //秒 分 時(shí) 日 月 星期 年
          pSecDa++;
          ucAddr +=2;
          }
          v_W1302(0x8e,0x80); // 控制命令,WP=1,寫(xiě)保護(hù)?
          }*/
          /**********************************************
          *
          * 名稱: v_Get1302
          * 說(shuō)明:
          * 功能: 讀取DS1302當(dāng)前時(shí)間
          * 調(diào)用: uc_R1302()
          * 輸入: ucCurtime: 保存當(dāng)前時(shí)間地址。當(dāng)前時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年
          * 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
          * 返回值: 無(wú)
          *****************************************************/
          /*void v_Get1302(uchar ucCurtime[])
          {
          uchar i;
          uchar ucAddr = 0x81;
          for (i=0;i7;i++)
          {
          ucCurtime[i] = uc_R1302(ucAddr);//*格式為: 秒 分 時(shí) 日 月 星期 年
          ucAddr += 2;
          }
          } */
          /**************************************************
          * 名稱: Init1302
          * 說(shuō)明:
          * 功能: 初始化DS1302
          * 調(diào)用:
          * 輸入:
          * 返回值: 無(wú)
          *********************************************************/
          void Init1302(void)
          {
          v_W1302(0x8e,0x00); //控制寫(xiě)入WP=0
          v_W1302(0x90,0xa5);
          v_W1302(0x80,0x00); //秒
          v_W1302(0x82,0x59); //分
          v_W1302(0x84,0x10); //時(shí)
          v_W1302(0x86,0x01); //日
          v_W1302(0x88,0x08); //月
          v_W1302(0x8a,0x03); //星期
          v_W1302(0x8c,0x07); //年*/
          v_W1302(0x8e,0x80);
          }
          /******************************************************
          * 名稱: donetime
          * 說(shuō)明:
          * 功能: 時(shí)間處理
          * 調(diào)用:
          * 輸入:
          * 返回值: 無(wú)
          **************************************************************/
          void donetime(void)
          {
          uchar d;
          d=uc_R1302(0x81);
          time[6]=d/16+48;
          time[7]=d%16+48;
          d=uc_R1302(0x83);
          time[3]=d/16+48;
          time[4]=d%16+48;
          d=uc_R1302(0x85);
          time[0]=d/16+48;
          time[1]=d%16+48;
          //bcd_int(d);
          }

          //
          /*void bcd_int(uchar i)
          {
          uchar j;
          time[0]=(i0x0f)+48;
          j=i>>4;
          time[1]=(j0x0f)+48;
          } */
          //
          /*void bcdtoInt(void)
          {
          uchar i;
          for(i=0;i7;i++)
          bcd_int(ucCurtm[i]);
          }*/
          //
          void SetTime(void)
          {
          v_W1302(0x8e,0x00);
          v_W1302(0x80,0x80);
          v_W1302(0x82,min);
          v_W1302(0x84,hou);
          v_W1302(0x86,day);
          v_W1302(0x88,mon);
          v_W1302(0x8c,yea);
          v_W1302(0x80,0x00);
          v_W1302(0x8e,0x80);
          }


          上一頁(yè) 1 2 3 下一頁(yè)

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