版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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ù)及計(jì)算機(jī)技術(shù)的廣泛普及與應(yīng)用,隨著數(shù)字電子技術(shù)及計(jì)算機(jī)技術(shù)的廣泛普及與應(yīng)用,數(shù)字信號(hào)的傳輸與處理日趨普遍。數(shù)字信號(hào)的傳輸與處理日趨普遍。自然形態(tài)下的物理量多以自然形態(tài)下的物理量多以模擬量的形式模擬量的形式存在的,如溫存在的,如溫度、濕度、壓力、流量、速度等,實(shí)際生產(chǎn)
2、、生活和度、濕度、壓力、流量、速度等,實(shí)際生產(chǎn)、生活和科學(xué)實(shí)驗(yàn)中還會(huì)遇到化學(xué)量、生物量(包括醫(yī)學(xué))等。科學(xué)實(shí)驗(yàn)中還會(huì)遇到化學(xué)量、生物量(包括醫(yī)學(xué))等。從信號(hào)工程的角度來(lái)看,要進(jìn)行信號(hào)的計(jì)算機(jī)處理,從信號(hào)工程的角度來(lái)看,要進(jìn)行信號(hào)的計(jì)算機(jī)處理,上述所有的物理量、化學(xué)量和生物量等都需要使用相上述所有的物理量、化學(xué)量和生物量等都需要使用相應(yīng)的傳感器,將其轉(zhuǎn)換成應(yīng)的傳感器,將其轉(zhuǎn)換成電信號(hào)(稱之為模擬量)電信號(hào)(稱之為模擬量)將模擬量轉(zhuǎn)換為計(jì)算機(jī)能夠識(shí)別處理的將模擬量轉(zhuǎn)換為計(jì)算機(jī)能夠識(shí)別處理的數(shù)字量數(shù)字量,而后,而后再進(jìn)行信號(hào)的傳輸、處理、存儲(chǔ)、顯示和控制。再進(jìn)行信號(hào)的傳輸、處理、存儲(chǔ)、顯示和控制。3
3、/105同樣,計(jì)算機(jī)控制外部設(shè)備時(shí),如電動(dòng)調(diào)節(jié)閥、同樣,計(jì)算機(jī)控制外部設(shè)備時(shí),如電動(dòng)調(diào)節(jié)閥、調(diào)速系統(tǒng)等,需要將計(jì)算機(jī)輸出的數(shù)字信號(hào)變調(diào)速系統(tǒng)等,需要將計(jì)算機(jī)輸出的數(shù)字信號(hào)變換成外設(shè)能夠接受的模擬信號(hào)。換成外設(shè)能夠接受的模擬信號(hào)。將模擬量轉(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以單片機(jī)為核心,具有模擬量輸入和輸出的應(yīng)以單片機(jī)為核心,具有模擬量輸入和輸出的應(yīng)用系統(tǒng)結(jié)構(gòu)如圖所示。用系統(tǒng)結(jié)構(gòu)如圖所示。圖9-1 具有模擬量輸入輸出的單片機(jī)系統(tǒng) 5/105傳感器和變送器的區(qū)別傳感器和變送器的區(qū)別檢測(cè)儀表在模擬電子技術(shù)條件下,一般是包括檢測(cè)儀表在模擬電子技術(shù)條件下,一般是包括傳感器、檢測(cè)點(diǎn)取樣設(shè)備及放大器(進(jìn)行抗干傳感器、檢測(cè)點(diǎn)取樣設(shè)備及放大器(進(jìn)行抗干擾處理及信號(hào)傳輸),當(dāng)然還有電源及現(xiàn)場(chǎng)顯擾處理及信號(hào)傳輸),當(dāng)然還有電源及現(xiàn)場(chǎng)顯示部分(可選擇)。示部分(可選擇)。傳感器是一種把非電量轉(zhuǎn)變成電信號(hào)的器件。傳感器是一種把非電量轉(zhuǎn)變成電信號(hào)的器件。
5、電信號(hào)一般分為連續(xù)量、離散量?jī)煞N,實(shí)際上電信號(hào)一般分為連續(xù)量、離散量?jī)煞N,實(shí)際上還可分成模擬量、開(kāi)關(guān)量、脈沖量等。還可分成模擬量、開(kāi)關(guān)量、脈沖量等。6/105模擬信號(hào)一般采用模擬信號(hào)一般采用4-20mA DC的標(biāo)準(zhǔn)信號(hào)傳輸。的標(biāo)準(zhǔn)信號(hào)傳輸。數(shù)字化過(guò)程中,常常把傳感器和微處理器及通數(shù)字化過(guò)程中,常常把傳感器和微處理器及通信網(wǎng)絡(luò)接口封裝在一個(gè)器件(稱為檢測(cè)儀表)信網(wǎng)絡(luò)接口封裝在一個(gè)器件(稱為檢測(cè)儀表)中,完成信息獲取、處理、傳輸、存貯等功能。中,完成信息獲取、處理、傳輸、存貯等功能。在自動(dòng)化儀表中經(jīng)常把檢測(cè)儀表稱為變送器,在自動(dòng)化儀表中經(jīng)常把檢測(cè)儀表稱為變送器,如溫度變送器、壓力變送器等。如溫度變
6、送器、壓力變送器等。7/105本章內(nèi)容安排本章內(nèi)容安排本章首先介紹模數(shù)轉(zhuǎn)換器的工作原理及性能指本章首先介紹模數(shù)轉(zhuǎn)換器的工作原理及性能指標(biāo);標(biāo);然后介紹模數(shù)轉(zhuǎn)換器然后介紹模數(shù)轉(zhuǎn)換器ADS7852與單片機(jī)的接口與單片機(jī)的接口方法及編程應(yīng)用,介紹方法及編程應(yīng)用,介紹STC15F2K60S2單片機(jī)單片機(jī)片內(nèi)集成模數(shù)轉(zhuǎn)換模塊的使用;片內(nèi)集成模數(shù)轉(zhuǎn)換模塊的使用;最后介紹數(shù)模轉(zhuǎn)換器最后介紹數(shù)模轉(zhuǎn)換器TLV5616與單片機(jī)的接口與單片機(jī)的接口方法及編程應(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)換器可以分為計(jì)數(shù)為計(jì)數(shù)-比較式、逐次逼近式和雙斜率積分式。比較式、逐次逼近式和雙斜率積分式。計(jì)數(shù)計(jì)數(shù)-比較式模數(shù)轉(zhuǎn)換器結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,比較式模數(shù)轉(zhuǎn)換器結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,轉(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)換器、比較器比較器、時(shí)序及控時(shí)序及控制邏輯制邏輯等部分組成。等部分組成。11/105工作過(guò)程工作過(guò)程當(dāng)模數(shù)轉(zhuǎn)換器收到當(dāng)模數(shù)轉(zhuǎn)換器收到“轉(zhuǎn)換命令轉(zhuǎn)換命令”并清除并清除SAR寄存器后,寄存器后,控制電路先設(shè)定控制電路先設(shè)定SAR中的最高位為中的最高位為“1”,其余位為,其余位為“0”,此預(yù)測(cè)數(shù)據(jù)被送至,此預(yù)測(cè)數(shù)據(jù)被送至D/A轉(zhuǎn)換器,轉(zhuǎn)換成電壓轉(zhuǎn)換器,轉(zhuǎn)換成電壓Vc。然后將然后將Vc與輸入模擬電壓與輸入模擬電壓Vx在高增益的比較器中進(jìn)行在高增益的比較器中進(jìn)行比較,比較器的的輸出為邏輯比較,比較器的的輸出為邏輯0或邏輯或邏輯
9、1。如果如果VxVc,說(shuō)明此位置,說(shuō)明此位置“1”是對(duì)的,應(yīng)予保留;如是對(duì)的,應(yīng)予保留;如果果VxVc,說(shuō)明此位置,說(shuō)明此位置“1”不合適,應(yīng)予清除。不合適,應(yīng)予清除。按該方法繼續(xù)對(duì)次高位進(jìn)行轉(zhuǎn)換、比較和判斷,決定按該方法繼續(xù)對(duì)次高位進(jìn)行轉(zhuǎn)換、比較和判斷,決定次高位應(yīng)取次高位應(yīng)取“1”還是取還是取“0”。重復(fù)上述過(guò)程,直至確定重復(fù)上述過(guò)程,直至確定SAR最低位為止。最低位為止。該過(guò)程完成后,狀態(tài)線改變狀態(tài),表示已完成一次完該過(guò)程完成后,狀態(tài)線改變狀態(tài),表示已完成一次完整的轉(zhuǎn)換,整的轉(zhuǎn)換,SAR中的內(nèi)容就是與輸入的模擬電壓對(duì)應(yīng)中的內(nèi)容就是與輸入的模擬電壓對(duì)應(yīng)的二進(jìn)制數(shù)字代碼。的二進(jìn)制數(shù)字代碼。1
10、2/1052、雙積分式模數(shù)轉(zhuǎn)換器的工作原理、雙積分式模數(shù)轉(zhuǎn)換器的工作原理雙積分式模數(shù)轉(zhuǎn)換器轉(zhuǎn)換方法的抗干擾能力比雙積分式模數(shù)轉(zhuǎn)換器轉(zhuǎn)換方法的抗干擾能力比逐次逼近式模數(shù)轉(zhuǎn)換器強(qiáng)。逐次逼近式模數(shù)轉(zhuǎn)換器強(qiáng)。該方法的基礎(chǔ)是測(cè)量?jī)蓚€(gè)時(shí)間:該方法的基礎(chǔ)是測(cè)量?jī)蓚€(gè)時(shí)間:一個(gè)是模擬輸入電壓向電容充電的固定時(shí)間一個(gè)是模擬輸入電壓向電容充電的固定時(shí)間另一個(gè)是在已知參考電壓下放電所需的時(shí)間另一個(gè)是在已知參考電壓下放電所需的時(shí)間模擬輸入電壓與參考電壓的比值就等于上述兩模擬輸入電壓與參考電壓的比值就等于上述兩個(gè)時(shí)間值之比。個(gè)時(shí)間值之比。13/105雙積分模數(shù)轉(zhuǎn)換器的組成框圖如圖所示。雙積分模數(shù)轉(zhuǎn)換器的組成框圖如圖所示。
11、圖9-3 雙積分式模數(shù)轉(zhuǎn)換器的組成框圖14/105雙積分式模數(shù)轉(zhuǎn)換器優(yōu)點(diǎn)雙積分式模數(shù)轉(zhuǎn)換器優(yōu)點(diǎn)具有精度高、抗干擾能力強(qiáng)的特點(diǎn),在實(shí)際工具有精度高、抗干擾能力強(qiáng)的特點(diǎn),在實(shí)際工程中得到了使用。程中得到了使用。由于逐次逼近式模數(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)換器是實(shí)現(xiàn)單片機(jī)數(shù)據(jù)采集的常用外圍轉(zhuǎn)換器是實(shí)現(xiàn)單片機(jī)數(shù)據(jù)采集的常用外圍器件。器件。A/D轉(zhuǎn)換器的品種繁多,性能各異,在轉(zhuǎn)換器的品種繁多,性能各
12、異,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),首先碰到的問(wèn)題就是如設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),首先碰到的問(wèn)題就是如何選擇合適的何選擇合適的A/D轉(zhuǎn)換器以滿足系統(tǒng)設(shè)計(jì)的要轉(zhuǎn)換器以滿足系統(tǒng)設(shè)計(jì)的要求。求。選擇選擇A/D轉(zhuǎn)換器需要綜合考慮多項(xiàng)因素,如系轉(zhuǎn)換器需要綜合考慮多項(xiàng)因素,如系統(tǒng)技術(shù)指標(biāo)、成本、功耗、安裝等。統(tǒng)技術(shù)指標(biāo)、成本、功耗、安裝等。16/1051、分辨率、分辨率分辨率是分辨率是A/D轉(zhuǎn)換器能夠分辨最小信號(hào)的能轉(zhuǎn)換器能夠分辨最小信號(hào)的能力,表示數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入力,表示數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入模擬電壓的變化量。模擬電壓的變化量。分辨率越高,轉(zhuǎn)換時(shí)對(duì)輸入模擬信號(hào)變化的分辨率越高,轉(zhuǎn)換時(shí)對(duì)輸入模擬信號(hào)
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)換器輸出的二進(jìn)制位數(shù)表示。轉(zhuǎn)換器輸出的二進(jìn)制位數(shù)表示。常見(jiàn)的常見(jiàn)的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位以上位以上對(duì)減小誤差并無(wú)太大貢獻(xiàn),但對(duì)對(duì)減小誤差并無(wú)太大貢獻(xiàn),但對(duì)ADC器件的器件的要求卻提得過(guò)高。要求卻提得過(guò)高。因此,取因此,取10位或位或11位是合適位是合適的。的。由于模擬信號(hào)先經(jīng)過(guò)測(cè)量裝置,再經(jīng)由于模擬信號(hào)先經(jīng)過(guò)測(cè)量裝置,再經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換后才進(jìn)行處理,因此,總的誤差是轉(zhuǎn)換器轉(zhuǎn)換后才進(jìn)行處理,因此,總的誤差是由測(cè)量誤差和量化誤差共同構(gòu)成的。由測(cè)量誤差和量化誤差共同構(gòu)成的。19/105A/D轉(zhuǎn)換器的精
15、度應(yīng)與測(cè)量裝置的精度相匹配。轉(zhuǎn)換器的精度應(yīng)與測(cè)量裝置的精度相匹配。一方面要求量化誤差在總誤差中所占的比重要一方面要求量化誤差在總誤差中所占的比重要小,使它不顯著地?cái)U(kuò)大測(cè)量誤差;小,使它不顯著地?cái)U(kuò)大測(cè)量誤差;另一方面必須根據(jù)目前測(cè)量裝置的精度水平,另一方面必須根據(jù)目前測(cè)量裝置的精度水平,對(duì)對(duì)A/D轉(zhuǎn)換器的位數(shù)提出恰當(dāng)?shù)囊?。轉(zhuǎn)換器的位數(shù)提出恰當(dāng)?shù)囊蟆?0/1052、通道、通道有的單芯片內(nèi)部含有多個(gè)有的單芯片內(nèi)部含有多個(gè)ADC模塊,可同時(shí)模塊,可同時(shí)實(shí)現(xiàn)多路信號(hào)的轉(zhuǎn)換;實(shí)現(xiàn)多路信號(hào)的轉(zhuǎn)換;常見(jiàn)的多路常見(jiàn)的多路ADC器件只有一個(gè)公共的器件只有一個(gè)公共的ADC模模塊,由一個(gè)多路轉(zhuǎn)換開(kāi)關(guān)實(shí)現(xiàn)分時(shí)轉(zhuǎn)換。
16、塊,由一個(gè)多路轉(zhuǎn)換開(kāi)關(guān)實(shí)現(xiàn)分時(shí)轉(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)換時(shí)間轉(zhuǎn)換時(shí)間:A/D轉(zhuǎn)換器從啟動(dòng)轉(zhuǎn)換到轉(zhuǎn)換結(jié)束,轉(zhuǎn)換器從啟動(dòng)轉(zhuǎn)換到轉(zhuǎn)換結(jié)束,輸出穩(wěn)定的數(shù)字量,需要的一定的轉(zhuǎn)換時(shí)間。輸出穩(wěn)定的數(shù)字量,需要的一定的轉(zhuǎn)換時(shí)間。轉(zhuǎn)換速率:轉(zhuǎn)換速率:轉(zhuǎn)換時(shí)間的倒數(shù)就是每秒鐘能完成轉(zhuǎn)換時(shí)間的倒數(shù)就是每秒鐘能完成的轉(zhuǎn)換次數(shù)。的轉(zhuǎn)換次數(shù)。A/D轉(zhuǎn)換器的型號(hào)不同,轉(zhuǎn)換時(shí)間不同。逐次轉(zhuǎn)換器的型號(hào)不同,轉(zhuǎn)換時(shí)間不同。逐次逼近式單片逼近式單片A/D轉(zhuǎn)換器轉(zhuǎn)換時(shí)間的典型值為轉(zhuǎn)換器轉(zhuǎn)換時(shí)間的典型值為1.0200s。
17、22/105應(yīng)根據(jù)輸入信號(hào)的最高頻率來(lái)確定應(yīng)根據(jù)輸入信號(hào)的最高頻率來(lái)確定ADC轉(zhuǎn)換速度,保轉(zhuǎn)換速度,保證轉(zhuǎn)換器的轉(zhuǎn)換速率要高于系統(tǒng)要求的采樣頻率。證轉(zhuǎn)換器的轉(zhuǎn)換速率要高于系統(tǒng)要求的采樣頻率。確定確定A/D轉(zhuǎn)換器的轉(zhuǎn)換速率時(shí),應(yīng)考慮系統(tǒng)的采樣速轉(zhuǎn)換器的轉(zhuǎn)換速率時(shí),應(yīng)考慮系統(tǒng)的采樣速率。率。例如,如果用轉(zhuǎn)換時(shí)間為例如,如果用轉(zhuǎn)換時(shí)間為100s的的A/D轉(zhuǎn)換器,則其轉(zhuǎn)轉(zhuǎn)換器,則其轉(zhuǎn)換速率為換速率為10KHz。根據(jù)采樣定理和實(shí)際需要,一個(gè)周。根據(jù)采樣定理和實(shí)際需要,一個(gè)周期的波形需采期的波形需采10個(gè)樣點(diǎn),那么這樣的個(gè)樣點(diǎn),那么這樣的A/D轉(zhuǎn)換器最高轉(zhuǎn)換器最高也只有處理頻率為也只有處理頻率為1KHz的
18、模擬信號(hào)。對(duì)一般的單片的模擬信號(hào)。對(duì)一般的單片機(jī)而言,在如此高的采樣頻率下,要在采樣時(shí)間內(nèi)完機(jī)而言,在如此高的采樣頻率下,要在采樣時(shí)間內(nèi)完成成A/D轉(zhuǎn)換以外的工作,如讀取數(shù)據(jù)、再啟動(dòng)、保存轉(zhuǎn)換以外的工作,如讀取數(shù)據(jù)、再啟動(dòng)、保存數(shù)據(jù)、循環(huán)計(jì)數(shù)等已經(jīng)比較困難了。數(shù)據(jù)、循環(huán)計(jì)數(shù)等已經(jīng)比較困難了。23/1055、采樣、采樣/保持器保持器采樣采樣/保持也稱為跟蹤保持也稱為跟蹤/保持(保持(Track/Hold縮寫(xiě)縮寫(xiě)T/H)。)。原則上采集直流和變化非常緩慢的模擬信號(hào)時(shí)原則上采集直流和變化非常緩慢的模擬信號(hào)時(shí)可不用采樣保持器??刹挥貌蓸颖3制鳌?duì)于其他模擬信號(hào)一般都要加采樣保持器。如對(duì)于其他模擬信號(hào)一
19、般都要加采樣保持器。如果信號(hào)頻率不高,果信號(hào)頻率不高,A/D轉(zhuǎn)換器的轉(zhuǎn)換時(shí)間短,轉(zhuǎn)換器的轉(zhuǎn)換時(shí)間短,即使用高速即使用高速A/D轉(zhuǎn)換器時(shí),也可不用采樣轉(zhuǎn)換器時(shí),也可不用采樣/保持保持器。器。24/1056、量程、量程量程即所能轉(zhuǎn)換的電壓范圍,如量程即所能轉(zhuǎn)換的電壓范圍,如2.5V、5V和和10V。7、滿刻度誤差、滿刻度誤差滿度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值滿度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值之差稱為滿刻度誤差。之差稱為滿刻度誤差。8、線性度、線性度實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移實(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ù)。在單片機(jī)在單片機(jī)I/O引腳不多的情況下,使用串行器引腳不多的情況下,使用串行器件可以節(jié)省件可以節(jié)省I/O資源。資源。但是并行器件具有明顯的轉(zhuǎn)換速度優(yōu)勢(shì)。在轉(zhuǎn)但是并行器件具有明顯的轉(zhuǎn)換速度優(yōu)勢(shì)。在轉(zhuǎn)換速度要求較
21、高的情況下應(yīng)選用并行器件。換速度要求較高的情況下應(yīng)選用并行器件。26/10510、模擬信號(hào)類型、模擬信號(hào)類型通常通常ADC器件的模擬輸入信號(hào)都是電壓信號(hào)。器件的模擬輸入信號(hào)都是電壓信號(hào)。同 時(shí) 根 據(jù) 信 號(hào) 是 否 過(guò) 零 , 還 分 成 單 極 性同 時(shí) 根 據(jù) 信 號(hào) 是 否 過(guò) 零 , 還 分 成 單 極 性(Unipolar)信號(hào)和雙極性()信號(hào)和雙極性(Bipolar)信號(hào)。)信號(hào)。11、電源電壓、電源電壓電源電壓有單電源,雙電源和不同電壓范圍之電源電壓有單電源,雙電源和不同電壓范圍之分,早期的分,早期的ADC器件要有器件要有+15V/-15V,如果選,如果選用單用單+5V電源的芯
22、片則可以使用單片機(jī)系統(tǒng)電電源的芯片則可以使用單片機(jī)系統(tǒng)電源。源。27/10512、功耗、功耗一般一般CMOS工藝的芯片功耗較低,對(duì)于電池供工藝的芯片功耗較低,對(duì)于電池供電的手持系統(tǒng)對(duì)功耗要求比較高的場(chǎng)合一定要電的手持系統(tǒng)對(duì)功耗要求比較高的場(chǎng)合一定要注意功耗指標(biāo)。注意功耗指標(biāo)。13、封裝、封裝常見(jiàn)的封裝有雙列直插封裝(常見(jiàn)的封裝有雙列直插封裝(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單片機(jī)片內(nèi)集成的單片機(jī)片內(nèi)集成的ADC模塊的模塊的使用。使用。29/105一、一、12位并行位并行A/D轉(zhuǎn)換器轉(zhuǎn)換器ADS7852及其應(yīng)用及其應(yīng)用1、ADS7852簡(jiǎn)介簡(jiǎn)介ADS7852是德州儀器公司(是德州儀器公司(Texas Instruments,TI)生產(chǎn)的一款高速逐次逼近式)生產(chǎn)的一款高速逐次逼近式A/D轉(zhuǎn)換器。轉(zhuǎn)換器。30/105具有以下主要特點(diǎn):具有以下主要特點(diǎn):帶有采樣保持器帶有采樣保持器具有具有8路模擬量輸入、并行路模擬量輸入、并行12位輸出位輸出內(nèi)部帶有內(nèi)部帶有2.5V的參
24、考電壓源,輸入的采樣電壓的參考電壓源,輸入的采樣電壓可以從可以從0V到到2倍的參考電壓值倍的參考電壓值500kHz的采樣頻率,轉(zhuǎn)換時(shí)間最大只需的采樣頻率,轉(zhuǎn)換時(shí)間最大只需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去耦電容各一個(gè)。去耦電容各一個(gè)。AGND和和DGND:分別為模擬地和數(shù)字地。:分別為模擬地和數(shù)字地。CLK:外部時(shí)鐘輸入(:外部時(shí)鐘輸入(200KHz8MHz),時(shí)鐘的選),時(shí)鐘的選擇取決于采樣速度擇取決于采樣速度f(wàn)CLK=16*fSAMPLE。33/105 :忙指示輸出,低電平有效。轉(zhuǎn)換期間保:忙指示輸出,低電平有效。轉(zhuǎn)
26、換期間保持低電平,轉(zhuǎn)換結(jié)束后變?yōu)楦唠娖?。持低電平,轉(zhuǎn)換結(jié)束后變?yōu)楦唠娖健?:片選信號(hào),輸入,低電平有效。:片選信號(hào),輸入,低電平有效。/CS和和/WR變低時(shí),開(kāi)始一次新的轉(zhuǎn)換。變低時(shí),開(kāi)始一次新的轉(zhuǎn)換。 :讀信號(hào),輸入,低電平有效。:讀信號(hào),輸入,低電平有效。/RD和和/CS一起有效時(shí)用來(lái)讀取轉(zhuǎn)換后的數(shù)據(jù)。也用來(lái)設(shè)一起有效時(shí)用來(lái)讀取轉(zhuǎn)換后的數(shù)據(jù)。也用來(lái)設(shè)置使芯片工作于省電模式。置使芯片工作于省電模式。 :寫(xiě)信號(hào),輸入,低電平有效。:寫(xiě)信號(hào),輸入,低電平有效。/WR與與/CS同時(shí)有效時(shí)開(kāi)始一次新的轉(zhuǎn)換,也用來(lái)選擇模同時(shí)有效時(shí)開(kāi)始一次新的轉(zhuǎn)換,也用來(lái)選擇模擬量輸入通道。擬量輸入通道。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)換器一個(gè)一個(gè)8通道模擬開(kāi)關(guān)通道模擬開(kāi)關(guān)通信雙向存取控制器(通信雙向存取控制器(CDAC)比較器(比較器(Comparator)逐次比較邏輯寄存器(逐次比較邏輯寄存器(SAR)內(nèi)部基準(zhǔn)電壓源內(nèi)部基準(zhǔn)電壓源參考電壓緩沖器參考電壓緩沖器輸出鎖存和三態(tài)驅(qū)動(dòng)器等。輸出鎖存和三態(tài)驅(qū)動(dòng)器等。轉(zhuǎn)換結(jié)果通過(guò)三態(tài)并行數(shù)據(jù)總線輸出。轉(zhuǎn)換結(jié)果通過(guò)三態(tài)并行數(shù)據(jù)總線輸出。36/105工作過(guò)程工作過(guò)程首先置低引腳,然
28、后通過(guò)設(shè)置首先置低引腳,然后通過(guò)設(shè)置A2、A1和和A0的值的值來(lái)選擇輸入通道(來(lái)選擇輸入通道(000111分別對(duì)應(yīng)分別對(duì)應(yīng)07通通道),置低道),置低/WR引腳開(kāi)始啟動(dòng)引腳開(kāi)始啟動(dòng)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(shí),變?yōu)楦唠娖綍r(shí),A1和和A0腳應(yīng)保持低電平,否則腳應(yīng)保持低電平,否則ADS7852將進(jìn)入掉電模式。將進(jìn)入掉電模式。37/1053、通道選擇、通道選擇ADS7852有有8路輸入,通過(guò)設(shè)置路輸入,通過(guò)設(shè)置A0、A1、A2來(lái)選擇哪一路輸入,具體的選擇控制字如表所來(lái)選擇哪一路輸入,具體的選擇控制字如表所示。示。A2A1A0通道號(hào)通道號(hào)000通道通道0001通道通道1010通道通道2011通道通道3100通道通道4101通道通道5110通道通道6111通道通道7表9-1 ADS7852的通道選擇控制字38/1054、ADS78752的接口
30、應(yīng)用的接口應(yīng)用【例【例9-1】ADS78752與與STC15F2K60S2單片機(jī)的單片機(jī)的接口電路如圖所示。接口電路如圖所示。圖9-6 ADS78752的接口連接39/105硬件電路說(shuō)明硬件電路說(shuō)明由于由于ADS7852是是12位輸出,而位輸出,而STC15F2K60S2單單片 機(jī) 的 數(shù) 據(jù) 線 只 有片 機(jī) 的 數(shù) 據(jù) 線 只 有 8 位 , 所 以 使 用位 , 所 以 使 用STC15F2K60S2的的P0口與口與ADS7852的低的低8位數(shù)據(jù)位數(shù)據(jù)(DB0DB7)相連。)相連。ADS7852的高的高4位(位(DB8DB11)通過(guò)鎖存器)通過(guò)鎖存器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í),數(shù)據(jù)的低時(shí),數(shù)據(jù)的低8位(位(DB0DB7)被直接讀入)被直接讀入STC15F2K60S2內(nèi)部,而在內(nèi)部,而在/RD信號(hào)的上升沿,信號(hào)的上升沿,數(shù)據(jù)的高數(shù)據(jù)的高4位(位(DB8DB11)被)被74HC573鎖存鎖存在在STC15F2K60S2的的Pl口低口低4位(位(P1.0P1.3),),等待被讀取。等待被讀取。STC15F2K60S2單片機(jī)的時(shí)鐘輸出單片機(jī)的時(shí)鐘輸出CLKOUT0作為作為ADS7852的時(shí)鐘,頻率設(shè)置為的時(shí)鐘,頻率設(shè)置為250
32、KHz。41/105ADS7852的的/BUSY信號(hào)與信號(hào)與STC15F2K60S2的的P 3 . 2 連 接 。 在連 接 。 在 A / D 轉(zhuǎn) 換 結(jié) 束 后 , 通 知轉(zhuǎn) 換 結(jié) 束 后 , 通 知STC15F2K60S2及時(shí)讀取數(shù)據(jù)。及時(shí)讀取數(shù)據(jù)。在電路設(shè)計(jì)中,一般在在電路設(shè)計(jì)中,一般在Vss和地之間接一個(gè)和地之間接一個(gè)0.1uF的瓷片電容和的瓷片電容和10uF的鉭電容,起濾波和的鉭電容,起濾波和解耦的作用。解耦的作用。42/105示例程序代碼如下:示例程序代碼如下:#include stc15.h /包含包含STC15F2K60S2單片機(jī)寄存器定義文件單片機(jī)寄存器定義文件/P2.7
33、 為片選信號(hào)為片選信號(hào); P3.5/T0CLK0為提供為提供AD轉(zhuǎn)換時(shí)鐘轉(zhuǎn)換時(shí)鐘sbit busy=P32; /P3.2 為為AD轉(zhuǎn)換狀態(tài)檢測(cè)位轉(zhuǎn)換狀態(tài)檢測(cè)位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位自動(dòng)重裝位自動(dòng)重裝TH0=254; /12/12/2/
34、2=0.25MHZINT_CLKO=INT_CLKO|0 x1; /T0輸出時(shí)鐘輸出時(shí)鐘TR0=1;/啟動(dòng)啟動(dòng)T0A0=0; A1=0; A2=0; /選擇通道選擇通道0 *ADS7852=0 x00; /寫(xiě)操作,開(kāi)始寫(xiě)操作,開(kāi)始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; /開(kāi)始下一次開(kāi)始下一次AD轉(zhuǎn)換轉(zhuǎn)換44/105二、二、STC15F2K60S2集成的集成的A/D模塊的結(jié)構(gòu)及
35、其模塊的結(jié)構(gòu)及其使用使用STC15F2K60S2單片機(jī)集成有單片機(jī)集成有8路路10位高速電位高速電壓輸入型模數(shù)轉(zhuǎn)換器(壓輸入型模數(shù)轉(zhuǎn)換器(ADC),速度可達(dá)到),速度可達(dá)到300KHz(30萬(wàn)次萬(wàn)次/秒),可做溫度檢測(cè)、壓力秒),可做溫度檢測(cè)、壓力檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。45/1051、模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)及相關(guān)寄存器模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)及相關(guān)寄存器STC15F2K60S2單片機(jī)片內(nèi)集成單片機(jī)片內(nèi)集成8通道通道10位模位模數(shù)轉(zhuǎn)換器(數(shù)轉(zhuǎn)換器(ADC)。)。ADC輸入通道與輸入通道與P1口復(fù)用,上電復(fù)位后口復(fù)用,上電復(fù)位后P1口口為弱上拉型為弱
36、上拉型I/O口,用戶可以通過(guò)軟件設(shè)置將口,用戶可以通過(guò)軟件設(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單片機(jī)單片機(jī)ADC的結(jié)構(gòu)如圖所示。的結(jié)構(gòu)如圖所示。圖圖9-7 STC15F2K60S2單片機(jī)單片機(jī)ADC結(jié)構(gòu)圖結(jié)構(gòu)圖 47/105STC15F2K60S2的的ADC組成組成多路選擇開(kāi)關(guān)多路選擇開(kāi)關(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由一個(gè)比較器和由一個(gè)比較器和D/A轉(zhuǎn)換器構(gòu)轉(zhuǎn)換器構(gòu)成,通過(guò)逐次比較邏輯,從最高位(成,通過(guò)逐次比較邏輯,從最高位(MSB)開(kāi))開(kāi)始,順序地對(duì)每一輸入電壓與內(nèi)置始,順序地對(duì)每一輸入電壓與內(nèi)置D/A轉(zhuǎn)換器轉(zhuǎn)換器輸出進(jìn)行比較,經(jīng)多次比較,使轉(zhuǎn)換所得的數(shù)輸出進(jìn)行比較,經(jīng)多次比較,使轉(zhuǎn)換所得的數(shù)字量逐次逼近輸入模擬量對(duì)應(yīng)值。字量逐次逼近輸入模擬量對(duì)應(yīng)值。49/105(2)參考電壓源)參考電壓源STC
38、15F2K60S2單片機(jī)單片機(jī)ADC模塊的參考電壓源模塊的參考電壓源是輸入工作電壓是輸入工作電壓Vcc,一般不用外接參考電壓,一般不用外接參考電壓源。源。如果如果Vcc不穩(wěn)定(例如電池供電的系統(tǒng)中,電不穩(wěn)定(例如電池供電的系統(tǒng)中,電池電壓常常在池電壓常常在5.3V-4.2V之間漂移),之間漂移), 則可以則可以在在8路路A/D轉(zhuǎn)換的一個(gè)通道外接一個(gè)穩(wěn)定的參轉(zhuǎn)換的一個(gè)通道外接一個(gè)穩(wěn)定的參考電壓源,計(jì)算出此時(shí)的工作電壓考電壓源,計(jì)算出此時(shí)的工作電壓Vcc,再計(jì),再計(jì)算出其他幾路算出其他幾路A/D轉(zhuǎn)換通道的電壓。轉(zhuǎn)換通道的電壓。50/105(3)與)與ADC有關(guān)的特殊功能寄存器有關(guān)的特殊功能寄存器1
39、)P1口模擬功能控制寄存器口模擬功能控制寄存器P1ASFP1ASF(地址為(地址為9DH,復(fù)位值為,復(fù)位值為00H)各位的)各位的定義如下:定義如下:位號(hào)位號(hào)D7D6D5D4D3D2D1D0位名稱位名稱P17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF51/105如果要使用相應(yīng)口的模擬功能,需將如果要使用相應(yīng)口的模擬功能,需將P1ASF特特殊功能寄存器中的相應(yīng)位置為殊功能寄存器中的相應(yīng)位置為1。如,若要使用如,若要使用P1.6的模擬量功能,則需要將的模擬量功能,則需要將P16ASF設(shè)置為設(shè)置為1。注意,注意,P1ASF寄存器不能位尋址,可以使用匯寄
40、存器不能位尋址,可以使用匯編語(yǔ)言指令編語(yǔ)言指令ORL P1ASF, #40H,也可以使用,也可以使用C語(yǔ)言語(yǔ)句語(yǔ)言語(yǔ)句P1ASF |= 0 x40;位號(hào)位號(hào)D7D6D5D4D3D2D1D0位名稱位名稱P17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF52/1052)ADC控制寄存器控制寄存器ADC_CONTRADC_CONTR(地址為(地址為BCH,復(fù)位值為,復(fù)位值為00H)各位的定義如下:各位的定義如下:位號(hào)位號(hào)D7D6D5D4D3D2D1D0位名位名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1
41、CHS0ADC_POWER:ADC電源控制位。電源控制位。0:關(guān)閉:關(guān)閉ADC電源。電源。1:打開(kāi):打開(kāi)ADC電源。電源。53/105說(shuō)明說(shuō)明建議進(jìn)入空閑模式前,將建議進(jìn)入空閑模式前,將ADC電源關(guān)閉,即電源關(guān)閉,即ADC_POWER =0。啟動(dòng)啟動(dòng)A/D轉(zhuǎn)換前一定要確認(rèn)轉(zhuǎn)換前一定要確認(rèn)ADC電源已打開(kāi),電源已打開(kāi),A/D轉(zhuǎn)換結(jié)束后關(guān)閉轉(zhuǎn)換結(jié)束后關(guān)閉ADC電源可降低功耗,也電源可降低功耗,也可不關(guān)閉??刹魂P(guān)閉。初次打開(kāi)內(nèi)部初次打開(kāi)內(nèi)部ADC轉(zhuǎn)換模擬電源,需適當(dāng)延時(shí),轉(zhuǎn)換模擬電源,需適當(dāng)延時(shí),等內(nèi)部模擬電源穩(wěn)定后,再啟動(dòng)等內(nèi)部模擬電源穩(wěn)定后,再啟動(dòng)A/D轉(zhuǎn)換。轉(zhuǎn)換。建議啟動(dòng)建議啟動(dòng)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)換所需時(shí)間轉(zhuǎn)換所需時(shí)間1190個(gè)時(shí)鐘周期轉(zhuǎn)換一次個(gè)時(shí)鐘周期轉(zhuǎn)換一次 ,CPU工作頻率工作頻率21MHz時(shí),時(shí), A/D轉(zhuǎn)換速度約轉(zhuǎn)換速度約300KHz,9位精度位精度10180個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到10位精度位精度01360個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到10位精度位精度00540個(gè)時(shí)鐘周期轉(zhuǎn)換一
43、次,可達(dá)到個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到10位精度位精度位位號(hào)號(hào)D7D6D5D4D3D2D1D0位位名名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0表表9-2 ADC轉(zhuǎn)換速度控制轉(zhuǎn)換速度控制55/105STC15F2K60S2單片機(jī)單片機(jī)A/D轉(zhuǎn)換模塊的時(shí)鐘轉(zhuǎn)換模塊的時(shí)鐘外部晶體時(shí)鐘或內(nèi)部外部晶體時(shí)鐘或內(nèi)部R/C振蕩器所產(chǎn)生的系統(tǒng)振蕩器所產(chǎn)生的系統(tǒng)時(shí)鐘,不使用時(shí)鐘分頻寄存器時(shí)鐘,不使用時(shí)鐘分頻寄存器CLK_DIV對(duì)系對(duì)系統(tǒng)時(shí)鐘分頻后所產(chǎn)生的供給統(tǒng)時(shí)鐘分頻后所產(chǎn)生的供給CPU工作所使用的工作所使用的時(shí)鐘。時(shí)鐘。優(yōu)點(diǎn)優(yōu)點(diǎn):不僅可以讓:不僅可以
44、讓ADC用較高的頻率工作,提用較高的頻率工作,提高高A/D的轉(zhuǎn)換速度;而且可以讓的轉(zhuǎn)換速度;而且可以讓CPU用較低的用較低的頻率工作,降低系統(tǒng)的功耗。頻率工作,降低系統(tǒng)的功耗。56/105需要注意需要注意設(shè)置設(shè)置ADC_CONTR控制寄存器的語(yǔ)句執(zhí)行后,控制寄存器的語(yǔ)句執(zhí)行后,要經(jīng)過(guò)要經(jīng)過(guò)4個(gè)個(gè)CPU時(shí)鐘的延時(shí)時(shí)鐘的延時(shí),其值才能夠保證,其值才能夠保證被設(shè)置進(jìn)被設(shè)置進(jìn)ADC_CONTR控制寄存器??刂萍拇嫫鳌5湫痛a如下:典型代碼如下: MOV ADC_CONTR, #DATA NOP NOP NOP NOP MOV A, ADC_CONTR ;經(jīng)過(guò)經(jīng)過(guò)4個(gè)時(shí)鐘延時(shí)個(gè)時(shí)鐘延時(shí),才能正確讀到才能
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)換完成后由該位申請(qǐng)產(chǎn)生中轉(zhuǎn)換完成后由該位申請(qǐng)產(chǎn)生中斷,還是由軟件查詢?cè)摌?biāo)志位判斷斷,還是由軟件查詢?cè)摌?biāo)志位判斷A/D轉(zhuǎn)換是轉(zhuǎn)換是否結(jié)束,當(dāng)否結(jié)束,當(dāng)A/D轉(zhuǎn)換完成后,轉(zhuǎn)換完成后,ADC_FLAG = 1,一定要軟件清一定要軟件清0。位位號(hào)號(hào)D7D6D5D4D3D2D1D0位位名名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS
46、1CHS058/105CHS2、CHS1、CHS0:模擬輸入通道選擇,:模擬輸入通道選擇,如表所示。如表所示。用用MOV 語(yǔ)句對(duì)語(yǔ)句對(duì)ADC_CONTR寄存器進(jìn)行賦值。寄存器進(jìn)行賦值。位位號(hào)號(hào)D7D6D5D4D3D2D1D0位位名名稱稱ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0CHS2CHS1CHS0模擬輸入通道選擇模擬輸入通道選擇000選擇選擇P1.0作為作為A/D輸入來(lái)用輸入來(lái)用001選擇選擇P1.1作為作為A/D輸入來(lái)用輸入來(lái)用010選擇選擇P1.2作為作為A/D輸入來(lái)用輸入來(lái)用011選擇選擇P1.3作為作為A/D輸入來(lái)用輸入來(lái)用
47、100選擇選擇P1.4作為作為A/D輸入來(lái)用輸入來(lái)用101選擇選擇P1.5作為作為A/D輸入來(lái)用輸入來(lái)用110選擇選擇P1.6作為作為A/D輸入來(lái)用輸入來(lái)用111選擇選擇P1.7作為作為A/D輸入來(lái)用輸入來(lái)用表9-3 模擬輸入通道選擇59/1053)A/D轉(zhuǎn)換結(jié)果存儲(chǔ)格式控制及轉(zhuǎn)換結(jié)果存儲(chǔ)格式控制及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é)果的存儲(chǔ)格式。換結(jié)果的存儲(chǔ)格式。 ADRJ位在位在時(shí)鐘分頻寄存器時(shí)鐘分頻寄存器CLK_DIV (也稱為也稱為PCON2,地址為地址為97H,復(fù)位值為,復(fù)位值為0000 x000B)中,其中,其各位的定義各位的定義如下如下:位號(hào)位號(hào)00D7D6D5D4D3D2D1D0位名稱位名稱MCKO_S1MCKO_S0ADRJTx_Rx-CLKS2CLKS1CLKS060/105 ADRJ=0時(shí),ADC_RES7:0存放高8位ADC結(jié)果,ADC_RESL1:0存放低2位ADC結(jié)果; ADRJ=1時(shí),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單片機(jī)的單片機(jī)的10位位A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果的高的高8位存放在位存放在ADC_RES中,低中,低2位存放在位存放在ADC_RESL的低的低2位中,模位中,模/數(shù)轉(zhuǎn)換結(jié)果計(jì)算公數(shù)轉(zhuǎn)換結(jié)果計(jì)算公式如下:式如下:取取10位結(jié)果位結(jié)果 (ADC_RES7:0,ADC_RESL1:0) = 1024Vin/Vcc取取8位結(jié)果位結(jié)果 ADC_RES7:0 = 256Vin / Vcc Vin為模擬輸入通道輸入電壓,為模擬輸入通道輸入電壓,Vcc為單片機(jī)實(shí)為單片機(jī)實(shí)際工作電壓,用單片機(jī)工作電壓作為模擬參考電壓。際工作電壓,用單片機(jī)工作電壓作為模擬參考電壓。62/1054)與)與A/D轉(zhuǎn)換
51、中斷有關(guān)的寄存器轉(zhuǎn)換中斷有關(guān)的寄存器中斷允許控制寄存器中斷允許控制寄存器IE中的中的EADC位(位(D5位)位)用于開(kāi)放用于開(kāi)放ADC中斷中斷EA位(位(D7位)用于開(kāi)放位)用于開(kāi)放CPU中斷中斷中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IP中的中的PADC位(位(D5位)用位)用于設(shè)置于設(shè)置A/D中斷的優(yōu)先級(jí)中斷的優(yōu)先級(jí) 在中斷服務(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單片機(jī)單片機(jī)ADC模塊的使用模塊的使用編程要點(diǎn)編程要點(diǎn) 打開(kāi)打開(kāi)ADC電源,第一次使
52、用時(shí)要打開(kāi)內(nèi)部模電源,第一次使用時(shí)要打開(kāi)內(nèi)部模擬電源(設(shè)置擬電源(設(shè)置ADC_CONTR)。)。 適當(dāng)延時(shí),等內(nèi)部模擬電源穩(wěn)定。一般延時(shí)適當(dāng)延時(shí),等內(nèi)部模擬電源穩(wěn)定。一般延時(shí)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é)果存儲(chǔ)格式(設(shè)置根據(jù)需要設(shè)置轉(zhuǎn)換結(jié)果存儲(chǔ)格式(設(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寄存器寄存器中),并進(jìn)行數(shù)據(jù)處理。中),并進(jìn)行數(shù)據(jù)處理。65/105讀取轉(zhuǎn)換結(jié)果注意:讀取轉(zhuǎn)換結(jié)果注意:如果是多通道模擬量進(jìn)行轉(zhuǎn)換,則更換如果是多通道模擬量進(jìn)行轉(zhuǎn)換,則更換A/D轉(zhuǎn)轉(zhuǎn)換通道后要適當(dāng)延時(shí),使輸入電壓穩(wěn)定,延時(shí)換通道后要適當(dāng)延時(shí),使輸入電壓穩(wěn)定,延時(shí)量取量取20s200s即可,與輸入電壓源的內(nèi)阻有即可,與輸入電壓源的內(nèi)阻有關(guān)。關(guān)。如果輸入電壓信號(hào)源的內(nèi)阻在如果輸入電壓信號(hào)源的內(nèi)阻在10K 以下,可以下,可不加延時(shí)。不加延時(shí)。如果是單通道模擬量轉(zhuǎn)換,則不需要更換如果是單
54、通道模擬量轉(zhuǎn)換,則不需要更換A/D轉(zhuǎn)換通道,也就不需要加延時(shí)。轉(zhuǎn)換通道,也就不需要加延時(shí)。66/105若采用中斷方式,還需進(jìn)行中斷設(shè)置(若采用中斷方式,還需進(jìn)行中斷設(shè)置(EADC置置1,EA置置1)。)。在中斷服務(wù)程序中讀取在中斷服務(wù)程序中讀取ADC轉(zhuǎn)換結(jié)果,并將轉(zhuǎn)換結(jié)果,并將ADC中斷請(qǐng)求標(biāo)志中斷請(qǐng)求標(biāo)志ADC_FLAG清零。清零。67/105【例例9-2】 編程實(shí)現(xiàn)利用編程實(shí)現(xiàn)利用STC15F2K60S2單片機(jī)單片機(jī)ADC通道通道2采集外部模擬電壓信號(hào),采集外部模擬電壓信號(hào),8位精度,位精度,采用查詢方式循環(huán)進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果保采用查詢方式循環(huán)進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果保存于存于30H單元
55、中。假設(shè)時(shí)鐘頻率為單元中。假設(shè)時(shí)鐘頻率為18.432MHz。解解:?。喝?位精度時(shí),若位精度時(shí),若ADRJ-0,則可直接使用,則可直接使用轉(zhuǎn)換結(jié)果寄存器轉(zhuǎn)換結(jié)果寄存器ADC_RES的值。由于復(fù)位后,的值。由于復(fù)位后,ADRJ=0,因此,按照,因此,按照ADC的編程要點(diǎn)進(jìn)行初的編程要點(diǎn)進(jìn)行初始化后,直接判斷始化后,直接判斷ADC_FLAG標(biāo)志是否為標(biāo)志是否為1,若為若為1,則讀出,則讀出ADC_RES寄存器的值,并存入寄存器的值,并存入30H即可;若為即可;若為0,則繼續(xù)等待。,則繼續(xù)等待。68/105匯編語(yǔ)言程序代碼如下:匯編語(yǔ)言程序代碼如下:$INCLUDE (STC15.INC) ;包含包
56、含STC15單片機(jī)寄存器定義文件單片機(jī)寄存器定義文件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 ;開(kāi)開(kāi)A/D轉(zhuǎn)換電源轉(zhuǎn)換電源 MOV A, #20H LCALL DELAY ;開(kāi)電源后加適當(dāng)延時(shí),開(kāi)電源后加適當(dāng)延時(shí),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)換通道,則需要加延時(shí)則需要加延時(shí)69/105WAIT_AD: ORL ADC_CONTR, #00001000B ;啟動(dòng)啟動(dòng)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: ;延時(shí)子程序延時(shí)子程序 PUSH 02 ;將寄存器組將寄存器組0 的的 R2 入棧入棧 PUSH 03 ;將寄存器組將寄存器組0 的的 R3 入棧入棧 PUSH 04 ;將寄存器組將寄存器組0 的的 R4 入棧入棧 MOV R4, A DELAY_LOOP0: MOV R3, #200 ;2個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期Delay_LOOP1: MOV R2, #249 ;2個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期DELAY_LOOP: DJNZ R2, DELAY_LOOP ;4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 DJNZ R3, DE
59、LAY_LOOP1 ;4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 DJNZ R4, DELAY_LOOP0 ;4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 POP 04 POP 03 POP 02 RET END71/105C語(yǔ)言程序代碼如下:語(yǔ)言程序代碼如下:#include “stc15.h” /包含包含STC15單片機(jī)寄存器定義文件單片機(jī)寄存器定義文件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; /開(kāi)開(kāi)A/D轉(zhuǎn)換電源轉(zhuǎn)換電
60、源 for (i=0;i10000;i+); /適當(dāng)延時(shí)適當(dāng)延時(shí) P1ASF=0 x04; /選擇選擇P1.2作為作為A/D轉(zhuǎn)換通道轉(zhuǎn)換通道 ADC_CONTR=0 xE2; for (i=0;i10000;i+); /適當(dāng)延時(shí)適當(dāng)延時(shí) while(1) /循環(huán)進(jìn)行循環(huán)進(jìn)行A/D 轉(zhuǎn)換轉(zhuǎn)換 ADC_CONTR|=0 x08; /重新啟動(dòng)重新啟動(dòng) 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)公司實(shí)習(xí)生協(xié)議
- 歐式酒店羅馬柱施工合同
- 照明工程人工費(fèi)施工合同
- 會(huì)計(jì)實(shí)習(xí)生聘用合同
- 企業(yè)社會(huì)責(zé)任績(jī)效
- 糖尿病的健康管理方案設(shè)計(jì)
- 工程項(xiàng)目合同質(zhì)量管理情況記錄
- 電子產(chǎn)品測(cè)試顧問(wèn)協(xié)議
- 工程施工轉(zhuǎn)讓合同協(xié)議
- 2022年大學(xué)工程力學(xué)專業(yè)大學(xué)物理下冊(cè)期中考試試題B卷-附解析
- 屠宰場(chǎng)食品安全管理制度
- 部編版(2024秋)語(yǔ)文一年級(jí)上冊(cè) 6 .影子課件
- 2024秋期國(guó)家開(kāi)放大學(xué)??啤缎淌略V訟法學(xué)》一平臺(tái)在線形考(形考任務(wù)一至五)試題及答案
- 2024年大學(xué)生就業(yè)創(chuàng)業(yè)知識(shí)競(jìng)賽題庫(kù)及答案(共350題)
- 基于SICAS模型的區(qū)域農(nóng)產(chǎn)品品牌直播營(yíng)銷策略研究
- 《算法設(shè)計(jì)與分析基礎(chǔ)》(Python語(yǔ)言描述) 課件 第6章分支限界法
- 病例討論英文
- 2024秋期國(guó)家開(kāi)放大學(xué)??啤兑簤号c氣壓傳動(dòng)》一平臺(tái)在線形考(形考任務(wù)+實(shí)驗(yàn)報(bào)告)試題及答案
- 個(gè)人健康管理平臺(tái)使用操作教程
- 【課件】植物體的結(jié)構(gòu)層次課件-2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 24秋國(guó)家開(kāi)放大學(xué)《0-3歲嬰幼兒的保育與教育》期末大作業(yè)參考答案
評(píng)論
0/150
提交評(píng)論