




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、高等學(xué)校計算機(jī)專業(yè)特色教材帝Principle and Application廠Iof SingleChip Microcomputer與應(yīng)用娛于匯編、C51及混介編程陳萸程月波荊肅等編著本書以STC12C5A60S2®片機(jī)為主拔.系嫌地誘述了單片機(jī)的母理 及按口技術(shù)"該單片機(jī)的引陽及18令集與傳統(tǒng)的51單片機(jī)廉狎片內(nèi)企jg 豐,iatfS度快書中例越多烏實際應(yīng)用密切絡(luò)合.并給出了匯MKC51 M種參考程序;所用的中得剁fKiJ.電路中用到的器件都 給出了兵體參越;書中字民示3:度計、RLCM儀期個應(yīng)用實 St ftfflC51與匯»iS«iR合塢程的方
2、法.充分體規(guī)了曲種集幔語育的優(yōu) W.抵導(dǎo)初學(xué)名入門。km «7i-f-o*-ms?>-ySW 37.00元第9章STC12C5A60S2單片機(jī)的片內(nèi)A/D轉(zhuǎn)換器9.1 A/D轉(zhuǎn)換器的內(nèi)部結(jié)構(gòu)A/D轉(zhuǎn)換器的相關(guān)寄存器 93 A/D轉(zhuǎn)換器的應(yīng)用第9章STC12C5A60S2單片機(jī)的片內(nèi)A/D轉(zhuǎn)換器傳統(tǒng)的單片機(jī)只能處理數(shù)字量信息,但在應(yīng)用中 經(jīng)常需要處理一些連續(xù)變化的模擬量,例如溫度、 流量、電壓、頻譜等,這就需要先經(jīng)過A/D轉(zhuǎn)換轉(zhuǎn) 變成單片機(jī)可以處理的數(shù)字量。 STC90C58AD、STC12C5A60S2、STC12C5410AD等單 片機(jī)內(nèi)部集成了8路10位A/D轉(zhuǎn)換電路,轉(zhuǎn)換
3、速度 可達(dá)到250KHZ (25萬次/秒),即轉(zhuǎn)換周期為4|is。9.1 A/D轉(zhuǎn)換的內(nèi)部結(jié)構(gòu)A/D轉(zhuǎn)換控制寄存器ADC CONTR逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換原理:I從最高位開始的逐位試探法D/A轉(zhuǎn)換器輸出緩沖器0EN位數(shù)字 量輸出直至最低位完成同一過程。寫入的數(shù)據(jù)從最高位到最低逐次逼近式:轉(zhuǎn)換前,N位寄存器寫入的數(shù)據(jù)先由最高位置1, DAC 輸出值與被測的模擬值進(jìn)行比較:如果“低于”,該位的1被保留; 如果“高于”該位的1被清除。然后下一位再置1,再比較,決定是 否保位都試探過一遍的最終值就是A / D轉(zhuǎn)換的結(jié)果。9.2 A/D轉(zhuǎn)換器的相關(guān)寄存器與A/D轉(zhuǎn)換器相關(guān)的寄存器有:P1 口模擬功能
4、控制寄存器P1ASFA/D轉(zhuǎn)換器控制寄存器ADC_CONTRA/D轉(zhuǎn)換結(jié)果寄存器ADC_RES、ADC_RESL輔助寄存器AUXR1 與A/D中斷有關(guān)的寄存器IE、IPH和IP1. Pl口模擬功能控制寄存器P1ASF (地址9DH)D7D61)51)4D31)2D1DO.P17ASF.P16ASF,P15ASEP14ASF,P13ASEP12ASEPHASEP1OASF.當(dāng)P1 口中某引腳要作為A/D使用時,要將P1ASF寄存器 中該引腳所對應(yīng)的位置1,即該引腳設(shè)置為模擬功能;通過MOV P1 ASF,#DATA指令實現(xiàn)。1)71)61)5D41)3D21)1DO.ADC PO、VERSPEE
5、D1SPEEDOADC FLAGADC STARTCHS2CHS!CHSO2.ADC控制寄存器ADC_CONTR (地址BCH)、CHS2CHS1 CHSO模擬輸入通道選擇/SPEED000P1.0作為A/D輸入/ 1001P1.1作為A/D輸入政喪 輪入通道選擇。1010P1.2作為A/D輸入取不同的值時, 真擬輸入通道,0011P1.3作為A/D輸入啟0100P1.4作為A/D輸入專換一次1首次開啟101P1.5作為A/D輸入,等內(nèi)部電源穩(wěn)定后,110P1.6作為A/D輸入A/D轉(zhuǎn)換器的電源可降111P1.7作為A/D輸入3. A/D轉(zhuǎn)換結(jié)果寄存器ADC_RES、ADC_RESL(地址OB
6、DH、OBEH)用于保存A/D轉(zhuǎn)換結(jié)果。當(dāng)輔助寄存器AUXR1 (參見圖2-8)中ADRJ (A/D轉(zhuǎn)換結(jié)果寄存器的數(shù)據(jù)格式調(diào)整控制)位為0時,10位A/D轉(zhuǎn)換 結(jié)果的高8位存放在ADC.RES中,低2位存放在ADC.RESL的 低2位中。 ADRJ位為1時,10位A/D轉(zhuǎn)換結(jié)果的高2位存放在ADC_RES寄存器的低2位中,低8位存放在ADC_RESL寄存器中。 10位A/D轉(zhuǎn)換的結(jié)果與輸入電壓的關(guān)系為:Vinxvcc(ADC_RES1: 0, ADC_RESL7: O)=21093 A/D轉(zhuǎn)換器的應(yīng)用實現(xiàn)A/D轉(zhuǎn)換的步驟如下:(1) 設(shè)置P1ASF寄存器,確定P1 口的相應(yīng)引腳作為模擬輸入
7、通道,設(shè)置輔助寄存器AUXR1中的ADRJ位確定轉(zhuǎn)換結(jié)果保 存格式;(2) 設(shè)置A/D轉(zhuǎn)換控制寄存器ADC_CONTR,打開A/D轉(zhuǎn)換電 源,確定轉(zhuǎn)換速度和轉(zhuǎn)換通道;(3) 啟動A/D轉(zhuǎn)換。上電后首次打開內(nèi)部AD轉(zhuǎn)換模擬電源時, 需適當(dāng)延時,待內(nèi)部模擬電源穩(wěn)定后,再啟動A/D轉(zhuǎn)換。(4) A/D轉(zhuǎn)換啟動后經(jīng)4個時鐘周期延時可以通過軟件查詢 ADC_CONTR寄存器中的ADC_FLAG位是否為1,當(dāng)ADC_FLAG 為1研表明A/D轉(zhuǎn)換結(jié)束。AD轉(zhuǎn)換結(jié)束后需將ADC.FLAG位 清0。.-a-rin【例9-1設(shè)單片機(jī)的系統(tǒng)時鐘頻率為12MHz ,利用 STC12C5A60S2單片機(jī)申的A/D轉(zhuǎn)換
8、模塊,將測溫電阻PT1000 的阻值隨溫度變化所形成的電壓信號轉(zhuǎn)換成數(shù)字信號,里片 機(jī)讀取后存放于30H、31H單元,如圖9-5所示?!纠?-1設(shè)單片機(jī)的系統(tǒng)時鐘頻率為12MHz ,利用STC12C5A60S2單片機(jī)中的A/D轉(zhuǎn)換模塊,將測溫電阻PT1000的阻值隨溫度變化所形成的電壓信號轉(zhuǎn)換成數(shù)字信號,單片 機(jī)讀取后存放于30H、31H單元,如圖9-5所示。分析:首先將PT1000阻值變化所反應(yīng)出的電壓信號經(jīng)儀表 放大器AD623放大成05V的電壓信號。經(jīng)單片機(jī)內(nèi)部的 A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量,為了提高轉(zhuǎn)換的精確度,盡量 減小電源噪聲的影響,可連續(xù)采集64次,并對A/D轉(zhuǎn)換的 結(jié)果求和,相當(dāng)
9、于實現(xiàn)16位的A/D轉(zhuǎn)換。匯編語言子程序AD_RESULT1 EQU 30H ; A/D轉(zhuǎn)換結(jié)果的高8位AD_RESULT2 EQU 31H ; A/D轉(zhuǎn)換結(jié)果的低8位P1ASFEQU 9DHAUXR1 EQU A2HADC CONTR EQUCHAD_CONVERT:MOVP1ASFZ#O1H ;選擇P1.0為A/D轉(zhuǎn)換模擬量的輸入ORL AUXRl,#00000100B;選擇ADRJ位為 1MOV Az#0E0HMOV ADC_CONTR, A;開啟A/D轉(zhuǎn)換的電源MOVAD_RESULTb#OOHMOVAD_RESULT 乙 #00HLCALL DELAY_10ps ;等待A/D轉(zhuǎn)換電源
10、穩(wěn)定MOVM11101000BMOVADC_CONTR,A;啟動 A/D 轉(zhuǎn)換MOVR6,#64;R6作為計數(shù)器AD_CONVERT1:LCALL AD_CONV ;調(diào)用A/D轉(zhuǎn)換的子程序DJNZ R6, AD_CONVERT1 ; 64次轉(zhuǎn)換未結(jié)束,繼續(xù)轉(zhuǎn)換MOV A,#0MOV ADC_CONTR,A;清ADC_FLAG位,并停止AD轉(zhuǎn)換RETAD CONV:MOVA,ADC_CONTRJNACC.4, AD_CONV;等待A/D轉(zhuǎn)換結(jié)束MOVMOVADD;再次啟動AD轉(zhuǎn)換 讀轉(zhuǎn)換結(jié)果的低8位 ;與低8位結(jié)果相加MOV MlllOlOOOADC_CONTR,A ApADC_RESL ;A,
11、 AD_RESULT2MOV AD_RESULT乙A ;將得到的結(jié)果存放至31H單元 MOV A, ADC_RES ;讀轉(zhuǎn)換結(jié)果的高兩位ANL A,#03H ;屏蔽ADC_RES寄存器的高6位ADDC A, AD_RESULT1 ;與高8位結(jié)果相加MOV AD_RESULT1?A ;將得到的結(jié)果存放至30H單元RETDELAYJLOps:MOV R5,#1EHDJNZ R5,$RETC51程序:#include<STC12C5A.h>#include<intrins.h> 聲明本征函數(shù)庫 unsigned int temp,result;unsigned char nu
12、m=0x40;設(shè)置A/D轉(zhuǎn)換次數(shù) void AD_CONV (); /A/D轉(zhuǎn)換函數(shù)的聲明 void DELAY_10pis();延時 10ps函數(shù)的聲明 void main() PlASF=0x01;選擇P1.0為A/D轉(zhuǎn)換模擬量的輸入AUXRl=0x04;選擇ADRJ位為 1 ADC_CONTR=OxEO;開啟動A/D轉(zhuǎn)換的電源 DELAY_10pis (); 延時lOpis ADCCONTR=OxE8;/ 啟動 A/D 轉(zhuǎn)換 while(num!=O) AD_CONV ();調(diào)用A/D轉(zhuǎn)換函數(shù) num;/計藪值漩1while(l);void AD_CONV ()dotemp= ADC_CONTR; /讀A/D轉(zhuǎn)換的控制寄存器的內(nèi)容 while ( (temp &0x10)1=0x10);等待A/D轉(zhuǎn)換結(jié)束 ADC_CONTR=OxE8; 再次啟動A/D轉(zhuǎn)換 temp=ADC_RESL; /讀轉(zhuǎn)換結(jié)果的低8
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西寧花卉大棚管理辦法
- 宜興存儲檔案管理辦法
- 部門在家辦公管理辦法
- 肺與健康課件
- 肢端肥大護(hù)理課件
- 股骨護(hù)理課件
- 腸癖中醫(yī)教學(xué)課件
- 回彈儀培訓(xùn)課件
- 二零一九年小考數(shù)學(xué)試卷
- 高三考數(shù)學(xué)試卷
- 2025年艾滋病知識講座
- 康養(yǎng)項目的可行性研究報告
- TCAMA 109-2024 半封閉溫室設(shè)計規(guī)范
- 《尼爾斯騎鵝旅行記》讀書分享課件
- 《摩爾根果蠅實驗》課件
- 北京八中分班數(shù)學(xué)試卷
- 培訓(xùn)課件:血糖監(jiān)測
- 康復(fù)醫(yī)學(xué)科關(guān)于無效中止康復(fù)訓(xùn)練的制度與流程
- 工傷保險待遇申請表
- 【藝恩】JELLYCAT品牌洞察報告
- 2025年中考物理終極押題猜想(廣東省卷專用)(原卷版)
評論
0/150
提交評論