DS1318與8051微控制器的接口
本應(yīng)用筆記演示了使用ds1318歷時(shí)計(jì)數(shù)器計(jì)算天數(shù)。軟件實(shí)例中包括基本的操作程序,并給出了應(yīng)用電路的原理圖。
計(jì)數(shù)器概述
該應(yīng)用筆記演示了如何使用ds1318歷時(shí)計(jì)數(shù)器,ds1318具有44位計(jì)數(shù)器,可提供244μs的計(jì)時(shí)分辨率。44位計(jì)數(shù)器通過(guò)6個(gè)8位寄存器(圖1)進(jìn)行訪問(wèn)。
從概念上來(lái)說(shuō),44位計(jì)數(shù)器可以分成一個(gè)12位亞秒級(jí)計(jì)數(shù)器和一個(gè)分辨率為一秒的32位計(jì)數(shù)器(圖2)。如果應(yīng)用種不需要亞秒級(jí)分辨率,則可訪問(wèn)32位秒計(jì)數(shù)器。
在本應(yīng)用筆記提供的示例中,軟件子程序每秒一次連續(xù)讀取32位秒計(jì)數(shù)器的數(shù)值,并通過(guò)8051微控制器(μc)的uart接口以ascii碼格式輸出時(shí)間和日期。時(shí)間和日期基于從1970年1月1日,00:00:00起所經(jīng)歷的時(shí)間,單位為秒。00000000h對(duì)應(yīng)的時(shí)間是1970年1月1日,00:00:00;42c924c0h對(duì)應(yīng)的時(shí)間為2005/7/4 12:00:00。
另一子程序?qū)⑵骷渲贸深l率為1hz的周期性中斷,每次發(fā)生中斷,中斷處理程序讀取計(jì)數(shù)器數(shù)據(jù),將時(shí)間轉(zhuǎn)換成日期格式,并通過(guò)urat以ascii格式輸出數(shù)據(jù)。
我們還提供其它例程,在其它例程中可以對(duì)ds1318進(jìn)行以下操作:可以將用戶輸入數(shù)據(jù)寫(xiě)入寄存器;將用戶輸入的時(shí)間和日期轉(zhuǎn)換成自1970年1月1日起所經(jīng)歷的時(shí)間,單位為秒;向計(jì)數(shù)器寫(xiě)入數(shù)據(jù)。另一子程序用于讀取ds1318寄存器,并以十六進(jìn)制格式輸出數(shù)據(jù)。
工作原理
本應(yīng)用筆記中的硬件電路將ds1318的數(shù)據(jù)放入μc的數(shù)據(jù)存儲(chǔ)空間。μc通過(guò)讀、寫(xiě)正確地址的數(shù)據(jù)存儲(chǔ)器訪問(wèn)ds1318寄存器。
本實(shí)例中采用ds80c323低電壓、8051兼容微控制器。用戶輸入數(shù)據(jù)和程序輸出數(shù)據(jù)都將傳遞到μc,通過(guò)pc終端仿真器的rs-232接口進(jìn)行通信。有關(guān)本應(yīng)用筆記中ds80c323微控制器的詳細(xì)信息可從公司網(wǎng)站下載。
程序清單如圖3所示,電路原理圖如圖4所示。
評(píng)論