摘 要:介紹采用AT89C51單片機(jī)與MAX195 A/D轉(zhuǎn)換器實現(xiàn)高精度數(shù)據(jù)采集的方法,分析其硬件接口及軟件編程技巧,并給出相應(yīng)的電路及程序代碼。<!--摘要CH(結(jié)束)←--> 參考文獻(xiàn)
<!--→關(guān)鍵CH(開始)--> 關(guān)鍵詞:單片機(jī);A/D轉(zhuǎn)換器;接口設(shè)計<!--關(guān)鍵CH(結(jié)束)←--><!--→標(biāo)題EN(開始)-->
1 MAX195引腳及說明
MAX195有16個引腳,其排列如圖1所示。
其中:CLK———變換時鐘輸入端;SCLK———串行時鐘輸入端,用于在兩次變換之輸出數(shù)據(jù);
———片選端,低電平有效;
———變換開始輸入端;
———變換/校準(zhǔn)結(jié)果輸出端,正常時為低電平,在變換/校準(zhǔn)開始時,由低變高,結(jié)束后,由高變低;DOUT———變換結(jié)果串行數(shù)據(jù)輸出端;REF———基準(zhǔn)電壓輸入端0~5V;
———復(fù)位輸入端,上升沿使MAX195復(fù)位并開始校準(zhǔn);
———雙極性/單極性/關(guān)閉方式選擇輸入端;AIN———模擬輸入端;VDDA、VSSA、VD-DD、VSSD分別為模擬的和數(shù)字的±5V電源;AGND、DGND分別為模擬地和數(shù)字地。
2 MAX195轉(zhuǎn)換原理及時序
MAX195片內(nèi)含有電容性的數(shù)字模擬變換器(DAC),可對模擬輸入進(jìn)行特有的跟蹤和保持,再由逐次逼近寄存器和比較器,在變換時鐘CLK的控制下,把模擬輸入變換成16位數(shù)字代碼,通過片內(nèi)的串行接口輸出。芯片內(nèi)的接口和控制邏輯易與大多數(shù)微處理器相連,減少了對外部元件的需求。
其變換及數(shù)據(jù)輸出的時序如圖2所示。
有效后的CLK時鐘下降沿開始(MAX195對信號的跟蹤/保持、采集需4個CLK周期)。同時,
在下一個時鐘下降沿變高,待經(jīng)過9.4μs(CLK為1.7MHz)變換結(jié)束后,由高變低,給出變換結(jié)束信號,可送去中斷或被查詢。變換結(jié)束由三態(tài)串行口DOUT端輸出。在變換期間由CLK控制讀出數(shù)據(jù),也可在兩次變換之間由SCLK串行時鐘定時讀出數(shù)據(jù),最高速率可達(dá)5Mbps。圖2中所示情況為后者,在
保持低電平后,在每個SCLK的下降沿,DOUT端按MSB在前的次序輸出一位數(shù)據(jù),否則,DOUT處于高阻態(tài)。
3 MAX195的校準(zhǔn)
MAX195在上電時自動進(jìn)行校準(zhǔn)。為了減少噪聲的影響,每一個校準(zhǔn)試驗進(jìn)行多次并對其結(jié)果求平均值。在時鐘頻率1.7MHz下,校準(zhǔn)大約需14000個時鐘周期或8.2ms。除了上電校準(zhǔn)之外,把
拉至低電平將使MAX195暫停工作,使
再次回到高電平便啟動一次新的校準(zhǔn)。
注:只有在上電延遲期間,電源尚未穩(wěn)定就開始上電校準(zhǔn)或電源電壓、環(huán)境溫度及時鐘頻率發(fā)生明顯變化時,才建議重新加以校準(zhǔn)。
軟件校準(zhǔn)參考子程序如下:

4 AT89C51與MAX195的接口設(shè)計
圖3為AT89C51與MAX195接口的硬件電路圖。
圖中AT89C51的ALE端輸出信號(等于1/6晶振頻率fosc=6MHz)作為CLK變換時鐘。P1.5作為MAX195的啟動控制端。
端懸空表示模擬信號可雙極性輸入,也可根據(jù)需要接+5V———單極性輸入;接地———關(guān)閉方式。
根據(jù)圖3,給出A/D采樣程序如下:


注:采樣結(jié)果保存在R2、R33中。
<!--→參考文獻(xiàn)CH(開始)-->
[2]何立民.I2C總線應(yīng)用設(shè)計[M].北京航空航天大學(xué)出版社, 1995.





