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

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

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

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


            上一頁 1 2 3 下一頁

            關(guān)鍵詞: 單片機(jī) ds1302 時鐘C程序

            評論


            相關(guān)推薦

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

            關(guān)閉