



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1/105 第第9章章 數(shù)模轉(zhuǎn)換器與模數(shù)轉(zhuǎn)換器數(shù)模轉(zhuǎn)換器與模數(shù)轉(zhuǎn)換器本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)了解數(shù)模轉(zhuǎn)換器的工作原理及性能指標(biāo)了解數(shù)模轉(zhuǎn)換器的工作原理及性能指標(biāo)掌握模數(shù)轉(zhuǎn)換器的應(yīng)用掌握模數(shù)轉(zhuǎn)換器的應(yīng)用了解數(shù)模轉(zhuǎn)換器的工作原理及性能指標(biāo)了解數(shù)模轉(zhuǎn)換器的工作原理及性能指標(biāo)掌握數(shù)模轉(zhuǎn)換器的應(yīng)用掌握數(shù)模轉(zhuǎn)換器的應(yīng)用2/105隨著數(shù)字電子技術(shù)及計算機技術(shù)的廣泛普及與應(yīng)用,隨著數(shù)字電子技術(shù)及計算機技術(shù)的廣泛普及與應(yīng)用,數(shù)字信號的傳輸與處理日趨普遍。數(shù)字信號的傳輸與處理日趨普遍。自然形態(tài)下的物理量多以自然形態(tài)下的物理量多以模擬量的形式模擬量的形式存在的,如溫存在的,如溫度、濕度、壓力、流量、速度等,實際生產(chǎn)
2、、生活和度、濕度、壓力、流量、速度等,實際生產(chǎn)、生活和科學(xué)實驗中還會遇到化學(xué)量、生物量(包括醫(yī)學(xué))等??茖W(xué)實驗中還會遇到化學(xué)量、生物量(包括醫(yī)學(xué))等。從信號工程的角度來看,要進行信號的計算機處理,從信號工程的角度來看,要進行信號的計算機處理,上述所有的物理量、化學(xué)量和生物量等都需要使用相上述所有的物理量、化學(xué)量和生物量等都需要使用相應(yīng)的傳感器,將其轉(zhuǎn)換成應(yīng)的傳感器,將其轉(zhuǎn)換成電信號(稱之為模擬量)電信號(稱之為模擬量)將模擬量轉(zhuǎn)換為計算機能夠識別處理的將模擬量轉(zhuǎn)換為計算機能夠識別處理的數(shù)字量數(shù)字量,而后,而后再進行信號的傳輸、處理、存儲、顯示和控制。再進行信號的傳輸、處理、存儲、顯示和控制。3
3、/105同樣,計算機控制外部設(shè)備時,如電動調(diào)節(jié)閥、同樣,計算機控制外部設(shè)備時,如電動調(diào)節(jié)閥、調(diào)速系統(tǒng)等,需要將計算機輸出的數(shù)字信號變調(diào)速系統(tǒng)等,需要將計算機輸出的數(shù)字信號變換成外設(shè)能夠接受的模擬信號。換成外設(shè)能夠接受的模擬信號。將模擬量轉(zhuǎn)換成數(shù)字量的器件稱為模數(shù)轉(zhuǎn)換器將模擬量轉(zhuǎn)換成數(shù)字量的器件稱為模數(shù)轉(zhuǎn)換器(Analog to Digital Converter,ADC),也稱),也稱為為A/D轉(zhuǎn)換器或者轉(zhuǎn)換器或者ADC器件;器件;將數(shù)字量轉(zhuǎn)換成模擬量的器件稱為數(shù)模轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)換成模擬量的器件稱為數(shù)模轉(zhuǎn)換器(Digital to Analog Converter,DAC),也稱),也稱為為
4、D/A轉(zhuǎn)換器。轉(zhuǎn)換器。4/105以單片機為核心,具有模擬量輸入和輸出的應(yīng)以單片機為核心,具有模擬量輸入和輸出的應(yīng)用系統(tǒng)結(jié)構(gòu)如圖所示。用系統(tǒng)結(jié)構(gòu)如圖所示。圖9-1 具有模擬量輸入輸出的單片機系統(tǒng) 5/105傳感器和變送器的區(qū)別傳感器和變送器的區(qū)別檢測儀表在模擬電子技術(shù)條件下,一般是包括檢測儀表在模擬電子技術(shù)條件下,一般是包括傳感器、檢測點取樣設(shè)備及放大器(進行抗干傳感器、檢測點取樣設(shè)備及放大器(進行抗干擾處理及信號傳輸),當(dāng)然還有電源及現(xiàn)場顯擾處理及信號傳輸),當(dāng)然還有電源及現(xiàn)場顯示部分(可選擇)。示部分(可選擇)。傳感器是一種把非電量轉(zhuǎn)變成電信號的器件。傳感器是一種把非電量轉(zhuǎn)變成電信號的器件。
5、電信號一般分為連續(xù)量、離散量兩種,實際上電信號一般分為連續(xù)量、離散量兩種,實際上還可分成模擬量、開關(guān)量、脈沖量等。還可分成模擬量、開關(guān)量、脈沖量等。6/105模擬信號一般采用模擬信號一般采用4-20mA DC的標(biāo)準(zhǔn)信號傳輸。的標(biāo)準(zhǔn)信號傳輸。數(shù)字化過程中,常常把傳感器和微處理器及通數(shù)字化過程中,常常把傳感器和微處理器及通信網(wǎng)絡(luò)接口封裝在一個器件(稱為檢測儀表)信網(wǎng)絡(luò)接口封裝在一個器件(稱為檢測儀表)中,完成信息獲取、處理、傳輸、存貯等功能。中,完成信息獲取、處理、傳輸、存貯等功能。在自動化儀表中經(jīng)常把檢測儀表稱為變送器,在自動化儀表中經(jīng)常把檢測儀表稱為變送器,如溫度變送器、壓力變送器等。如溫度變
6、送器、壓力變送器等。7/105本章內(nèi)容安排本章內(nèi)容安排本章首先介紹模數(shù)轉(zhuǎn)換器的工作原理及性能指本章首先介紹模數(shù)轉(zhuǎn)換器的工作原理及性能指標(biāo);標(biāo);然后介紹模數(shù)轉(zhuǎn)換器然后介紹模數(shù)轉(zhuǎn)換器ADS7852與單片機的接口與單片機的接口方法及編程應(yīng)用,介紹方法及編程應(yīng)用,介紹STC15F2K60S2單片機單片機片內(nèi)集成模數(shù)轉(zhuǎn)換模塊的使用;片內(nèi)集成模數(shù)轉(zhuǎn)換模塊的使用;最后介紹數(shù)模轉(zhuǎn)換器最后介紹數(shù)模轉(zhuǎn)換器TLV5616與單片機的接口與單片機的接口方法及編程應(yīng)用。方法及編程應(yīng)用。8/1059.1模數(shù)轉(zhuǎn)換器的工作原理及性能指標(biāo)一、模數(shù)轉(zhuǎn)換器的工作原理一、模數(shù)轉(zhuǎn)換器的工作原理根據(jù)轉(zhuǎn)換的工作原理不同,模數(shù)轉(zhuǎn)換器可以分根據(jù)
7、轉(zhuǎn)換的工作原理不同,模數(shù)轉(zhuǎn)換器可以分為計數(shù)為計數(shù)-比較式、逐次逼近式和雙斜率積分式。比較式、逐次逼近式和雙斜率積分式。計數(shù)計數(shù)-比較式模數(shù)轉(zhuǎn)換器結(jié)構(gòu)簡單,價格便宜,比較式模數(shù)轉(zhuǎn)換器結(jié)構(gòu)簡單,價格便宜,轉(zhuǎn)換速度慢,較少采用。轉(zhuǎn)換速度慢,較少采用。下面主要介紹逐次逼近式和雙斜率積分式模數(shù)下面主要介紹逐次逼近式和雙斜率積分式模數(shù)轉(zhuǎn)換器的工作原理。轉(zhuǎn)換器的工作原理。9/1051、逐次逼近式模數(shù)轉(zhuǎn)換器的工作原理、逐次逼近式模數(shù)轉(zhuǎn)換器的工作原理逐次逼近式模數(shù)轉(zhuǎn)換器電路框圖如圖所示。逐次逼近式模數(shù)轉(zhuǎn)換器電路框圖如圖所示。圖9-2 逐次逼近式模數(shù)轉(zhuǎn)換器的工作原理10/105逐次逼近式模數(shù)轉(zhuǎn)換器主要由逐次逼近式
8、模數(shù)轉(zhuǎn)換器主要由逐次逼近寄存器逐次逼近寄存器SAR、數(shù)字?jǐn)?shù)字/電壓轉(zhuǎn)換器電壓轉(zhuǎn)換器、比較器比較器、時序及控時序及控制邏輯制邏輯等部分組成。等部分組成。11/105工作過程工作過程當(dāng)模數(shù)轉(zhuǎn)換器收到當(dāng)模數(shù)轉(zhuǎn)換器收到“轉(zhuǎn)換命令轉(zhuǎn)換命令”并清除并清除SAR寄存器后,寄存器后,控制電路先設(shè)定控制電路先設(shè)定SAR中的最高位為中的最高位為“1”,其余位為,其余位為“0”,此預(yù)測數(shù)據(jù)被送至,此預(yù)測數(shù)據(jù)被送至D/A轉(zhuǎn)換器,轉(zhuǎn)換成電壓轉(zhuǎn)換器,轉(zhuǎn)換成電壓Vc。然后將然后將Vc與輸入模擬電壓與輸入模擬電壓Vx在高增益的比較器中進行在高增益的比較器中進行比較,比較器的的輸出為邏輯比較,比較器的的輸出為邏輯0或邏輯或邏輯
9、1。如果如果VxVc,說明此位置,說明此位置“1”是對的,應(yīng)予保留;如是對的,應(yīng)予保留;如果果VxVc,說明此位置,說明此位置“1”不合適,應(yīng)予清除。不合適,應(yīng)予清除。按該方法繼續(xù)對次高位進行轉(zhuǎn)換、比較和判斷,決定按該方法繼續(xù)對次高位進行轉(zhuǎn)換、比較和判斷,決定次高位應(yīng)取次高位應(yīng)取“1”還是取還是取“0”。重復(fù)上述過程,直至確定重復(fù)上述過程,直至確定SAR最低位為止。最低位為止。該過程完成后,狀態(tài)線改變狀態(tài),表示已完成一次完該過程完成后,狀態(tài)線改變狀態(tài),表示已完成一次完整的轉(zhuǎn)換,整的轉(zhuǎn)換,SAR中的內(nèi)容就是與輸入的模擬電壓對應(yīng)中的內(nèi)容就是與輸入的模擬電壓對應(yīng)的二進制數(shù)字代碼。的二進制數(shù)字代碼。1
10、2/1052、雙積分式模數(shù)轉(zhuǎn)換器的工作原理、雙積分式模數(shù)轉(zhuǎn)換器的工作原理雙積分式模數(shù)轉(zhuǎn)換器轉(zhuǎn)換方法的抗干擾能力比雙積分式模數(shù)轉(zhuǎn)換器轉(zhuǎn)換方法的抗干擾能力比逐次逼近式模數(shù)轉(zhuǎn)換器強。逐次逼近式模數(shù)轉(zhuǎn)換器強。該方法的基礎(chǔ)是測量兩個時間:該方法的基礎(chǔ)是測量兩個時間:一個是模擬輸入電壓向電容充電的固定時間一個是模擬輸入電壓向電容充電的固定時間另一個是在已知參考電壓下放電所需的時間另一個是在已知參考電壓下放電所需的時間模擬輸入電壓與參考電壓的比值就等于上述兩模擬輸入電壓與參考電壓的比值就等于上述兩個時間值之比。個時間值之比。13/105雙積分模數(shù)轉(zhuǎn)換器的組成框圖如圖所示。雙積分模數(shù)轉(zhuǎn)換器的組成框圖如圖所示。
11、圖9-3 雙積分式模數(shù)轉(zhuǎn)換器的組成框圖14/105雙積分式模數(shù)轉(zhuǎn)換器優(yōu)點雙積分式模數(shù)轉(zhuǎn)換器優(yōu)點具有精度高、抗干擾能力強的特點,在實際工具有精度高、抗干擾能力強的特點,在實際工程中得到了使用。程中得到了使用。由于逐次逼近式模數(shù)轉(zhuǎn)換技術(shù)能很好的兼顧速由于逐次逼近式模數(shù)轉(zhuǎn)換技術(shù)能很好的兼顧速度和精度,故在度和精度,故在16位以下的模數(shù)轉(zhuǎn)換器中得到位以下的模數(shù)轉(zhuǎn)換器中得到了廣泛應(yīng)用。了廣泛應(yīng)用。15/105二、模數(shù)轉(zhuǎn)換器的性能指標(biāo)二、模數(shù)轉(zhuǎn)換器的性能指標(biāo)A/D轉(zhuǎn)換器是實現(xiàn)單片機數(shù)據(jù)采集的常用外圍轉(zhuǎn)換器是實現(xiàn)單片機數(shù)據(jù)采集的常用外圍器件。器件。A/D轉(zhuǎn)換器的品種繁多,性能各異,在轉(zhuǎn)換器的品種繁多,性能各
12、異,在設(shè)計數(shù)據(jù)采集系統(tǒng)時,首先碰到的問題就是如設(shè)計數(shù)據(jù)采集系統(tǒng)時,首先碰到的問題就是如何選擇合適的何選擇合適的A/D轉(zhuǎn)換器以滿足系統(tǒng)設(shè)計的要轉(zhuǎn)換器以滿足系統(tǒng)設(shè)計的要求。求。選擇選擇A/D轉(zhuǎn)換器需要綜合考慮多項因素,如系轉(zhuǎn)換器需要綜合考慮多項因素,如系統(tǒng)技術(shù)指標(biāo)、成本、功耗、安裝等。統(tǒng)技術(shù)指標(biāo)、成本、功耗、安裝等。16/1051、分辨率、分辨率分辨率是分辨率是A/D轉(zhuǎn)換器能夠分辨最小信號的能轉(zhuǎn)換器能夠分辨最小信號的能力,表示數(shù)字量變化一個相鄰數(shù)碼所需輸入力,表示數(shù)字量變化一個相鄰數(shù)碼所需輸入模擬電壓的變化量。模擬電壓的變化量。分辨率越高,轉(zhuǎn)換時對輸入模擬信號變化的分辨率越高,轉(zhuǎn)換時對輸入模擬信號
13、變化的反應(yīng)就越靈敏。反應(yīng)就越靈敏。17/105例如,例如,8位位A/D轉(zhuǎn)換器能夠分辨出滿刻度的轉(zhuǎn)換器能夠分辨出滿刻度的1/256,若滿刻度輸入電壓為,若滿刻度輸入電壓為5V,則該,則該8位位A/D轉(zhuǎn)換器能夠分辨出輸入電壓變化的最小值為轉(zhuǎn)換器能夠分辨出輸入電壓變化的最小值為19.5mV。分辨率常用分辨率常用A/D轉(zhuǎn)換器輸出的二進制位數(shù)表示。轉(zhuǎn)換器輸出的二進制位數(shù)表示。常見的常見的A/D轉(zhuǎn)換器有轉(zhuǎn)換器有8位、位、10位、位、12位、位、14位位和和16位等。位等。18/105一般把一般把8位以下的位以下的ADC器件歸為低分辨率器件歸為低分辨率ADC器件;器件;912位的位的ADC器件稱為中分辨率器
14、件稱為中分辨率ADC器件;器件;13位以上的位以上的ADC器件稱為高分辨率器件稱為高分辨率ADC器件。器件。如何選擇如何選擇 10位以下的位以下的ADC器件誤差較大,器件誤差較大,11位以上位以上對減小誤差并無太大貢獻,但對對減小誤差并無太大貢獻,但對ADC器件的器件的要求卻提得過高。要求卻提得過高。因此,取因此,取10位或位或11位是合適位是合適的。的。由于模擬信號先經(jīng)過測量裝置,再經(jīng)由于模擬信號先經(jīng)過測量裝置,再經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換后才進行處理,因此,總的誤差是轉(zhuǎn)換器轉(zhuǎn)換后才進行處理,因此,總的誤差是由測量誤差和量化誤差共同構(gòu)成的。由測量誤差和量化誤差共同構(gòu)成的。19/105A/D轉(zhuǎn)換器的精
15、度應(yīng)與測量裝置的精度相匹配。轉(zhuǎn)換器的精度應(yīng)與測量裝置的精度相匹配。一方面要求量化誤差在總誤差中所占的比重要一方面要求量化誤差在總誤差中所占的比重要小,使它不顯著地擴大測量誤差;小,使它不顯著地擴大測量誤差;另一方面必須根據(jù)目前測量裝置的精度水平,另一方面必須根據(jù)目前測量裝置的精度水平,對對A/D轉(zhuǎn)換器的位數(shù)提出恰當(dāng)?shù)囊?。轉(zhuǎn)換器的位數(shù)提出恰當(dāng)?shù)囊蟆?0/1052、通道、通道有的單芯片內(nèi)部含有多個有的單芯片內(nèi)部含有多個ADC模塊,可同時模塊,可同時實現(xiàn)多路信號的轉(zhuǎn)換;實現(xiàn)多路信號的轉(zhuǎn)換;常見的多路常見的多路ADC器件只有一個公共的器件只有一個公共的ADC模模塊,由一個多路轉(zhuǎn)換開關(guān)實現(xiàn)分時轉(zhuǎn)換。
16、塊,由一個多路轉(zhuǎn)換開關(guān)實現(xiàn)分時轉(zhuǎn)換。3、基準(zhǔn)電壓、基準(zhǔn)電壓基準(zhǔn)電壓有內(nèi)、外基準(zhǔn)和單、雙基準(zhǔn)之分?;鶞?zhǔn)電壓有內(nèi)、外基準(zhǔn)和單、雙基準(zhǔn)之分。21/1054、轉(zhuǎn)換速率、轉(zhuǎn)換速率轉(zhuǎn)換時間轉(zhuǎn)換時間:A/D轉(zhuǎn)換器從啟動轉(zhuǎn)換到轉(zhuǎn)換結(jié)束,轉(zhuǎn)換器從啟動轉(zhuǎn)換到轉(zhuǎn)換結(jié)束,輸出穩(wěn)定的數(shù)字量,需要的一定的轉(zhuǎn)換時間。輸出穩(wěn)定的數(shù)字量,需要的一定的轉(zhuǎn)換時間。轉(zhuǎn)換速率:轉(zhuǎn)換速率:轉(zhuǎn)換時間的倒數(shù)就是每秒鐘能完成轉(zhuǎn)換時間的倒數(shù)就是每秒鐘能完成的轉(zhuǎn)換次數(shù)。的轉(zhuǎn)換次數(shù)。A/D轉(zhuǎn)換器的型號不同,轉(zhuǎn)換時間不同。逐次轉(zhuǎn)換器的型號不同,轉(zhuǎn)換時間不同。逐次逼近式單片逼近式單片A/D轉(zhuǎn)換器轉(zhuǎn)換時間的典型值為轉(zhuǎn)換器轉(zhuǎn)換時間的典型值為1.0200s。
17、22/105應(yīng)根據(jù)輸入信號的最高頻率來確定應(yīng)根據(jù)輸入信號的最高頻率來確定ADC轉(zhuǎn)換速度,保轉(zhuǎn)換速度,保證轉(zhuǎn)換器的轉(zhuǎn)換速率要高于系統(tǒng)要求的采樣頻率。證轉(zhuǎn)換器的轉(zhuǎn)換速率要高于系統(tǒng)要求的采樣頻率。確定確定A/D轉(zhuǎn)換器的轉(zhuǎn)換速率時,應(yīng)考慮系統(tǒng)的采樣速轉(zhuǎn)換器的轉(zhuǎn)換速率時,應(yīng)考慮系統(tǒng)的采樣速率。率。例如,如果用轉(zhuǎn)換時間為例如,如果用轉(zhuǎn)換時間為100s的的A/D轉(zhuǎn)換器,則其轉(zhuǎn)轉(zhuǎn)換器,則其轉(zhuǎn)換速率為換速率為10KHz。根據(jù)采樣定理和實際需要,一個周。根據(jù)采樣定理和實際需要,一個周期的波形需采期的波形需采10個樣點,那么這樣的個樣點,那么這樣的A/D轉(zhuǎn)換器最高轉(zhuǎn)換器最高也只有處理頻率為也只有處理頻率為1KHz的
18、模擬信號。對一般的單片的模擬信號。對一般的單片機而言,在如此高的采樣頻率下,要在采樣時間內(nèi)完機而言,在如此高的采樣頻率下,要在采樣時間內(nèi)完成成A/D轉(zhuǎn)換以外的工作,如讀取數(shù)據(jù)、再啟動、保存轉(zhuǎn)換以外的工作,如讀取數(shù)據(jù)、再啟動、保存數(shù)據(jù)、循環(huán)計數(shù)等已經(jīng)比較困難了。數(shù)據(jù)、循環(huán)計數(shù)等已經(jīng)比較困難了。23/1055、采樣、采樣/保持器保持器采樣采樣/保持也稱為跟蹤保持也稱為跟蹤/保持(保持(Track/Hold縮寫縮寫T/H)。)。原則上采集直流和變化非常緩慢的模擬信號時原則上采集直流和變化非常緩慢的模擬信號時可不用采樣保持器??刹挥貌蓸颖3制鳌τ谄渌M信號一般都要加采樣保持器。如對于其他模擬信號一
19、般都要加采樣保持器。如果信號頻率不高,果信號頻率不高,A/D轉(zhuǎn)換器的轉(zhuǎn)換時間短,轉(zhuǎn)換器的轉(zhuǎn)換時間短,即使用高速即使用高速A/D轉(zhuǎn)換器時,也可不用采樣轉(zhuǎn)換器時,也可不用采樣/保持保持器。器。24/1056、量程、量程量程即所能轉(zhuǎn)換的電壓范圍,如量程即所能轉(zhuǎn)換的電壓范圍,如2.5V、5V和和10V。7、滿刻度誤差、滿刻度誤差滿度輸出時對應(yīng)的輸入信號與理想輸入信號值滿度輸出時對應(yīng)的輸入信號與理想輸入信號值之差稱為滿刻度誤差。之差稱為滿刻度誤差。8、線性度、線性度實際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移實際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移稱為線性度。稱為線性度。25/1059、數(shù)字接口方式、數(shù)字接
20、口方式根據(jù)轉(zhuǎn)換的數(shù)據(jù)輸出接口方式,根據(jù)轉(zhuǎn)換的數(shù)據(jù)輸出接口方式,A/D轉(zhuǎn)換器可轉(zhuǎn)換器可以分為并行接口和串行接口兩種方式。以分為并行接口和串行接口兩種方式。并行方式一般在轉(zhuǎn)換后可直接接收,但芯片的并行方式一般在轉(zhuǎn)換后可直接接收,但芯片的引腳比較多;引腳比較多;串行方式所用芯片引腳少,封裝小,但需要軟串行方式所用芯片引腳少,封裝小,但需要軟件處理才能得到所需要的數(shù)據(jù)。件處理才能得到所需要的數(shù)據(jù)。在單片機在單片機I/O引腳不多的情況下,使用串行器引腳不多的情況下,使用串行器件可以節(jié)省件可以節(jié)省I/O資源。資源。但是并行器件具有明顯的轉(zhuǎn)換速度優(yōu)勢。在轉(zhuǎn)但是并行器件具有明顯的轉(zhuǎn)換速度優(yōu)勢。在轉(zhuǎn)換速度要求較
21、高的情況下應(yīng)選用并行器件。換速度要求較高的情況下應(yīng)選用并行器件。26/10510、模擬信號類型、模擬信號類型通常通常ADC器件的模擬輸入信號都是電壓信號。器件的模擬輸入信號都是電壓信號。同 時 根 據(jù) 信 號 是 否 過 零 , 還 分 成 單 極 性同 時 根 據(jù) 信 號 是 否 過 零 , 還 分 成 單 極 性(Unipolar)信號和雙極性()信號和雙極性(Bipolar)信號。)信號。11、電源電壓、電源電壓電源電壓有單電源,雙電源和不同電壓范圍之電源電壓有單電源,雙電源和不同電壓范圍之分,早期的分,早期的ADC器件要有器件要有+15V/-15V,如果選,如果選用單用單+5V電源的芯
22、片則可以使用單片機系統(tǒng)電電源的芯片則可以使用單片機系統(tǒng)電源。源。27/10512、功耗、功耗一般一般CMOS工藝的芯片功耗較低,對于電池供工藝的芯片功耗較低,對于電池供電的手持系統(tǒng)對功耗要求比較高的場合一定要電的手持系統(tǒng)對功耗要求比較高的場合一定要注意功耗指標(biāo)。注意功耗指標(biāo)。13、封裝、封裝常見的封裝有雙列直插封裝(常見的封裝有雙列直插封裝(Dual In-line Package, DIP)和表貼型()和表貼型(Surface Mount Devices, SMD)封裝。)封裝。28/1059.2模數(shù)轉(zhuǎn)換器的應(yīng)用模數(shù)轉(zhuǎn)換器的應(yīng)用 本節(jié)首先分別介紹德州儀器公司生產(chǎn)的本節(jié)首先分別介紹德州儀器公司
23、生產(chǎn)的A/D轉(zhuǎn)換器轉(zhuǎn)換器ADS7852的應(yīng)用方法,然后介紹的應(yīng)用方法,然后介紹STC15F2K60S2單片機片內(nèi)集成的單片機片內(nèi)集成的ADC模塊的模塊的使用。使用。29/105一、一、12位并行位并行A/D轉(zhuǎn)換器轉(zhuǎn)換器ADS7852及其應(yīng)用及其應(yīng)用1、ADS7852簡介簡介ADS7852是德州儀器公司(是德州儀器公司(Texas Instruments,TI)生產(chǎn)的一款高速逐次逼近式)生產(chǎn)的一款高速逐次逼近式A/D轉(zhuǎn)換器。轉(zhuǎn)換器。30/105具有以下主要特點:具有以下主要特點:帶有采樣保持器帶有采樣保持器具有具有8路模擬量輸入、并行路模擬量輸入、并行12位輸出位輸出內(nèi)部帶有內(nèi)部帶有2.5V的參
24、考電壓源,輸入的采樣電壓的參考電壓源,輸入的采樣電壓可以從可以從0V到到2倍的參考電壓值倍的參考電壓值500kHz的采樣頻率,轉(zhuǎn)換時間最大只需的采樣頻率,轉(zhuǎn)換時間最大只需1.75s單極性單極性5V工作電壓工作電壓低功耗:低功耗:13mW封裝形式為封裝形式為TQFP工作溫度為工作溫度為-40到到+8031/105ADS7852的引腳圖如圖的引腳圖如圖9-4所示。所示。圖9-4 ADS7852的引腳圖32/105各引腳的功能介紹如下:各引腳的功能介紹如下:AIN0AIN7:8路模擬量輸入引腳。路模擬量輸入引腳。DB0DB11:12位數(shù)字量輸出,其中位數(shù)字量輸出,其中DB0為最低位,為最低位,DB1
25、1為最高位。為最高位。A0A2:8路模擬輸入的地址選擇。路模擬輸入的地址選擇。Vss:電源電壓,正常接:電源電壓,正常接+5V。VREF:外接參考電壓。若不用外接參考電壓,可在此:外接參考電壓。若不用外接參考電壓,可在此引腳和電源地之間接引腳和電源地之間接2.2F和和0.1F去耦電容各一個。去耦電容各一個。AGND和和DGND:分別為模擬地和數(shù)字地。:分別為模擬地和數(shù)字地。CLK:外部時鐘輸入(:外部時鐘輸入(200KHz8MHz),時鐘的選),時鐘的選擇取決于采樣速度擇取決于采樣速度fCLK=16*fSAMPLE。33/105 :忙指示輸出,低電平有效。轉(zhuǎn)換期間保:忙指示輸出,低電平有效。轉(zhuǎn)
26、換期間保持低電平,轉(zhuǎn)換結(jié)束后變?yōu)楦唠娖?。持低電平,轉(zhuǎn)換結(jié)束后變?yōu)楦唠娖健?:片選信號,輸入,低電平有效。:片選信號,輸入,低電平有效。/CS和和/WR變低時,開始一次新的轉(zhuǎn)換。變低時,開始一次新的轉(zhuǎn)換。 :讀信號,輸入,低電平有效。:讀信號,輸入,低電平有效。/RD和和/CS一起有效時用來讀取轉(zhuǎn)換后的數(shù)據(jù)。也用來設(shè)一起有效時用來讀取轉(zhuǎn)換后的數(shù)據(jù)。也用來設(shè)置使芯片工作于省電模式。置使芯片工作于省電模式。 :寫信號,輸入,低電平有效。:寫信號,輸入,低電平有效。/WR與與/CS同時有效時開始一次新的轉(zhuǎn)換,也用來選擇模同時有效時開始一次新的轉(zhuǎn)換,也用來選擇模擬量輸入通道。擬量輸入通道。BUSYCSR
27、DWR34/1052、ADS7852的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)ADS7852的內(nèi)部結(jié)構(gòu)如圖所示。的內(nèi)部結(jié)構(gòu)如圖所示。圖9-5 ADS7852的內(nèi)部結(jié)構(gòu)圖35/105ADS7852是逐次逼近型是逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換器一個一個8通道模擬開關(guān)通道模擬開關(guān)通信雙向存取控制器(通信雙向存取控制器(CDAC)比較器(比較器(Comparator)逐次比較邏輯寄存器(逐次比較邏輯寄存器(SAR)內(nèi)部基準(zhǔn)電壓源內(nèi)部基準(zhǔn)電壓源參考電壓緩沖器參考電壓緩沖器輸出鎖存和三態(tài)驅(qū)動器等。輸出鎖存和三態(tài)驅(qū)動器等。轉(zhuǎn)換結(jié)果通過三態(tài)并行數(shù)據(jù)總線輸出。轉(zhuǎn)換結(jié)果通過三態(tài)并行數(shù)據(jù)總線輸出。36/105工作過程工作過程首先置低引腳,然
28、后通過設(shè)置首先置低引腳,然后通過設(shè)置A2、A1和和A0的值的值來選擇輸入通道(來選擇輸入通道(000111分別對應(yīng)分別對應(yīng)07通通道),置低道),置低/WR引腳開始啟動引腳開始啟動A/D轉(zhuǎn)換。轉(zhuǎn)換。在在A/D轉(zhuǎn)換期間,轉(zhuǎn)換期間,/BUSY引腳輸出低電平并保持引腳輸出低電平并保持到轉(zhuǎn)換結(jié)束。轉(zhuǎn)換完成后,到轉(zhuǎn)換結(jié)束。轉(zhuǎn)換完成后, /BUSY引腳輸出變引腳輸出變?yōu)楦唠娖?,在為高電平,在DB11DB0上輸出上輸出12位有效數(shù)據(jù),位有效數(shù)據(jù),等待處理器讀取,一次轉(zhuǎn)換完成。等待處理器讀取,一次轉(zhuǎn)換完成。 /BUSY引腳引腳的上升沿可以鎖存的上升沿可以鎖存12位轉(zhuǎn)換數(shù)據(jù)。位轉(zhuǎn)換數(shù)據(jù)。需要注意的是,在需要注意
29、的是,在A/D轉(zhuǎn)換之后,當(dāng)轉(zhuǎn)換之后,當(dāng)/RD和和/CS變?yōu)楦唠娖綍r,變?yōu)楦唠娖綍r,A1和和A0腳應(yīng)保持低電平,否則腳應(yīng)保持低電平,否則ADS7852將進入掉電模式。將進入掉電模式。37/1053、通道選擇、通道選擇ADS7852有有8路輸入,通過設(shè)置路輸入,通過設(shè)置A0、A1、A2來選擇哪一路輸入,具體的選擇控制字如表所來選擇哪一路輸入,具體的選擇控制字如表所示。示。A2A1A0通道號通道號000通道通道0001通道通道1010通道通道2011通道通道3100通道通道4101通道通道5110通道通道6111通道通道7表9-1 ADS7852的通道選擇控制字38/1054、ADS78752的接口
30、應(yīng)用的接口應(yīng)用【例【例9-1】ADS78752與與STC15F2K60S2單片機的單片機的接口電路如圖所示。接口電路如圖所示。圖9-6 ADS78752的接口連接39/105硬件電路說明硬件電路說明由于由于ADS7852是是12位輸出,而位輸出,而STC15F2K60S2單單片 機 的 數(shù) 據(jù) 線 只 有片 機 的 數(shù) 據(jù) 線 只 有 8 位 , 所 以 使 用位 , 所 以 使 用STC15F2K60S2的的P0口與口與ADS7852的低的低8位數(shù)據(jù)位數(shù)據(jù)(DB0DB7)相連。)相連。ADS7852的高的高4位(位(DB8DB11)通過鎖存器)通過鎖存器74LS573與與STC15F2K60
31、S2的的Pl口低口低4位位(P1.0P1.3)相連。)相連。40/105當(dāng)當(dāng)A/D轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束STC15F2K60S2讀取轉(zhuǎn)換結(jié)果讀取轉(zhuǎn)換結(jié)果時,數(shù)據(jù)的低時,數(shù)據(jù)的低8位(位(DB0DB7)被直接讀入)被直接讀入STC15F2K60S2內(nèi)部,而在內(nèi)部,而在/RD信號的上升沿,信號的上升沿,數(shù)據(jù)的高數(shù)據(jù)的高4位(位(DB8DB11)被)被74HC573鎖存鎖存在在STC15F2K60S2的的Pl口低口低4位(位(P1.0P1.3),),等待被讀取。等待被讀取。STC15F2K60S2單片機的時鐘輸出單片機的時鐘輸出CLKOUT0作為作為ADS7852的時鐘,頻率設(shè)置為的時鐘,頻率設(shè)置為250
32、KHz。41/105ADS7852的的/BUSY信號與信號與STC15F2K60S2的的P 3 . 2 連 接 。 在連 接 。 在 A / D 轉(zhuǎn) 換 結(jié) 束 后 , 通 知轉(zhuǎn) 換 結(jié) 束 后 , 通 知STC15F2K60S2及時讀取數(shù)據(jù)。及時讀取數(shù)據(jù)。在電路設(shè)計中,一般在在電路設(shè)計中,一般在Vss和地之間接一個和地之間接一個0.1uF的瓷片電容和的瓷片電容和10uF的鉭電容,起濾波和的鉭電容,起濾波和解耦的作用。解耦的作用。42/105示例程序代碼如下:示例程序代碼如下:#include stc15.h /包含包含STC15F2K60S2單片機寄存器定義文件單片機寄存器定義文件/P2.7
33、 為片選信號為片選信號; P3.5/T0CLK0為提供為提供AD轉(zhuǎn)換時鐘轉(zhuǎn)換時鐘sbit busy=P32; /P3.2 為為AD轉(zhuǎn)換狀態(tài)檢測位轉(zhuǎn)換狀態(tài)檢測位sbit A0=P15; /P1.5,P1.6,P1.7為通道選擇位為通道選擇位sbit A1=P16;sbit A2=P17; void main(void) int ADdata;char highdata,lowdata;char xdata *ADS7852; ADS7852=0 x7fff; /AD7852的地址的地址TMOD=0 x02; /T0工作在方式工作在方式2,8位自動重裝位自動重裝TH0=254; /12/12/2/
34、2=0.25MHZINT_CLKO=INT_CLKO|0 x1; /T0輸出時鐘輸出時鐘TR0=1;/啟動啟動T0A0=0; A1=0; A2=0; /選擇通道選擇通道0 *ADS7852=0 x00; /寫操作,開始寫操作,開始AD轉(zhuǎn)換轉(zhuǎn)換43/105while(1) if(busy=1)/判斷是否轉(zhuǎn)換完畢判斷是否轉(zhuǎn)換完畢lowdata=*ADS7852; ADdata=P1; ADdata= (ADdata8) +lowdata; /數(shù)據(jù)處理數(shù)據(jù)處理 *ADS7852=0 x00; /開始下一次開始下一次AD轉(zhuǎn)換轉(zhuǎn)換44/105二、二、STC15F2K60S2集成的集成的A/D模塊的結(jié)構(gòu)及
35、其模塊的結(jié)構(gòu)及其使用使用STC15F2K60S2單片機集成有單片機集成有8路路10位高速電位高速電壓輸入型模數(shù)轉(zhuǎn)換器(壓輸入型模數(shù)轉(zhuǎn)換器(ADC),速度可達到),速度可達到300KHz(30萬次萬次/秒),可做溫度檢測、壓力秒),可做溫度檢測、壓力檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。45/1051、模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)及相關(guān)寄存器模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)及相關(guān)寄存器STC15F2K60S2單片機片內(nèi)集成單片機片內(nèi)集成8通道通道10位模位模數(shù)轉(zhuǎn)換器(數(shù)轉(zhuǎn)換器(ADC)。)。ADC輸入通道與輸入通道與P1口復(fù)用,上電復(fù)位后口復(fù)用,上電復(fù)位后P1口口為弱上拉型為弱
36、上拉型I/O口,用戶可以通過軟件設(shè)置將口,用戶可以通過軟件設(shè)置將8路中的任何一路設(shè)置為路中的任何一路設(shè)置為ADC功能,不作為功能,不作為ADC使用的口可繼續(xù)作為使用的口可繼續(xù)作為I/O口使用??谑褂?。46/105(1)模數(shù)轉(zhuǎn)換器的結(jié)構(gòu))模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)STC15F2K60S2單片機單片機ADC的結(jié)構(gòu)如圖所示。的結(jié)構(gòu)如圖所示。圖圖9-7 STC15F2K60S2單片機單片機ADC結(jié)構(gòu)圖結(jié)構(gòu)圖 47/105STC15F2K60S2的的ADC組成組成多路選擇開關(guān)多路選擇開關(guān)比較器比較器逐次比較寄存器逐次比較寄存器10位位DAC轉(zhuǎn)換結(jié)果寄存器(轉(zhuǎn)換結(jié)果寄存器(ADC_RES和和ADC_RESL)ADC
37、控制寄存器控制寄存器ADC_CONTR48/105STC15F2K60S2的的ADC轉(zhuǎn)換原理轉(zhuǎn)換原理STC15F2K60S2的的ADC是逐次比較型模數(shù)轉(zhuǎn)換是逐次比較型模數(shù)轉(zhuǎn)換器。器。逐次比較型逐次比較型ADC由一個比較器和由一個比較器和D/A轉(zhuǎn)換器構(gòu)轉(zhuǎn)換器構(gòu)成,通過逐次比較邏輯,從最高位(成,通過逐次比較邏輯,從最高位(MSB)開)開始,順序地對每一輸入電壓與內(nèi)置始,順序地對每一輸入電壓與內(nèi)置D/A轉(zhuǎn)換器轉(zhuǎn)換器輸出進行比較,經(jīng)多次比較,使轉(zhuǎn)換所得的數(shù)輸出進行比較,經(jīng)多次比較,使轉(zhuǎn)換所得的數(shù)字量逐次逼近輸入模擬量對應(yīng)值。字量逐次逼近輸入模擬量對應(yīng)值。49/105(2)參考電壓源)參考電壓源STC
38、15F2K60S2單片機單片機ADC模塊的參考電壓源模塊的參考電壓源是輸入工作電壓是輸入工作電壓Vcc,一般不用外接參考電壓,一般不用外接參考電壓源。源。如果如果Vcc不穩(wěn)定(例如電池供電的系統(tǒng)中,電不穩(wěn)定(例如電池供電的系統(tǒng)中,電池電壓常常在池電壓常常在5.3V-4.2V之間漂移),之間漂移), 則可以則可以在在8路路A/D轉(zhuǎn)換的一個通道外接一個穩(wěn)定的參轉(zhuǎn)換的一個通道外接一個穩(wěn)定的參考電壓源,計算出此時的工作電壓考電壓源,計算出此時的工作電壓Vcc,再計,再計算出其他幾路算出其他幾路A/D轉(zhuǎn)換通道的電壓。轉(zhuǎn)換通道的電壓。50/105(3)與)與ADC有關(guān)的特殊功能寄存器有關(guān)的特殊功能寄存器1
39、)P1口模擬功能控制寄存器口模擬功能控制寄存器P1ASFP1ASF(地址為(地址為9DH,復(fù)位值為,復(fù)位值為00H)各位的)各位的定義如下:定義如下:位號位號D7D6D5D4D3D2D1D0位名稱位名稱P17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF51/105如果要使用相應(yīng)口的模擬功能,需將如果要使用相應(yīng)口的模擬功能,需將P1ASF特特殊功能寄存器中的相應(yīng)位置為殊功能寄存器中的相應(yīng)位置為1。如,若要使用如,若要使用P1.6的模擬量功能,則需要將的模擬量功能,則需要將P16ASF設(shè)置為設(shè)置為1。注意,注意,P1ASF寄存器不能位尋址,可以使用匯寄
40、存器不能位尋址,可以使用匯編語言指令編語言指令ORL P1ASF, #40H,也可以使用,也可以使用C語言語句語言語句P1ASF |= 0 x40;位號位號D7D6D5D4D3D2D1D0位名稱位名稱P17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF52/1052)ADC控制寄存器控制寄存器ADC_CONTRADC_CONTR(地址為(地址為BCH,復(fù)位值為,復(fù)位值為00H)各位的定義如下:各位的定義如下:位號位號D7D6D5D4D3D2D1D0位名位名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1
41、CHS0ADC_POWER:ADC電源控制位。電源控制位。0:關(guān)閉:關(guān)閉ADC電源。電源。1:打開:打開ADC電源。電源。53/105說明說明建議進入空閑模式前,將建議進入空閑模式前,將ADC電源關(guān)閉,即電源關(guān)閉,即ADC_POWER =0。啟動啟動A/D轉(zhuǎn)換前一定要確認(rèn)轉(zhuǎn)換前一定要確認(rèn)ADC電源已打開,電源已打開,A/D轉(zhuǎn)換結(jié)束后關(guān)閉轉(zhuǎn)換結(jié)束后關(guān)閉ADC電源可降低功耗,也電源可降低功耗,也可不關(guān)閉??刹魂P(guān)閉。初次打開內(nèi)部初次打開內(nèi)部ADC轉(zhuǎn)換模擬電源,需適當(dāng)延時,轉(zhuǎn)換模擬電源,需適當(dāng)延時,等內(nèi)部模擬電源穩(wěn)定后,再啟動等內(nèi)部模擬電源穩(wěn)定后,再啟動A/D轉(zhuǎn)換。轉(zhuǎn)換。建議啟動建議啟動A/D轉(zhuǎn)換后,
42、在轉(zhuǎn)換后,在A/D轉(zhuǎn)換結(jié)束之前,不轉(zhuǎn)換結(jié)束之前,不改變?nèi)魏胃淖內(nèi)魏蜪/O口的狀態(tài),有利于提高口的狀態(tài),有利于提高A/D轉(zhuǎn)換的轉(zhuǎn)換的精度。精度。54/105SPEED1、SPEED0:ADC轉(zhuǎn)換速度控制位。轉(zhuǎn)換速度控制位。SPEED1SPEED0A/D轉(zhuǎn)換所需時間轉(zhuǎn)換所需時間1190個時鐘周期轉(zhuǎn)換一次個時鐘周期轉(zhuǎn)換一次 ,CPU工作頻率工作頻率21MHz時,時, A/D轉(zhuǎn)換速度約轉(zhuǎn)換速度約300KHz,9位精度位精度10180個時鐘周期轉(zhuǎn)換一次,可達到個時鐘周期轉(zhuǎn)換一次,可達到10位精度位精度01360個時鐘周期轉(zhuǎn)換一次,可達到個時鐘周期轉(zhuǎn)換一次,可達到10位精度位精度00540個時鐘周期轉(zhuǎn)換一
43、次,可達到個時鐘周期轉(zhuǎn)換一次,可達到10位精度位精度位位號號D7D6D5D4D3D2D1D0位位名名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0表表9-2 ADC轉(zhuǎn)換速度控制轉(zhuǎn)換速度控制55/105STC15F2K60S2單片機單片機A/D轉(zhuǎn)換模塊的時鐘轉(zhuǎn)換模塊的時鐘外部晶體時鐘或內(nèi)部外部晶體時鐘或內(nèi)部R/C振蕩器所產(chǎn)生的系統(tǒng)振蕩器所產(chǎn)生的系統(tǒng)時鐘,不使用時鐘分頻寄存器時鐘,不使用時鐘分頻寄存器CLK_DIV對系對系統(tǒng)時鐘分頻后所產(chǎn)生的供給統(tǒng)時鐘分頻后所產(chǎn)生的供給CPU工作所使用的工作所使用的時鐘。時鐘。優(yōu)點優(yōu)點:不僅可以讓:不僅可以
44、讓ADC用較高的頻率工作,提用較高的頻率工作,提高高A/D的轉(zhuǎn)換速度;而且可以讓的轉(zhuǎn)換速度;而且可以讓CPU用較低的用較低的頻率工作,降低系統(tǒng)的功耗。頻率工作,降低系統(tǒng)的功耗。56/105需要注意需要注意設(shè)置設(shè)置ADC_CONTR控制寄存器的語句執(zhí)行后,控制寄存器的語句執(zhí)行后,要經(jīng)過要經(jīng)過4個個CPU時鐘的延時時鐘的延時,其值才能夠保證,其值才能夠保證被設(shè)置進被設(shè)置進ADC_CONTR控制寄存器??刂萍拇嫫?。典型代碼如下:典型代碼如下: MOV ADC_CONTR, #DATA NOP NOP NOP NOP MOV A, ADC_CONTR ;經(jīng)過經(jīng)過4個時鐘延時個時鐘延時,才能正確讀到才能
45、正確讀到ADC_CONTR控制控制寄存器的值寄存器的值57/105ADC_FLAG:A/D轉(zhuǎn)換結(jié)束標(biāo)志位。轉(zhuǎn)換結(jié)束標(biāo)志位。 A/D轉(zhuǎn)換完成后,轉(zhuǎn)換完成后,ADC_FLAG = 1,要由軟件,要由軟件清零。不管清零。不管A/D轉(zhuǎn)換完成后由該位申請產(chǎn)生中轉(zhuǎn)換完成后由該位申請產(chǎn)生中斷,還是由軟件查詢該標(biāo)志位判斷斷,還是由軟件查詢該標(biāo)志位判斷A/D轉(zhuǎn)換是轉(zhuǎn)換是否結(jié)束,當(dāng)否結(jié)束,當(dāng)A/D轉(zhuǎn)換完成后,轉(zhuǎn)換完成后,ADC_FLAG = 1,一定要軟件清一定要軟件清0。位位號號D7D6D5D4D3D2D1D0位位名名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS
46、1CHS058/105CHS2、CHS1、CHS0:模擬輸入通道選擇,:模擬輸入通道選擇,如表所示。如表所示。用用MOV 語句對語句對ADC_CONTR寄存器進行賦值。寄存器進行賦值。位位號號D7D6D5D4D3D2D1D0位位名名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0CHS2CHS1CHS0模擬輸入通道選擇模擬輸入通道選擇000選擇選擇P1.0作為作為A/D輸入來用輸入來用001選擇選擇P1.1作為作為A/D輸入來用輸入來用010選擇選擇P1.2作為作為A/D輸入來用輸入來用011選擇選擇P1.3作為作為A/D輸入來用輸入來用
47、100選擇選擇P1.4作為作為A/D輸入來用輸入來用101選擇選擇P1.5作為作為A/D輸入來用輸入來用110選擇選擇P1.6作為作為A/D輸入來用輸入來用111選擇選擇P1.7作為作為A/D輸入來用輸入來用表9-3 模擬輸入通道選擇59/1053)A/D轉(zhuǎn)換結(jié)果存儲格式控制及轉(zhuǎn)換結(jié)果存儲格式控制及A/D轉(zhuǎn)換結(jié)果寄存器轉(zhuǎn)換結(jié)果寄存器ADC_RES、ADC_RESL特殊功能寄存器特殊功能寄存器ADC_RES(地址為(地址為BDH,復(fù)位值為,復(fù)位值為00H)和)和ADC_RESL(地址為(地址為BEH,復(fù)位值為,復(fù)位值為00H)用于保存用于保存A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果。特殊功能寄存器特殊功能寄存器C
48、LK_DIV中的中的ADRJ位用于設(shè)置位用于設(shè)置A/D轉(zhuǎn)轉(zhuǎn)換結(jié)果的存儲格式。換結(jié)果的存儲格式。 ADRJ位在位在時鐘分頻寄存器時鐘分頻寄存器CLK_DIV (也稱為也稱為PCON2,地址為地址為97H,復(fù)位值為,復(fù)位值為0000 x000B)中,其中,其各位的定義各位的定義如下如下:位號位號00D7D6D5D4D3D2D1D0位名稱位名稱MCKO_S1MCKO_S0ADRJTx_Rx-CLKS2CLKS1CLKS060/105 ADRJ=0時,ADC_RES7:0存放高8位ADC結(jié)果,ADC_RESL1:0存放低2位ADC結(jié)果; ADRJ=1時,ADC_RES1:0存放高2位ADC結(jié)果,ADC
49、_RESL7:0存放低8位ADC結(jié)果。位名稱位名稱寄存器寄存器D7D6D5D4D3D2D1D0ADC_RESADC_RES9ADC_RES8ADC_RES7ADC_RES6ADC_RES5ADC_RES4ADC_RES3ADC_RES2ADC_RESLADC_RES1ADC_RES0AUXR1ADRJ=0位名稱位名稱寄存器寄存器D7D6D5D4D3D2D1D0ADC_RESADC_RES9ADC_RES8ADC_RESLADC_RES7ADC_RES6ADC_RES5ADC_RES4ADC_RES3ADC_RES2ADC_RES1ADC_RES0AUXR1ADRJ=161/105如果如果STC
50、15F2K60S2單片機的單片機的10位位A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果的高的高8位存放在位存放在ADC_RES中,低中,低2位存放在位存放在ADC_RESL的低的低2位中,模位中,模/數(shù)轉(zhuǎn)換結(jié)果計算公數(shù)轉(zhuǎn)換結(jié)果計算公式如下:式如下:取取10位結(jié)果位結(jié)果 (ADC_RES7:0,ADC_RESL1:0) = 1024Vin/Vcc取取8位結(jié)果位結(jié)果 ADC_RES7:0 = 256Vin / Vcc Vin為模擬輸入通道輸入電壓,為模擬輸入通道輸入電壓,Vcc為單片機實為單片機實際工作電壓,用單片機工作電壓作為模擬參考電壓。際工作電壓,用單片機工作電壓作為模擬參考電壓。62/1054)與)與A/D轉(zhuǎn)換
51、中斷有關(guān)的寄存器轉(zhuǎn)換中斷有關(guān)的寄存器中斷允許控制寄存器中斷允許控制寄存器IE中的中的EADC位(位(D5位)位)用于開放用于開放ADC中斷中斷EA位(位(D7位)用于開放位)用于開放CPU中斷中斷中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP中的中的PADC位(位(D5位)用位)用于設(shè)置于設(shè)置A/D中斷的優(yōu)先級中斷的優(yōu)先級 在中斷服務(wù)程序中,要使用軟件將在中斷服務(wù)程序中,要使用軟件將A/D中斷中斷標(biāo)志位標(biāo)志位ADC_FLAG(也是(也是A/D轉(zhuǎn)換結(jié)束標(biāo)志轉(zhuǎn)換結(jié)束標(biāo)志位)清位)清0。63/1052、STC15F2K60S2單片機單片機ADC模塊的使用模塊的使用編程要點編程要點 打開打開ADC電源,第一次使
52、用時要打開內(nèi)部模電源,第一次使用時要打開內(nèi)部模擬電源(設(shè)置擬電源(設(shè)置ADC_CONTR)。)。 適當(dāng)延時,等內(nèi)部模擬電源穩(wěn)定。一般延時適當(dāng)延時,等內(nèi)部模擬電源穩(wěn)定。一般延時1ms以內(nèi)即可。以內(nèi)即可。 設(shè)置設(shè)置P1口中的相應(yīng)口線作為口中的相應(yīng)口線作為A/D轉(zhuǎn)換通道轉(zhuǎn)換通道(設(shè)置(設(shè)置P1ASF寄存器)。寄存器)。64/105 選擇選擇ADC通道(設(shè)置通道(設(shè)置ADC_CONTR中的中的CHS2CHS0)。)。 根據(jù)需要設(shè)置轉(zhuǎn)換結(jié)果存儲格式(設(shè)置根據(jù)需要設(shè)置轉(zhuǎn)換結(jié)果存儲格式(設(shè)置AUXR1中的中的ADRJ位)。位)。 查詢查詢A/D轉(zhuǎn)換結(jié)束標(biāo)志轉(zhuǎn)換結(jié)束標(biāo)志ADC_FLAG,判斷,判斷A/D轉(zhuǎn)換是
53、否完成,若完成,則讀出結(jié)果(結(jié)轉(zhuǎn)換是否完成,若完成,則讀出結(jié)果(結(jié)果保存在果保存在ADC_RES和和ADC_RESL寄存器寄存器中),并進行數(shù)據(jù)處理。中),并進行數(shù)據(jù)處理。65/105讀取轉(zhuǎn)換結(jié)果注意:讀取轉(zhuǎn)換結(jié)果注意:如果是多通道模擬量進行轉(zhuǎn)換,則更換如果是多通道模擬量進行轉(zhuǎn)換,則更換A/D轉(zhuǎn)轉(zhuǎn)換通道后要適當(dāng)延時,使輸入電壓穩(wěn)定,延時換通道后要適當(dāng)延時,使輸入電壓穩(wěn)定,延時量取量取20s200s即可,與輸入電壓源的內(nèi)阻有即可,與輸入電壓源的內(nèi)阻有關(guān)。關(guān)。如果輸入電壓信號源的內(nèi)阻在如果輸入電壓信號源的內(nèi)阻在10K 以下,可以下,可不加延時。不加延時。如果是單通道模擬量轉(zhuǎn)換,則不需要更換如果是單
54、通道模擬量轉(zhuǎn)換,則不需要更換A/D轉(zhuǎn)換通道,也就不需要加延時。轉(zhuǎn)換通道,也就不需要加延時。66/105若采用中斷方式,還需進行中斷設(shè)置(若采用中斷方式,還需進行中斷設(shè)置(EADC置置1,EA置置1)。)。在中斷服務(wù)程序中讀取在中斷服務(wù)程序中讀取ADC轉(zhuǎn)換結(jié)果,并將轉(zhuǎn)換結(jié)果,并將ADC中斷請求標(biāo)志中斷請求標(biāo)志ADC_FLAG清零。清零。67/105【例例9-2】 編程實現(xiàn)利用編程實現(xiàn)利用STC15F2K60S2單片機單片機ADC通道通道2采集外部模擬電壓信號,采集外部模擬電壓信號,8位精度,位精度,采用查詢方式循環(huán)進行轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果保采用查詢方式循環(huán)進行轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果保存于存于30H單元
55、中。假設(shè)時鐘頻率為單元中。假設(shè)時鐘頻率為18.432MHz。解解:?。喝?位精度時,若位精度時,若ADRJ-0,則可直接使用,則可直接使用轉(zhuǎn)換結(jié)果寄存器轉(zhuǎn)換結(jié)果寄存器ADC_RES的值。由于復(fù)位后,的值。由于復(fù)位后,ADRJ=0,因此,按照,因此,按照ADC的編程要點進行初的編程要點進行初始化后,直接判斷始化后,直接判斷ADC_FLAG標(biāo)志是否為標(biāo)志是否為1,若為若為1,則讀出,則讀出ADC_RES寄存器的值,并存入寄存器的值,并存入30H即可;若為即可;若為0,則繼續(xù)等待。,則繼續(xù)等待。68/105匯編語言程序代碼如下:匯編語言程序代碼如下:$INCLUDE (STC15.INC) ;包含包
56、含STC15單片機寄存器定義文件單片機寄存器定義文件ADC_DAT EQU 30H ;A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果 ORG 0000H LJMP MAIN ORG 0050H MAIN: MOV SP, #70H ;設(shè)置堆棧設(shè)置堆棧 ORL ADC_CONTR, #80H ;開開A/D轉(zhuǎn)換電源轉(zhuǎn)換電源 MOV A, #20H LCALL DELAY ;開電源后加適當(dāng)延時,開電源后加適當(dāng)延時,1ms以內(nèi)即可以內(nèi)即可 MOV P1ASF,#04H ;設(shè)置設(shè)置P1.2的模擬量功能的模擬量功能 MOV ADC_CONTR,#11100010B ;選擇選擇P1.2作為作為A/D轉(zhuǎn)換通道轉(zhuǎn)換通道 MOV A,
57、#05H LCALL DELAY ;如果切換如果切換A/D轉(zhuǎn)換通道轉(zhuǎn)換通道,則需要加延時則需要加延時69/105WAIT_AD: ORL ADC_CONTR, #00001000B ;啟動啟動A/D轉(zhuǎn)換轉(zhuǎn)換 MOV A, #00010000B ;判斷判斷A/D轉(zhuǎn)換是否完成轉(zhuǎn)換是否完成 ANL A, ADC_CONTR JZ WAIT_AD ;A/D 轉(zhuǎn)換尚未完成轉(zhuǎn)換尚未完成, 繼續(xù)等待繼續(xù)等待 ANL ADC_CONTR, #11100111B ;將將ADC_FLAG清零清零 MOV A, ADC_RES ;讀取讀取A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果 MOV ADC_DAT, A ;保存保存A/D轉(zhuǎn)換結(jié)果
58、轉(zhuǎn)換結(jié)果 LJMP WAIT_AD ;等待下一次轉(zhuǎn)換完成等待下一次轉(zhuǎn)換完成70/105DELAY: ;延時子程序延時子程序 PUSH 02 ;將寄存器組將寄存器組0 的的 R2 入棧入棧 PUSH 03 ;將寄存器組將寄存器組0 的的 R3 入棧入棧 PUSH 04 ;將寄存器組將寄存器組0 的的 R4 入棧入棧 MOV R4, A DELAY_LOOP0: MOV R3, #200 ;2個時鐘周期個時鐘周期Delay_LOOP1: MOV R2, #249 ;2個時鐘周期個時鐘周期DELAY_LOOP: DJNZ R2, DELAY_LOOP ;4個時鐘周期個時鐘周期 DJNZ R3, DE
59、LAY_LOOP1 ;4個時鐘周期個時鐘周期 DJNZ R4, DELAY_LOOP0 ;4個時鐘周期個時鐘周期 POP 04 POP 03 POP 02 RET END71/105C語言程序代碼如下:語言程序代碼如下:#include “stc15.h” /包含包含STC15單片機寄存器定義文件單片機寄存器定義文件unsigned char data adc_dat _at_ 0 x30; /A/D轉(zhuǎn)換結(jié)果變量轉(zhuǎn)換結(jié)果變量void main(void) unsigned long i; unsigned char status; ADC_CONTR|=0 x80; /開開A/D轉(zhuǎn)換電源轉(zhuǎn)換電
60、源 for (i=0;i10000;i+); /適當(dāng)延時適當(dāng)延時 P1ASF=0 x04; /選擇選擇P1.2作為作為A/D轉(zhuǎn)換通道轉(zhuǎn)換通道 ADC_CONTR=0 xE2; for (i=0;i10000;i+); /適當(dāng)延時適當(dāng)延時 while(1) /循環(huán)進行循環(huán)進行A/D 轉(zhuǎn)換轉(zhuǎn)換 ADC_CONTR|=0 x08; /重新啟動重新啟動 A/D 轉(zhuǎn)換轉(zhuǎn)換 status=0; while(status=0) /等待等待A/D轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束 status=ADC_CONTR&0 x10; ADC_CONTR&=0 xE7; /將將ADC_FLAG清零清零 adc_dat=ADC_RES;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同轉(zhuǎn)移協(xié)議書
- 合同協(xié)議書條款怎么寫
- 藥材合同協(xié)議書
- 砌墻協(xié)議書合同
- 馬法理學(xué)試題及答案
- 萊蕪教師考聘試題及答案
- 價格合同協(xié)議書
- 代理廠房合同協(xié)議書
- 車位預(yù)選協(xié)議書范本
- 業(yè)主清運垃圾合同協(xié)議書
- 胰腺假性囊腫治療
- 2025年形勢與政策-加快建設(shè)社會主義文化強國+第二講中國經(jīng)濟行穩(wěn)致遠
- 求職趣味測試題及答案
- 華為面試題及答案
- 《基于西門子S7-1200PLC的四層電梯控制系統(tǒng)設(shè)計》8900字
- 汽車維修服務(wù)客戶滿意度提升流程
- 2024人教版七年級下冊生物第三單元 植物的生活 單元測試卷(含答案)
- 氣象防災(zāi)減災(zāi)知識科普
- 2025年部編版新教材語文一年級下冊第六單元復(fù)習(xí)課教案
- 中國慢性冠脈綜合征患者診斷及管理指南2024版解讀
- 基于區(qū)塊鏈技術(shù)的供應(yīng)鏈管理平臺構(gòu)建
評論
0/150
提交評論