




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第9章STC12C5A60S2單片機的片內A/D轉換器
9.1A/D轉換器的內部結構9.2A/D轉換器的相關寄存器9.3A/D轉換器的應用第9章STC12C5A60S2單片機的片內A/D轉換器傳統的單片機只能處理數字量信息,但在應用中經常需要處理一些連續變化的模擬量,例如溫度、流量、電壓、頻譜等,這就需要先經過A/D轉換轉變成單片機可以處理的數字量。STC90C58AD、STC12C5A60S2、STC12C5410AD等單片機內部集成了8路10位A/D轉換電路,轉換速度可達到250KHz(25萬次/秒),即轉換周期為4μs。9.1A/D轉換的內部結構STC12C5A60S2單片機的A/D轉換的輸入端在P1口(P1.7-P1.0),上電復位后,P1口為弱上拉,用戶可以通過程序將8路中的任何一路設置為A/D轉換,不需作為A/D使用的口可繼續作為I/O口使用。從最高位開始的逐位試探法逐次逼近型A/D轉換器轉換原理:模擬量輸入逐次逼近式:轉換前,N位寄存器寫入的數據先由最高位置1,DAC輸出值與被測的模擬值進行比較:如果“低于”,該位的1被保留;如果“高于”該位的1被清除。然后下一位再置1,再比較,決定是否保留……直至最低位完成同一過程。寫入的數據從最高位到最低位都試探過一遍的最終值就是A/D轉換的結果。9.2A/D轉換器的相關寄存器
與A/D轉換器相關的寄存器有:P1口模擬功能控制寄存器P1ASFA/D轉換器控制寄存器ADC_CONTRA/D轉換結果寄存器ADC_RES、ADC_RESL輔助寄存器AUXR1與A/D中斷有關的寄存器IE、IPH和IP1.P1口模擬功能控制寄存器P1ASF(地址9DH)
當P1口中某引腳要作為A/D使用時,要將P1ASF寄存器
中該引腳所對應的位置1,即該引腳設置為模擬功能;
通過MOVP1ASF,#DATA指令實現。2.ADC控制寄存器ADC_CONTR(地址BCH)
啟動A/D轉換之前一定要保證A/D轉換器的電源已打開,并且首次開啟內部A/D轉換電源時,需要適當的延時,等內部電源穩定后,再啟動A/D轉換。A/D轉換結束后關閉A/D轉換器的電源可降低功耗。ADC_POWER:A/D轉換器的電源控制位。當該位為1時,開啟A/D轉換器電源;當該位為0時,關閉A/D轉換器電源。SPEED1、SPEED0:轉換速度控制位。對SPEED1、SPEED0兩位取不同的值時,A/D轉換所需的時間不同,具體情況如表9-1所示SPEED1SPEED0A/D轉換所需時間1190個時鐘周期轉換一次10180個時鐘周期轉換一次01360個時鐘周期轉換一次00540個時鐘周期轉換一次ADC_FLAG:A/D轉換器轉換結束標志位,當A/D轉換完成后,硬件自動將ADC_FLAG位置1,但要通過程序將其清0。ADC_START:
轉換啟動控制位。將該位設置為1時,啟動轉換。轉換結束后,該位自動清0。下次需要啟動A/D轉換時,必須再次將該位置1。CHS2、CHS1、CHS0:模擬輸入通道選擇。當CHS2、CHS1、CHS0三位取不同的值時,選擇P1口不同的引腳作為模擬輸入通道,具體情況如表9-2所示。CHS2CHS1CHS0模擬輸入通道選擇000P1.0作為A/D輸入001P1.1作為A/D輸入010P1.2作為A/D輸入011P1.3作為A/D輸入100P1.4作為A/D輸入101P1.5作為A/D輸入110P1.6作為A/D輸入111P1.7作為A/D輸入3.A/D轉換結果寄存器ADC_RES、ADC_RESL
(地址0BDH、0BEH)
用于保存A/D轉換結果。當輔助寄存器AUXR1(參見圖2-8)中ADRJ(A/D轉換結果寄存器的數據格式調整控制)位為0時,10位A/D轉換結果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的低2位中。ADRJ位為1時,10位A/D轉換結果的高2位存放在ADC_RES寄存器的低2位中,低8位存放在ADC_RESL寄存器中。10位A/D轉換的結果與輸入電壓的關系為:(ADC_RES[1:0],ADC_RESL[7:0])=2109.3A/D轉換器的應用
實現A/D轉換的步驟如下:(1)設置P1ASF寄存器,確定P1口的相應引腳作為模擬輸入通道,設置輔助寄存器AUXR1中的ADRJ位確定轉換結果保存格式;(2)設置A/D轉換控制寄存器ADC_CONTR,打開A/D轉換電源,確定轉換速度和轉換通道;(3)啟動A/D轉換。上電后首次打開內部AD轉換模擬電源時,需適當延時,待內部模擬電源穩定后,再啟動A/D轉換。(4)A/D轉換啟動后經4個時鐘周期延時可以通過軟件查詢ADC_CONTR寄存器中的ADC_FLAG位是否為1,當ADC_FLAG為1時表明A/D轉換結束。AD轉換結束后需將ADC_FLAG位清0。【例9-1】設單片機的系統時鐘頻率為12MHz,利用STC12C5A60S2單片機中的A/D轉換模塊,將測溫電阻PT1000的阻值隨溫度變化所形成的電壓信號轉換成數字信號,單片機讀取后存放于30H、31H單元,如圖9-5所示。
【例9-1】設單片機的系統時鐘頻率為12MHz,利用STC12C5A60S2單片機中的A/D轉換模塊,將測溫電阻PT1000的阻值隨溫度變化所形成的電壓信號轉換成數字信號,單片機讀取后存放于30H、31H單元,如圖9-5所示。
分析:首先將PT1000阻值變化所反應出的電壓信號經儀表放大器AD623放大成0-5V的電壓信號。經單片機內部的A/D轉換器轉換成數字量,為了提高轉換的精確度,盡量減小電源噪聲的影響,可連續采集64次,并對A/D轉換的結果求和,相當于實現16位的A/D轉換。匯編語言子程序AD_RESULT1EQU30H;A/D轉換結果的高8位AD_RESULT2EQU31H;A/D轉換結果的低8位P1ASFEQU9DHAUXR1EQUA2HADC_CONTREQUBCHAD_CONVERT: MOVP1ASF,#01H;選擇P1.0為A/D轉換模擬量的輸入
ORLAUXR1,#00000100B;選擇ADRJ位為1 MOVA,#0E0HMOVADC_CONTR,A;開啟A/D轉換的電源 MOV AD_RESULT1,#00H MOV AD_RESULT2,#00H
LCALLDELAY_10μs;等待A/D轉換電源穩定 MOV A,#11101000B MOV ADC_CONTR,A
;啟動A/D轉換 MOV R6,#64 ;R6作為計數器AD_CONVERT1:
LCALLAD_CONV;調用A/D轉換的子程序 DJNZR6,AD_CONVERT1;64次轉換未結束,繼續轉換 MOVA,#0 MOVADC_CONTR,A;清ADC_FLAG位,并停止AD轉換 RETAD_CONV: MOV A,ADC_CONTR JNB ACC.4,AD_CONV;等待A/D轉換結束 MOV A,#11101000B MOV ADC_CONTR,A ;再次啟動AD轉換
MOV A,ADC_RESL;讀轉換結果的低8位 ADD A,AD_RESULT2;與低8位結果相加 MOVAD_RESULT2,A;將得到的結果存放至31H單元MOVA,ADC_RES;讀轉換結果的高兩位ANLA,#03H;屏蔽ADC_RES寄存器的高6位
ADDCA,AD_RESULT1;與高8位結果相加 MOVAD_RESULT1,A;將得到的結果存放至30H單元 RETDELAY_10μs:
MOV
R5,#1EH
DJNZ
R5,$
RETC51程序:#include<STC12C5A.h>#include<intrins.h>//聲明本征函數庫unsignedinttemp,result;unsignedcharnum=0x40;//設置A/D轉換次數voidAD_CONV();//A/D轉換函數的聲明voidDELAY_10μs();//延時10μs函數的聲明voidmain(){ P1ASF=0x01;選擇P1.0為A/D轉換模擬量的輸入
AUXR1=0x04;選擇ADRJ位為1 ADC_CONTR=0xE0;//開啟動A/D轉換的電源 DELAY_10μs();//延時10μs ADC_CONTR=0xE8;//啟動A/D轉換
while(num!=0) { AD_CONV();//調用A/D轉換函數 num--;//計數值減1 }
while(1);}
voidAD_CONV(){
do{ temp=ADC_CONTR;//讀A/D轉換的控制寄存器的內容 }while((temp&0x10)!=0x10);//等待A/D轉換結束 ADC_CONTR=0xE8;//再次啟動A/D轉換 temp=ADC_RESL;//讀轉換結果的低8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國家稅務面試題及答案
- 海水淡化面試題及答案
- 環保教育考試題及答案
- 灰雀教學設計
- 初一語文教師下學期工作總結模版
- 房屋買賣變更合同范本
- 火鍋店代運營合伙協議書
- 辦公軟件代理銷售協議書
- 合同經營利潤分成協議書
- 合股開公司協議書
- 統編版語文三年級上冊第四單元快樂讀書吧:在那奇妙的王國里 課件
- 會展安全風險評估報告
- 河南省青桐鳴大聯考普通高中2024-2025學年高三考前適應性考試英語試題及答案
- 內蒙古自治區通遼市2025屆高三下學期三模生物試題 含解析
- 浙江省麗水市2023-2024學年高一數學下學期6月期末教學質量監控試題含答案
- 權益維護課件
- 29.液化天然氣加氣站特種設備事故應急預案
- 2025-2030全球美容機構行業消費需求與未來經營規模預測研究報告
- 浙江省金華市2025屆六年級下學期5月模擬預測數學試題含解析
- 關節科考試試題及答案
- 2025新高考地理復習十大時事熱點及命題預測(學生版+解析版)
評論
0/150
提交評論