新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于單片機的多功能電子萬年歷設計(一)

        基于單片機的多功能電子萬年歷設計(一)

        作者: 時間:2012-11-15 來源:網絡 收藏
        55); TEXT-ALIGN: center; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  基于單片機的多功能電子萬年歷設計(一)

          圖3 時鐘控制系統

          時鐘電路模塊工作原理

          DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置“0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如圖4所示。表1為DS1302的控制字,此控制字的位7必須置1,若為0則不能對DS1302進行讀寫數據。對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作。控制字節總是從最低位開始輸入/輸出的。表2為DS1302的日歷、時間寄存器內容:“CH”是時鐘暫停標志位,當該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態;當該位為0時,時鐘開始運行。“WP”是寫保護位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當“WP”為1時,寫保護位防止對任一寄存器的寫操作。

          DS1302的控制字節

          DS1302的控制字如表1所示。控制字節的高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節總是從最低位開始輸出。

          數據輸入輸出(I/O)

          在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。如圖4所示。

          表1 DS1302的控制字格式

          基于單片機的多功能電子萬年歷設計(一)

          基于單片機的多功能電子萬年歷設計(一)

          圖4 DS1302讀/寫時序圖

          DS1302的寄存器

          DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式,其日歷、時間寄存器及其控制字見表2。

          此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發寄存器及與RAM相關的寄存器等。時鐘突發寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態為一個8位的字節,其命令控制字為C0H~FDH,其中奇數為讀操作,偶數為寫操作;另一類為突發方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節,命令控制字為FEH(寫)、FFH(讀)。

          時鐘模塊實現功能

          該模塊為系統提供精準的秒、分、時、日、月、年等實時時間信息,星期則由編程計算得



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海口市| 蛟河市| 石嘴山市| 莱州市| 宜春市| 泸溪县| 瑞金市| 阳朔县| 仁寿县| 平和县| 灵璧县| 万年县| 汪清县| 长治市| 永新县| 莆田市| 抚远县| 富锦市| 武安市| 石棉县| 珲春市| 黑山县| 咸阳市| 南澳县| 突泉县| 香河县| 青铜峡市| 乐亭县| 新田县| 河曲县| 凤凰县| 白银市| 福鼎市| 秦安县| 道真| 秦皇岛市| 金寨县| 无锡市| 宿迁市| 赤壁市| 临湘市|