久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2359|回復: 0
打印 上一主題 下一主題
收起左側

選擇時鐘芯片

[復制鏈接]
跳轉到指定樓層
樓主
ID:117433 發表于 2017-3-5 21:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 xizhe2005 于 2017-3-5 21:44 編輯

做過幾個時鐘,用過1302,DS12C887,都不太理想,既然是時鐘就要精準,結果過了兩天就差了幾分了,讓人比較苦惱,其中DS12C887用STC的
1T單片機怎么也讀不出來時間,只能用12T的單片機,用過這些后發現了DS3231這個時鐘芯片,價格差不多,比12C887還便宜,是內置晶振的,
到底有多精準,直觀的體會就是:過幾天和手機的時間一對分毫不差。一下是很實用簡單的程序:單片機是STC12C5A60S2,晶振11.0592M
#define DS3231_WriteAddress 0xD0    //器件寫地址
#define DS3231_ReadAddress  0xD1    //器件讀地址
#define DS3231_SECOND       0x00    //秒
#define DS3231_MINUTE       0x01    //分
#define DS3231_HOUR         0x02    //時
#define DS3231_WEEK         0x03    //星期
#define DS3231_DAY          0x04    //日
#define DS3231_MONTH        0x05    //月
#define DS3231_YEAR         0x06    //年
//啟動信號函數
void IICstart_ds3231(void)
{
        SDA=1;
        SCL=1;
        _nop_();
        _nop_();
        SDA=0;
        _nop_();
        _nop_();
        SCL=0;
}
//停止信號函數
void IICstop_ds3231(void)
{
        SDA=0;
        SCL=1;
        _nop_();
        _nop_();
        SDA=1;
        _nop_();
        _nop_();
        SCL=0;
}
//向IIC總線寫入一個字節函數
void Write1Byte_ds3231(unsigned char Buf1)
{
        unsigned char k;
        for(k=0;k<8;k++)
        {
                if(Buf1&0x80)
                        SDA=1;
                else
                        SDA=0;
                _nop_();
                _nop_();
                SCL=1;
                Buf1=Buf1<<1;
                _nop_();
                SCL=0;
                _nop_();
        }
        SDA=1;
        _nop_();
        SCL=1;
        _nop_();
        _nop_();
        SCL=0;
}
//從IIC讀出一個字節函數
unsigned char Read1Byte_ds3231()
{
        unsigned char k,t=0;
        for(k=0;k<8;k++)
        {
                t=t<<1;
                SDA=1;
                SCL=1;
                _nop_();
                _nop_();
                if(SDA==1)
                        t=t|0x01;
                else
                        t=t&0xfe;
                SCL=0;
                _nop_();
                _nop_();
        }
        return t;        
}
//向指定地址寫一個字節函數
void Write_ds3231(unsigned char Address,unsigned char Databuf)
{
        IICstart_ds3231();
        Write1Byte_ds3231(0xd0);//0xA0是IIC器件的寫地址1010 0000最低位為0為寫操作
        Write1Byte_ds3231(Address);
        Write1Byte_ds3231(Databuf);
        IICstop();
}
//從指定地址讀一個字節的函數
unsigned char ReadAT_ds3231(unsigned char Address)
{
        unsigned char buf;
        IICstart_ds3231();
        Write1Byte_ds3231(0xd0);
        Write1Byte_ds3231(Address);
        IICstart_ds3231();
        Write1Byte_ds3231(0xd1);
        buf=Read1Byte_ds3231();
        IICstop_ds3231();
        return(buf);
}





評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中国一级特黄毛片大片 | 国产剧情久久 | 亚洲v区| 国产欧美精品在线观看 | 免费国产成人av | 国产精品视频一区二区三区不卡 | 高清黄色毛片 | 日韩在线观看一区 | 欧美jizzhd精品欧美巨大免费 | 一区视频 | 天天射网站 | 91深夜福利视频 | 国产精品亚洲第一区在线暖暖韩国 | 欧美 日韩 国产 一区 | 国产综合视频 | 亚洲精品在线看 | 伊人伊成久久人综合网站 | 国产精品有限公司 | 国产亚洲精品久久久久动 | 久久精品免费 | 亚洲综合日韩精品欧美综合区 | 亚洲欧洲精品一区 | 成人在线免费视频观看 | 91久久精品一区二区二区 | 久久久精品日本 | 毛片在线看片 | 日韩 欧美 综合 | 国产伦精品一区二区三区精品视频 | 色婷婷影院 | 日本三级电影免费观看 | 国产高清在线观看 | 欧美aⅴ片 | 久久精品一区二区三区四区 | 久久久综合精品 | 欧美高清一级片 | 成人影院网站ww555久久精品 | 中文字幕久久精品 | 日日夜夜91 | 久久精品屋 | 亚洲天堂精品一区 | 亚洲 欧美 日韩 精品 |