串行模數(shù)轉(zhuǎn)換實(shí)驗(yàn)
一. 實(shí)驗(yàn)?zāi)康?/p>
熟悉A/D 轉(zhuǎn)換的工作原理,學(xué)習(xí)使用串行模數(shù)轉(zhuǎn)換芯片TLC549 進(jìn)行電壓信號(hào)的
采集和數(shù)據(jù)處理。
二. 實(shí)驗(yàn)設(shè)備及器件
IBM PC 機(jī) 一臺(tái)
DP-51PROC 單片機(jī)綜合仿真實(shí)驗(yàn)儀 一臺(tái)
萬(wàn)用表 一臺(tái)
三. 實(shí)驗(yàn)內(nèi)容
1. 編寫(xiě)程序,通過(guò)單片機(jī)的P1 口控制串行A/D 轉(zhuǎn)換芯片TLC549 實(shí)現(xiàn)模擬電壓信號(hào)
的采集。
2. 連接線(xiàn)路,調(diào)整TLC549 的輸入?yún)⒖茧妷簽?V(調(diào)節(jié)圖3.37 中的W3 電位器),
運(yùn)行程序?qū)崿F(xiàn)A/D 轉(zhuǎn)換和電壓信號(hào)采集。
四. 實(shí)驗(yàn)要求
理解掌握TLC549 的A/D 轉(zhuǎn)換原理和串行A/D 轉(zhuǎn)換器接口的編程方法,學(xué)會(huì)使用
TLC549 串行模數(shù)轉(zhuǎn)換器實(shí)現(xiàn)電壓信號(hào)采集的方案設(shè)計(jì)。
五. 實(shí)驗(yàn)步驟
1. 安裝B8 區(qū)JP17 的短路帽,然后將VCC(+5V 電源)與B8 區(qū)的REF+連接,將
B8 區(qū)的CLK、DAT、/CS 對(duì)應(yīng)連接到A2 區(qū)的P10、P11、P12 針上。
2. 使用導(dǎo)線(xiàn)將D2 區(qū)的10K 電位器連接為電壓調(diào)節(jié)模式,使用導(dǎo)線(xiàn)將其電壓調(diào)整端連
接到B8 區(qū)的ANIN 接線(xiàn)柱,作為T(mén)LC549 的模擬電壓信號(hào)輸入。
3. 打開(kāi)程序調(diào)試軟件,下載運(yùn)行編寫(xiě)好的程序,完成一次A/D 轉(zhuǎn)換,然后調(diào)節(jié)電位器
改變輸入模擬電壓,多次測(cè)量并保存測(cè)量數(shù)據(jù)。
4. 使用萬(wàn)用表測(cè)量輸入的模擬電壓信號(hào),分析采集到的A/D 轉(zhuǎn)換數(shù)據(jù)是否準(zhǔn)確。
參考電路圖如下所示:
六. 實(shí)驗(yàn)預(yù)習(xí)要求
認(rèn)真預(yù)習(xí)本節(jié)實(shí)驗(yàn)內(nèi)容,按照實(shí)驗(yàn)的要求提前做好實(shí)驗(yàn)準(zhǔn)備工作,認(rèn)真閱讀
TLC549 的數(shù)據(jù)手冊(cè)。
七. 實(shí)驗(yàn)參考程序
; 功能:用串行A/D 轉(zhuǎn)換器TL549 進(jìn)行一路模擬量的測(cè)量
; 驅(qū)動(dòng)TLC549,TLC549 是串行8 位ADC
; 使用的接口 /CS = P1.2, DAT = P1.1, CLK = P1.0
; 轉(zhuǎn)換結(jié)果保存于內(nèi)部RAM 30H 單元
CS BIT P1.2
DAT BIT P1.1
CLK BIT P1.0
AD_DATA DATA 30H
ORG 8000H
AJMP MAIN
ORG 8100H
MAIN:
MOV SP,#60H
ACALL TLC549_ADC
MOV R7,#0
DJNZ R7,$
ACALL TLC549_ADC ;讀取上次ADC 值,并再次啟動(dòng)AD 轉(zhuǎn)換
MOV AD_DATA,A
SJMP $
;TLC549 串行ADC 轉(zhuǎn)換器的驅(qū)動(dòng)程序
;TLC549 在讀出前一次數(shù)據(jù)后,馬上進(jìn)行電壓采樣,ADC 轉(zhuǎn)換,轉(zhuǎn)換完后就進(jìn)入HOLD
;模式,直到再次讀取數(shù)據(jù)時(shí),芯片才會(huì)進(jìn)行下一次AD 轉(zhuǎn)換。也就是說(shuō),本次讀出的
;數(shù)據(jù)是前一次的轉(zhuǎn)換值,讀操作后就會(huì)再啟動(dòng)一次轉(zhuǎn)換,一次轉(zhuǎn)換所用的時(shí)間最長(zhǎng)為
;17uS,芯片沒(méi)有轉(zhuǎn)換結(jié)束信號(hào)輸出。TLC549 ADC 轉(zhuǎn)換程序,讀取前一次轉(zhuǎn)換值并
;返回,然后再啟動(dòng)一次ADC 轉(zhuǎn)換。
TLC549_ADC:
CLR A
CLR CLK
CLR CS ;選中TLC549
MOV R6,#8
TLCAD_L1:
SETB CLK
NOP
NOP
MOV C,DAT
RLC A
CLR CLK ;DAT=0,為讀出下一位數(shù)據(jù)作準(zhǔn)備
NOP
DJNZ R6,TLCAD_L1
SETB CS ;禁能TLC549,再次啟動(dòng)AD 轉(zhuǎn)換
SETB CLK
RET
;
END
評(píng)論
查看更多