新聞中心

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

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

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

        /**************************************************
        *
        * 名稱: uc_R1302
        * 說明: 先寫地址,后讀命令/數(shù)據(jù)
        * 功能: 讀取DS1302某地址的數(shù)據(jù)
        * 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
        * 輸入: ucAddr: DS1302地址
        * 返回值: ucDa :讀取的數(shù)據(jù)
        ****************************************************/
        uchar uc_R1302(uchar ucAddr)
        {
        uchar ucDa;
        //OE=0;
        T_RST = 0;
        T_CLK = 0;
        T_RST = 1;
        v_WTInputByte(ucAddr); /* 地址,命令 */
        ucDa = uc_RTOutputByte(); /* 讀1Byte數(shù)據(jù) */
        T_CLK = 1;
        T_RST =0;
        //OE=1;
        return(ucDa);
        }
        /***********************************************
        *
        * 名稱: v_BurstW1302T
        * 說明: 先寫地址,后寫數(shù)據(jù)(時(shí)鐘多字節(jié)方式)
        * 功能: 往DS1302寫入時(shí)鐘數(shù)據(jù)(多字節(jié)方式)
        * 調(diào)用: v_RTInputByte()
        * 輸入: pSecDa: 時(shí)鐘數(shù)據(jù)地址 格式為: 秒 分 時(shí) 日 月 星期 年 控制
        * 8Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B 1B
        * 返回值: 無
        ******************************************************/
        /*void v_BurstW1302T(uchar *pSecDa)
        {
        uchar i;
        v_W1302(0x8e,0x00); //* 控制命令,WP=0,寫操作?
        T_RST = 0;
        T_CLK = 0;
        T_RST = 1;
        v_WTInputByte(0xbe); //* 0xbe:時(shí)鐘多字節(jié)寫命令
        for (i=8;i>0;i--) //*8Byte = 7Byte 時(shí)鐘數(shù)據(jù) + 1Byte 控制
        {
        v_WTInputByte(*pSecDa);//* 寫1Byte數(shù)據(jù)
        pSecDa++;
        }
        T_CLK = 1;
        T_RST =0;
        } */
        /*******************************************
        *
        * 名稱: v_BurstR1302T
        * 說明: 先寫地址,后讀命令/數(shù)據(jù)(時(shí)鐘多字節(jié)方式)
        * 功能: 讀取DS1302時(shí)鐘數(shù)據(jù)
        * 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
        * 輸入: pSecDa: 時(shí)鐘數(shù)據(jù)地址 格式為: 秒 分 時(shí) 日 月 星期 年
        * 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B
        * 返回值: ucDa :讀取的數(shù)據(jù)
        ***********************************************/
        /*void v_BurstR1302T(uchar *pSecDa)
        {
        uchar i;
        T_RST = 0;
        T_CLK = 0;
        T_RST = 1;
        v_WTInputByte(0xbf); //* 0xbf:時(shí)鐘多字節(jié)讀命令
        for (i=8; i>0; i--)
        {
        *pSecDa = uc_RTOutputByte(); //* 讀1Byte數(shù)據(jù)
        pSecDa++;
        }
        T_CLK = 1;
        T_RST =0;
        }*/
        /******************************************
        *
        * 名稱: v_BurstW1302R
        * 說明: 先寫地址,后寫數(shù)據(jù)(寄存器多字節(jié)方式)
        * 功能: 往DS1302寄存器數(shù)寫入數(shù)據(jù)(多字節(jié)方式)
        * 調(diào)用: v_RTInputByte()
        * 輸入: pReDa: 寄存器數(shù)據(jù)地址
        * 返回值: 無
        **********************************************/
        /*void v_BurstW1302R(uchar *pReDa)
        {
        uchar i;
        v_W1302(0x8e,0x00); //* 控制命令,WP=0,寫操作?
        T_RST = 0;
        T_CLK = 0;
        T_RST = 1;
        v_WTInputByte(0xfe); //* 0xbe:時(shí)鐘多字節(jié)寫命令
        for (i=31;i>0;i--) //*31Byte 寄存器數(shù)據(jù)
        {
        v_WTInputByte(*pReDa); //* 寫1Byte數(shù)據(jù)
        pReDa++;
        }
        T_CLK = 1;
        T_RST =0;
        } */


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 泰顺县| 安图县| 西乡县| 惠来县| 浪卡子县| 镇雄县| 云和县| 潞西市| 当涂县| 揭西县| 彭阳县| 新河县| 丹棱县| 林周县| 武乡县| 唐海县| 景谷| 陕西省| 靖远县| 搜索| 广南县| 威信县| 钟山县| 亳州市| 通州区| 丹巴县| 乐清市| 黎城县| 公安县| 曲周县| 江门市| 霍城县| 靖安县| 镇原县| 新沂市| 仙桃市| 日喀则市| 麻阳| 新巴尔虎左旗| 呼伦贝尔市| 神农架林区|