新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機-時鐘芯片DS1302

        51單片機-時鐘芯片DS1302

        作者: 時間:2016-12-02 來源:網絡 收藏
        在許多電子設備中,通常會進行一些與時間有關的控制,如果用系統的定時器來設計時鐘的話,偶然的掉電或晶振的誤差都會造成時間的錯亂,更糟糕的是,若完全用程序設計時鐘還會占用大量的系統資源,從而嚴重影響系統的其他功能。為此,很多芯片制造公司都設計出了各種各樣的實時時鐘芯片。
        常見的時鐘芯片有兩種。
        一種是體積非常小的表貼是元件,通常用在高端小型手持式儀器或設備中。這種芯片在使用時需要外接備份電池和外部晶振,電池用來保持主系統在意外時為時鐘芯片供電,外部晶振用來給時鐘芯片所必須的震蕩來源。
        另一種體積相對較大,一般為直插式,它的內部有可充電鋰電池,同時內部還集成了32.768KHZ的標準晶振。
        DS18B20是由DALLAS公司生產的,采用普通的32.768KHZ。
        DS18B20的內部結構:
        DS18B20的讀數據時序:
        如圖的數據序列,左邊是低位,右邊是高位,在負跳變沿進行讀數據,上升沿進行寫數據。
        DS18B20的寫數據時序:
        數據在SCLK在上升沿輸入,前8位指定訪問地址命令,在之后的時鐘周期,讀操作時輸出的數據,寫操作時輸入數據。時鐘脈沖的個數在單字節方式下為8個地址加8個數據。
        DS18B20的控制字:


        日歷時鐘寄存器與控制字對照:
        日歷時鐘寄存器:
        寄存器功能說明:
        萬年歷程序: #include <reg52.h>
        #define uchar unsigned char
        #define uint unsigned int
        uint i;
        sbit SCLK = P1^3;
        sbit IO = P1^4;
        sbit RST = P1^5;
        sbit RS = P1^0;
        sbit RW = P1^1;
        sbit E = P1^2;
        uchar Time_Data[]={0,1,2,3,4,5,6,7,8,9};

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 阿城市| 乐平市| 东丽区| 祁东县| 红桥区| 临泽县| 漳平市| 达日县| 黄骅市| 德州市| 阳信县| 西平县| 常德市| 沅江市| 广州市| 池州市| 岳阳市| 莲花县| 伊通| 色达县| 沈丘县| 当涂县| 河北省| 新津县| 沁水县| 永靖县| 余江县| 吕梁市| 衡南县| 娱乐| 井冈山市| 梁河县| 天津市| 荥阳市| 大邑县| 玉田县| 寿光市| 辉县市| 孟州市| 靖安县| 湘潭市|