日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
時鐘芯片ds1302程序,調(diào)試通過(轉(zhuǎn)載)
時鐘芯片ds1302程序,調(diào)試通過(轉(zhuǎn)載)
 更新時間:2008-8-17 19:49:02  點(diǎn)擊數(shù):30
【字體: 字體顏色

void ChargeEnable();
void DsInit();

#endif
#include "DS1302.h"
#include <intrins.h>


/********************************************************************
*
* 名稱: OscEnable
*
說明:
*
功能: 時鐘停止位使能
* call: v_W1302
* in:   no
* return:no
*********************************************************************/
void OscEnable()
{
     WriDs(0x80,0);
}

/********************************************************************
*
* name: Osc24
* state:
* fun:  use 24 hour record
* call: v_W1302
* in:   no
* return:no
*********************************************************************/
void Osc24()
{
     WriDs(0x84,0);
}

/********************************************************************
*
*
名稱: ChargeEnable
* state:
* fun :
涓流充電使能
*
調(diào)用: v_W1302
* in:  no
*
返回值:
*********************************************************************/
void ChargeEnable()
{
     WriDs(0x90,0xa5); /*
涓流充電,一個二極管,一個2k的電阻*/
}

/********************************************************************
*
*
名稱:   DsInit()
*
說明:
* fun :  
時鐘芯片初始化
* call:   No
* in:     no
* return: no
*********************************************************************/
void DsInit()
{
     //T_CLK = 0;
     //T_RST = 0;
     //_nop_();
     //T_RST = 1;
     DSCLKLOW();
     DSRSTLOW();
     DSRSTHIGH();
     OscEnable();      /*
時鐘停止位使能      */
     WriDs(0x8e,0x0);  /*
允許寫入單個數(shù)據(jù)字節(jié) */
     ChargeEnable();   /*
充電使能            */
     Osc24();
}

/**************************************************
*
原型:void WriteDS(uchar addr, uchar dat)
*
功能:向ds1302時鐘芯片寫入數(shù)據(jù)
*
說明:無
*
參數(shù):dat 寫入數(shù)據(jù);addr 寫入地址
*
返回:無
**************************************************/
void WriDs(uchar addr, uchar dat)
{
    //uchar dsWriDsI;
    //uchar dsWriCh = 0x01;
    dsWriDsI = 0;
    dsWriCh  = 0x01;
    EA = 0;
    DSCLKLOW();
    DSRSTLOW();
    DSRSTHIGH();
    for(dsWriDsI = 0;  dsWriDsI < 8; dsWriDsI ++)
      {
            if(addr & dsWriCh)
            {
                DSDIO = 1;
            }
            else
            {
               DSDIO = 0;
            }
            dsWriCh = dsWriCh << 1;
            DSCLKHIGH();
            DSCLKLOW();
      }
      dsWriCh = 0x01;
      for(dsWriDsI = 0; dsWriDsI < 8; dsWriDsI ++)
      {
            if(dat & dsWriCh)
            {
                DSDIO = 1;
            }
            else
            {
                DSDIO = 0;
            }
            dsWriCh = dsWriCh << 1;
            DSCLKHIGH();
            DSCLKLOW();
      }
    DSRSTLOW();
    EA = 1;
}

/**************************************************
*
原型:uchar ReadDS(uchar addr)
*
功能:讀取ds時鐘內(nèi)容
*
說明:無
*
參數(shù):內(nèi)部寄存器地址
*
返回:寄存器內(nèi)容
**************************************************/
uchar ReadDs(uchar addr)
{
    //uchar dsReadDsK;
    //uchar dsReadCl;
    dsReadDsK = 0;
    dsReadCl  = 0;

    DSRSTLOW();
    DSCLKLOW();
    DSRSTHIGH();
    dsReadCl = 0x01;
    for(dsReadDsK = 0; dsReadDsK < 8; dsReadDsK ++)
      {
          if(addr & dsReadCl)
          {
              DSDIO = 1;
          }
          else
          {
              DSDIO = 0;
          }
          dsReadCl = dsReadCl << 1;
          DSCLKHIGH();
          DSCLKLOW();
      }
    dsReadCl = 0;
    for(dsReadDsK = 0; dsReadDsK < 8; dsReadDsK ++)
      {
          dsReadCl = dsReadCl >> 1;
          if(DSDIO)
          {
              dsReadCl = dsReadCl + 0x80;
          }
          DSCLKHIGH();
          DSCLKLOW();
      }
    DSRSTLOW();
    return(dsReadCl);
}

void SetTimer(uchar *pSetTimer)
{
    WriDs(YEAR_WRI, *(pSetTimer + 0));
    WriDs(MON_WRI , *(pSetTimer + 1));
    WriDs(DATE_WRI, *(pSetTimer + 2));
    WriDs(HR_WRI  , *(pSetTimer + 3));
    WriDs(MIN_WRI , *(pSetTimer + 4));
    WriDs(SEC_WRI , *(pSetTimer + 5));
}

void GetTimer(uchar *pGetTimer)
{
    *(pGetTimer + 0) = ReadDs(YEAR_READ);
    *(pGetTimer + 1) = ReadDs(MON_READ);
    *(pGetTimer + 2) = ReadDs(DATE_READ);
    *(pGetTimer + 3) = ReadDs(HR_READ);
    *(pGetTimer + 4) = ReadDs(MIN_READ);
    *(pGetTimer + 5) = ReadDs(SEC_READ);
}

  • 上一篇: DS1302時鐘芯片驅(qū)動程序
  • 下一篇: [轉(zhuǎn)載]語音錄放芯片ISD5116特點(diǎn)及應(yīng)用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1