第11章--89C51單片機與DA轉(zhuǎn)換器-AD轉(zhuǎn)換器的接口.ppt_第1頁
第11章--89C51單片機與DA轉(zhuǎn)換器-AD轉(zhuǎn)換器的接口.ppt_第2頁
第11章--89C51單片機與DA轉(zhuǎn)換器-AD轉(zhuǎn)換器的接口.ppt_第3頁
第11章--89C51單片機與DA轉(zhuǎn)換器-AD轉(zhuǎn)換器的接口.ppt_第4頁
第11章--89C51單片機與DA轉(zhuǎn)換器-AD轉(zhuǎn)換器的接口.ppt_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第11章89C51單片機與D A轉(zhuǎn)換器 A D轉(zhuǎn)換器的接口 非電物理量 溫度 壓力 流量 速度等 須經(jīng)傳感器轉(zhuǎn)換成模擬電信號 電壓或電流 必須轉(zhuǎn)換成數(shù)字量 才能在單片機中處理 A D轉(zhuǎn)換器 ADC 模擬量 數(shù)字量的器件 D A轉(zhuǎn)換器 DAC 數(shù)字量 模擬量的器件 數(shù)字量 也常常需要轉(zhuǎn)換為模擬信號 只需合理選用商品化的大規(guī)模ADC DAC芯片 了解引腳及功能以及與單片機的接口設計 11 189C51與DAC的接口 11 1 1D A轉(zhuǎn)換器概述 1 概述 輸入 數(shù)字量 輸出 模擬量 轉(zhuǎn)換過程 送到DAC的各位二進制數(shù)按其權(quán)的大小轉(zhuǎn)換為相應的模擬分量 再把各模擬分量疊加 其和就是D A轉(zhuǎn)換的結(jié)果 使用D A轉(zhuǎn)換器時 要注意區(qū)分 D A轉(zhuǎn)換器的輸出形式 內(nèi)部是否帶有鎖存器 1 D A轉(zhuǎn)換器的兩種輸出形式 兩種輸出形式 電壓輸出形式與電流輸出形式 電流輸出的D A轉(zhuǎn)換器 如需模擬電壓輸出 可在其輸出端加一個I V轉(zhuǎn)換電路 2 D A轉(zhuǎn)換器內(nèi)部是否帶有鎖存器 由于D A轉(zhuǎn)換需要一定的時間 在這段時間內(nèi)D A轉(zhuǎn)換器輸入端的數(shù)字量應保持穩(wěn)定 為此應當在D A轉(zhuǎn)換器數(shù)字量輸入端的設置鎖存器 目前的D A轉(zhuǎn)換器內(nèi)部大多帶有鎖存器 有的還具有雙重或多重數(shù)據(jù)緩沖電路 2 主要技術指標 1 分辨率 輸入給DAC的單位數(shù)字量變化引起的模擬量輸出的變化 通常定義為輸出滿刻度值與2n之比 顯然 二進制位數(shù)越多 分辨率越高 例如 若滿量程為10V 根據(jù)定義則分辨率為10V 2n 設8位D A轉(zhuǎn)換 即n 8 分辨率為10V 2n 39 1mV 該值占滿量程的0 391 用1LSB表示 同理 10位D A 1LSB 9 77mV 0 1 滿量程12位D A 1LSB 2 44mV 0 024 滿量程 根據(jù)對DAC分辨率的需要 來選定DAC的位數(shù) 2 建立時間 描述DAC轉(zhuǎn)換快慢的參數(shù) 表明轉(zhuǎn)換速度 定義 為從輸入數(shù)字量到輸出達到終值誤差 1 2 LSB 最低有效位 時所需的時間 電流輸出時間較短 電壓輸出再加上I V轉(zhuǎn)換時間 因此建立時間要長一些 快速DAC可達1 s以下 3 精度 理想情況 精度與分辨率基本一致 位數(shù)越多精度越高 但由于電源電壓 參考電壓 電阻等各種因素存在著誤差 精度與分辨率并不完全一致 位數(shù)相同 分辨率則相同 但相同位數(shù)的不同轉(zhuǎn)換器精度會有所不同 例如 某型號的8位DAC精度為0 19 另一型號的8位DAC精度為0 05 11 1 2AT89C51與8位DAC0832的接口 1 DAC0832芯片介紹 1 DAC0832的特性 美國國家半導體公司產(chǎn)品 具有兩個輸入數(shù)據(jù)寄存器的8位DAC 能直接與89C51單片機相連 主要特性如下 分辨率為8位 電流輸出 穩(wěn)定時間為1 s 可雙緩沖輸入 單緩沖輸入或直接數(shù)字輸入 單一電源供電 5 15V 2 DAC0832的引腳及邏輯結(jié)構(gòu) 引腳 圖11 1 DAC0832的邏輯結(jié)構(gòu) 圖11 2 引腳功能 DI0 DI7 8位數(shù)字信號輸入端 CS 片選端 ILE 數(shù)據(jù)鎖存允許控制端 高電平有效 WR1 輸入寄存器寫選通控制端 當CS 0 ILE 1 WR1 0時 數(shù)據(jù)信號被鎖存在輸入寄存器中 XFER 數(shù)據(jù)傳送控制 WR2 DAC寄存器寫選通控制端 當XFER 0 WR2 0時 輸入寄存器狀態(tài)傳入DAC寄存器中 IOUT1 電流輸出1端 輸入數(shù)字量全 1 時 IOUT1最大 輸入數(shù)字量全為 0 時 IOUT1最小 IOUT2 D A轉(zhuǎn)換器電流輸出2端 IOUT2 IOUT1 常數(shù) Rfb 外部反饋信號輸入端 內(nèi)部已有反饋電阻Rfb 根據(jù)需要也可外接反饋電阻 Vcc 電源輸入端 可在 5V 15V范圍內(nèi) DGND 數(shù)字信號地 AGND 模擬信號地 8位輸入寄存器 用于存放CPU送來的數(shù)字量 使輸入數(shù)字量得到緩沖和鎖存 由LE1 控制 8位DAC寄存器 存放待轉(zhuǎn)換的數(shù)字量 由LE2 控制 8位D A轉(zhuǎn)換電路 由T型電阻網(wǎng)絡和電子開關組成 T型電阻網(wǎng)絡輸出和數(shù)字量成正比的模擬電流 因此 DAC0832通常需要外接I V轉(zhuǎn)換的運算放大器電路 才能得到模擬輸出電壓 2 AT89C51與DAC0832的接口電路設計設計AT89C51單片機與DAC0832的接口電路時 常用單緩沖方式或雙緩沖方式的單極性輸出 1 單緩沖方式DAC0832的兩個數(shù)據(jù)緩沖器有一個處于直通方式 另一個處于受控的鎖存方式 在不要求多路輸出同步的情況下 可采用單緩沖方式 單緩沖方式的接口如圖11 3 圖11 3 圖11 3中 WR2 和XFER 接地 故DAC0832的 8位DAC寄存器 見圖11 2 處于直通方式 8位輸入寄存器 受CS 和WR1 端控制 且由譯碼器輸出端FEH送來 也可由P2口的某一根口線來控制 因此 89C51執(zhí)行如下兩條指令就可在WR1 和CS 上產(chǎn)生低電平信號 使0832接收89C51送來的數(shù)字量 MOVR0 0FEH DAC地址FEH R0 MOVX R0 A WR 和譯碼器FEH輸出端有效 現(xiàn)說明DAC0832單緩沖方式的應用 例11 1DAC0832用作波形發(fā)生器 試根據(jù)圖11 3 分別寫出產(chǎn)生鋸齒波 三角波和矩形波的程序 鋸齒波的產(chǎn)生 ORG2000H START MOVR0 0FEH DAC地址FEH R0 MOVA 00H 數(shù)字量 A LOOP MOVX R0 A 數(shù)字量 D A轉(zhuǎn)換器 INCA 數(shù)字量逐次加1 SJMPLOOP 圖11 4 輸入數(shù)字量從0開始 逐次加1 為FFH時 加1則清0 模擬輸出又為0 然后又循環(huán) 輸出鋸齒波 如圖11 4 每一上升斜邊分256個小臺階 每個小臺階暫留時間為執(zhí)行后三條指令所需要的時間 三角波的產(chǎn)生 ORG2000H START MOVR0 0FEH MOVA 00H UP MOVX R0 A 三角波上升邊 INCA JNZUP DOWN DECA A 0時再減1又為FFH MOVX R0 A JNZDOWN 三角波下降邊 SJMPUP 矩形波的產(chǎn)生 ORG2000H START MOVR0 0FEH LOOP MOVA data1 MOVX R0 A 置矩形波上限電平 LCALLDELAY1 調(diào)用高電平延時程序 MOVA data2 圖11 5 MOVX R0 A 置矩形波下限電平 LCALLDELAY2 調(diào)用低電平延時程序 SJMPLOOP 重復進行下一個周期 DELAY1 DELAY2為兩個延時程序 決定矩形波高 低電平時的持續(xù)時間 頻率也可采用延時長短來改變 圖11 6 2 雙緩沖方式 多路同步輸出 必須采用雙緩沖同步方式 接口電路如圖11 7 1 DAC0832因和譯碼器FDH相連 占有兩個端口地址FDH和FFH 2 DAC0832的兩個端口地址為FEH和FFH 其中 FDH和FEH分別為1 和2 DAC0832的數(shù)字量輸入控制端口地址 而FFH為啟動D A轉(zhuǎn)換的端口地址 圖11 7中DAC輸出的VX和VY信號要同步 控制X Y繪圖儀繪制的曲線光滑 否則繪制的曲線是階梯狀 控制程序如下 圖11 7 例11 2設AT89C51單片機內(nèi)部RAM中有兩個長度為20的數(shù)據(jù)塊 其起始地址為分別為addr1和addr2 請根據(jù)圖11 7所示 編寫能把addr1和addrr2中數(shù)據(jù)從1 和2 DAC0832同步輸出的程序 程序中addr1和addr2中的數(shù)據(jù) 即為繪圖儀所繪制曲線的x y坐標點 DAC0832各端口地址 FDH 1 DAC0832數(shù)字量輸入控制端口FEH 2 DAC0832數(shù)字量輸入控制端口FFH 1 和2 DAC0832啟動D A轉(zhuǎn)換端口 工作寄存器0區(qū)的R1指向addr1 1區(qū)的R1指向addr2 0區(qū)的R2存放數(shù)據(jù)塊長度 0區(qū)和1區(qū)的R0指向DAC端口地址 程序為 ORG2000H addr1DATA20H 定義存儲單元addr2DATA40H 定義存儲單元 DTOUT MOVR1 addr 0區(qū)R1指向addr1 MOVR2 20 數(shù)據(jù)塊長度送0區(qū)R2 SETBRS0 切換到工作寄存器1區(qū) MOVR1 addr2 1區(qū)R1指向addr2 CLRRS0 返回0區(qū) NEXT MOVR0 0FDH 0區(qū)R0指向1 DAC0832數(shù) 字量控制端口 MOVA R1 addr1中數(shù)據(jù)送A MOVX RO A addr1中數(shù)據(jù)送1 DAC0832 INCR1 修改addr1指針0區(qū)R1 SETBRS0 轉(zhuǎn)1區(qū) MOVR0 0FEH 1區(qū)R0指向2 DAC0832數(shù)字量 控制端口 MOVA R1 addr2中數(shù)據(jù)送A MOVX R0 A addr2中數(shù)據(jù)送2 DAC0832 INCR1 修改addr2指針1區(qū)R1 INCR0 1區(qū)R0指向DAC的啟動D A轉(zhuǎn)換端口 MOVX R0 A 啟動DAC進行轉(zhuǎn)換 CLRRS0 返回0區(qū) DJNZR2 NEXT 若未完 則跳NEXT LJMPDTOUT 若送完 則循環(huán) END 3 DAC0832的單 雙極性的電壓輸出有些應用場合需要DAC0832為單極性模擬電壓輸出 而有些場合則要求DAC0832雙極性模擬電壓輸出 下面簡單介紹 1 DAC用作單極性電壓輸出 在需要單極性模擬電壓環(huán)境下 可以按照圖11 3所示接線 由于DAC0832是8位的D A轉(zhuǎn)換器 由基爾霍夫定律列出方程組 故可得輸出電壓vo與輸入數(shù)字量B的關系為式中 B 27b7 26b6 21b1 20b0 VREF 256為一常數(shù) 顯然 vo和輸入數(shù)字量B成正比 B為0時 vo也為0 輸入數(shù)字量為255時 vo為最大值 輸出電壓為單極性 2 DAC用作雙極性電壓輸出 在需雙極性電壓輸出的場合下 可以按照圖11 8所示接線 圖中 DAC0832的數(shù)字量由單片機送來 A1和A2均為運算放大器 vo通過2R電阻反饋到運算放大器A2輸入端 其他如圖11 8所示 G點為虛擬地 可由基爾霍夫定律列出方程組 并解得由上式可知 在選用 VREF時 若輸入數(shù)字量最高位b7為 1 則輸出模擬電壓vo為正 若輸入數(shù)字量最高位為 0 則輸出模擬電壓vo為負 在選用 VREF時 vo輸出值正好和選用 VREF時極性相反 圖11 8 11 1 389C51與12位電壓輸出型D A轉(zhuǎn)換器AD667的接口設計8位DAC分辨率不夠 可采用10位 12位 14位 16位的DAC 本節(jié)介紹89C51與12位D A轉(zhuǎn)換器AD667的接口設計 AD667是分辨率為12位的電壓輸出型D A轉(zhuǎn)換器 建立時間 3 s 至0 01 輸入方式 雙緩沖輸入 輸出方式 電壓輸出 通過硬件編程可輸出 5V 10V 2 5V 5V和 10V 內(nèi)含高穩(wěn)定的基準電壓源可方便地與4位 8位或16位微處理器接口 雙電源工作電壓 12V 15V 1 引腳介紹標準28腳雙列直插式 圖11 9為引腳圖 表11 1為其引腳說明 1 內(nèi)部功能結(jié)構(gòu)及應用特性圖11 10是AD667內(nèi)部功能結(jié)構(gòu)框圖 應用特性 模擬電壓輸出范圍的配置AD667通過片外引腳的不同連接 可獲得不同的輸出電壓量程范圍 單極性工作時 可以獲得0 5V和0 10V的電壓 雙極性工作時 可獲得 2 5V 5 5V和 10V的電壓 具體量程配置可由引腳1 2 3 9的不同連接實現(xiàn) 如表11 2所列 圖11 9 圖11 10 由于AD667內(nèi)置的量程電阻與其他元器件具有熱跟蹤性能 所以AD667的增益和偏置漂移非常小 單極性電壓輸出圖11 11為0 10V單極性電壓輸出電路原理圖 在電路運行之前 為保證轉(zhuǎn)換精度 首先要進行電路調(diào)零和增益調(diào)節(jié) 電路調(diào)零數(shù)字輸入量全為 0 時 調(diào)節(jié)50k 電位器W1 使其模擬電壓輸出端 VOUT 電壓為0 000V 在大多數(shù)情況下 并不需要調(diào)零 只要把4腳與5腳相連 接地 即可 增益調(diào)節(jié)數(shù)字輸入量全為 1 時 調(diào)節(jié)100 電位器W2 使其模擬電壓輸出為9 9976V 即滿量程的10 000V減去1LSB 約為2 44mV 所對應的模擬輸出量 圖11 11 雙極性電壓輸出圖11 12是 5V 5V雙極性電壓輸出 在電路運行之前 為保證轉(zhuǎn)換精度 首先要進行偏置調(diào)節(jié)和增益調(diào)節(jié) 圖11 12 內(nèi)部 外部基準電壓源的使用AD667有內(nèi)置低噪聲基準電源 其絕對精度和溫度系數(shù)都是通過激光修正的 具有長期的穩(wěn)定性 片內(nèi)基準電源可提供片內(nèi)D A轉(zhuǎn)換器所需的基準電流 典型值為VREFIN端提供的0 5mA BPOFF BipolarOffset 端提供的1 0mA 接地與動態(tài)電容的接法模擬地AGND與電源地PGND分開 可以減少器件的低頻噪聲和增強高速性能 把地回路分開的目的是為了盡量減少低電平信號路徑中的電流 AGND是輸出放大器中的地端 應與系統(tǒng)中的模擬地直接相連 電源地PGND可以與模擬電源的接地點就近連接 最后AGND與PGND在一點上進行連接 一般連接到電源地PGND上 另外 AD667的電源引腳到模擬地引腳間應加上適當?shù)娜ヱ铍娙?在輸出放大器反饋電阻兩端加一個20pF的小電容 可以明顯改善輸出放大器的動態(tài)性能 數(shù)字輸入控制與數(shù)據(jù)代碼AD667的總線接口邏輯由4個獨立的可尋址鎖存器組成 其中有3個4位的輸入數(shù)據(jù)鎖存器 第一級鎖存器 和1個12位的DAC鎖存器 第二級鎖存器 利用3個4位鎖存器可以直接從4位 8位或16位微處理器總線分次或一次加載12位數(shù)字量 一旦數(shù)字量被裝入12位的輸入數(shù)據(jù)鎖存器 就可以把12位 數(shù)據(jù)傳入第二級的DAC鎖存器 這種雙緩沖結(jié)構(gòu)可以避免產(chǎn)生錯誤的模擬輸出 4個鎖存器由4個地址輸入A0 A3和控制 所有的控制都是低電平有效 對應關系如表11 3所列 所有鎖存器都是電平觸發(fā) 當控制信號有效時 鎖存器輸出跟蹤輸入數(shù)據(jù) 當控制信號無效時 數(shù)據(jù)就被鎖存 它允許一個以上的鎖存器被同時鎖存 建議任何未使用的數(shù)據(jù)和控制引腳最好與電源地相連 以改善抗噪聲干擾特性 AD667使用正邏輯編碼 單極性輸出時 輸入編碼采用直接二進制編碼 輸入000H產(chǎn)生零模擬輸出 輸入FFFH產(chǎn)生比滿量程少1LSB的模擬輸出 雙極性輸出時 輸入編碼采用偏移二進制編碼 輸入為000H時 產(chǎn)生負的滿量程輸出 輸入為FFFH時 產(chǎn)生比滿量程少1LSB的模擬輸出 輸入為800H時 模擬輸出為0 其中1LSB為最低位對應的模擬電壓 雙極性輸出時輸入與輸出關系如圖11 13所示 輸入數(shù)字量N與輸出模擬電壓VOUT的關系為 式中 VR為輸出電壓量程 圖11 13 與微處理器的接口數(shù)據(jù)格式AD667與位微處理器接口的數(shù)據(jù)格式為左對齊或右對齊的數(shù)據(jù)格式 2 AD667與89C51單片機的接口圖11 14所示為AD667與89C51單片機接口電路 圖11 14 AT89C51把AD667所占的3個端口地址視為外部數(shù)據(jù)存儲器的3個單元 對其進行選通 假定低8位數(shù)據(jù)存于20H單元 高4位數(shù)據(jù)存入21H的低4位 實現(xiàn)D A轉(zhuǎn)換的程序如下 MOVA 20HMOVDPTR 7FFEHMOVX DPTR A 低8位進第一級鎖存器MOVA 21HMOVDPTR 7FFDHMOVX DPTR A 高4位進第一級鎖存器MOVDPTR 7FFBHMOVX DPTR A 啟動第二級鎖存器RET 11 2AT89C51單片機與ADC的接口11 2 1A D轉(zhuǎn)換器概述A D轉(zhuǎn)換器 ADC 的作用就是把模擬量轉(zhuǎn)換成數(shù)字量 以便于計算機進行處理 隨著超大規(guī)模集成電路技術的飛速發(fā)展 A D轉(zhuǎn)換器的新設計思想和制造技術層出不窮 為滿足各種不同的檢測及控制任務的需要 大量結(jié)構(gòu)不同 性能各異的A D轉(zhuǎn)換芯片應運而生 1 A D轉(zhuǎn)換器簡介盡管A D轉(zhuǎn)換器的種類很多 但目前廣泛應用在單片機應用系統(tǒng)中的主要有以下幾種類型 逐次比較型轉(zhuǎn)換器 雙積分型轉(zhuǎn)換器 式轉(zhuǎn)換器 逐次比較型 精度 速度和價格都適中 是最常用的A D轉(zhuǎn)換器件 雙積分型 精度高 抗干擾性好 價格低廉 但轉(zhuǎn)換速度慢 得到廣泛應用 型 具有積分式與逐次比較式ADC的雙重優(yōu)點 對工業(yè)現(xiàn)場的串模干擾具有較強的抑制能力 不亞于雙積分ADC 但比雙積分ADC的轉(zhuǎn)換速度快 與逐次比較式ADC相比 有較高的信噪比 分辨率高 線性度好不需采樣保持電路 因此 型得到重視 V F轉(zhuǎn)換型 適于轉(zhuǎn)換速度要求不太高 遠距離信號傳輸 2 A D轉(zhuǎn)換器的主要技術指標 1 轉(zhuǎn)換時間和轉(zhuǎn)換速率完成一次轉(zhuǎn)換所需要的時間 轉(zhuǎn)換時間的倒數(shù)為轉(zhuǎn)換速率 2 分辨率用輸出二進制位數(shù)或BCD碼位數(shù)表示 例如AD574 二進制12位 即用212個數(shù)進行量化 分辨為1LSB 百分數(shù)表示1 212 0 24 又如雙積分式A D轉(zhuǎn)換器MC14433 分辨率為三位半 若滿字位為1999 其分辨率為1 1999 0 05 量化過程引起的誤差為量化誤差 是由于有限位數(shù)字對模擬量進行量化而引起的誤差 量化誤差理論上規(guī)定為1個單位分辨率 提高分辨率可減少量化誤差 3 轉(zhuǎn)換精度 定義為一個實際ADC與一個理想ADC在量化值上的差值 可用絕對誤差或相對誤差表示 11 2 289C51與ADC0809 逐次比較型 的接口 ADC0809引腳及功能逐次比較式8路模擬輸入 8位輸出的A D轉(zhuǎn)換器 引腳如圖11 15所示 圖11 15 共28腳 雙列直插式封裝 主要引腳功能如下 1 IN0 IN7 8路模擬信號輸入端 2 D0 D7 8位數(shù)字量輸出端 3 C B A 控制8路模擬通道的切換 C B A 000 111分別對應IN0 IN7通道 4 OE START CLK 控制信號端 OE為輸出允許端 START為啟動信號輸入端 CLK為時鐘信號輸入端 VR 和VR 參考電壓輸入端 2 ADC0809結(jié)構(gòu)及轉(zhuǎn)換原理 結(jié)構(gòu)如圖11 16 0809完成1次轉(zhuǎn)換需100 s左右 可對0 5V信號進行轉(zhuǎn)換 圖11 16 3 AT89C51與ADC0809的接口 單片機如何來控制ADC 首先用指令選擇0809的一個模擬輸入通道 當執(zhí)行MOVX DPTR A時 單片機的WR 信號有效 產(chǎn)生一個啟動信號給0809的START腳 對選中通道轉(zhuǎn)換 轉(zhuǎn)換結(jié)束后 0809發(fā)出轉(zhuǎn)換結(jié)束EOC信號 該信號可供查詢 也可向單片機發(fā)出中斷請求 當執(zhí)行指令 MOVXA DPTR 單片機發(fā)出RD 信號 加到OE端高電平把轉(zhuǎn)換完畢的數(shù)字量讀到A中 查詢和中斷控制兩種工作方式 1 查詢方式 0809與89C51單片機的接口如圖11 17 圖11 17 ALE腳的輸出頻率為1MHz 時鐘頻率為6MHz 經(jīng)D觸發(fā)器二分頻為500kHz時鐘信號 0809輸出三態(tài)鎖存 8位數(shù)據(jù)輸出可直接與數(shù)據(jù)總線相連 引腳C B A分別與地址總線A2 A1 A0相連 選通IN0 IN7中的一個 P2 7 A15 作為片選信號 在啟動A D轉(zhuǎn)換時 由WR 和P2 7控制ADC的地址鎖存和轉(zhuǎn)換啟動 由于ALE和START連在一起 因此0809在鎖存通道地址的同時 啟動并進行轉(zhuǎn)換 讀取轉(zhuǎn)換結(jié)果 用RD 信號和P2 7腳經(jīng)或非后 產(chǎn)生的正脈沖作為OE信號 用以打開三態(tài)輸出鎖存器 對8路模擬信號輪流采樣一次 采用軟件延時的方式 并依次把結(jié)果轉(zhuǎn)儲到數(shù)據(jù)存儲區(qū) MAIN MOVR1 data 置數(shù)據(jù)區(qū)首地址 MOVDPTR 7FF8H 端口地址送DPTR P2 7 0 且指向通道IN0 MOVR7 08H 置轉(zhuǎn)換的通道個數(shù) LOOP MOVX DPTR A 啟動A D轉(zhuǎn)換 MOVR6 0AH 軟件延時 等待轉(zhuǎn)換結(jié)束 DELAY NOP NOP NOP DJNZR6 DELAY MOVXA DPTR 讀取轉(zhuǎn)換結(jié)果 MOV R1 A 存儲轉(zhuǎn)換結(jié)果 INCDPTR 指向下一個通道 INCR1 修改數(shù)據(jù)區(qū)指針 DJNZR7 LOOP 8個通道全采樣完否 未完則繼續(xù) 2 中斷方式 將圖11 17中EOC腳經(jīng)一非門連接到8031的INT1 腳即可 轉(zhuǎn)換結(jié)束時 EOC發(fā)出一個脈沖向單片機提出中斷申請 單片機響應中斷請求 在中斷服務程序讀A D結(jié)果 并啟動0809的下一次轉(zhuǎn)換 外中斷1采用跳沿觸發(fā) 程序如下 INIT1 SETBIT1 外部中斷1初始化編程 SETBEA CPU開中斷 SETBEX1 選擇外中斷為跳沿觸發(fā)方式 MOVDPTR 7FF8H 端口地址送DPTR MOVA 00H MOVX DPTR A 啟動0809對IN0通道轉(zhuǎn)換 完成其他的工作 中斷服務程序 PINT1 MOVDPTR 7FF8H A D結(jié)果送內(nèi)部RAM單元30H MOVXA DPTR MOV30H A MOVA 00H 啟動0809對IN0的轉(zhuǎn)換 MOVX DPTR A RETI 11 2 3MCS 51與AD1674 逐次比較型 的接口 在某些單片機應用系統(tǒng)中 8位ADC常常不夠 必須選擇分辨率大于8位的芯片 如10位 12位 16位A D轉(zhuǎn)換器 由于10位 16位接口與12位類似 因此僅以常用的12位A D轉(zhuǎn)換器AD1674為例介紹 1 AD1674簡介12位逐次比較型 轉(zhuǎn)換時間為25 s 轉(zhuǎn)換精度為0 05 AD574A是AD574的改進產(chǎn)品 AD674A又是AD574A的改進產(chǎn)品 它們的引腳 內(nèi)部結(jié)構(gòu)和外部應用特性基本相同 但最大轉(zhuǎn)換速度由25 s提高到15 s 目前帶有采樣保持器的12位改進型產(chǎn)品AD1674正以其優(yōu)良的性能價格比逐漸取代AD574A和AD674A 28腳雙列直插式封裝 引腳如圖11 18 圖11 18 引腳的功能如下 CS 片選信號端 CE 片啟動信號 R C 讀出 轉(zhuǎn)換控制信號 12 8 數(shù)據(jù)輸出格式選擇 1 12條數(shù)據(jù)線同時輸出轉(zhuǎn)換結(jié)果 0 轉(zhuǎn)換結(jié)果為兩個單字節(jié)輸出 即只有高8位或低4位有效 A0 字節(jié)選擇控制線 分為轉(zhuǎn)換期間 讀出期間 在轉(zhuǎn)換期間 0 進行12位轉(zhuǎn)換 轉(zhuǎn)換時間為25 s 1 進行8位轉(zhuǎn)換 轉(zhuǎn)換時間為16 s 在讀出期間 0 高8位數(shù)據(jù)有效 1 低4位數(shù)據(jù)有效 中間4位為 0 高4位為三態(tài) 因此當兩次讀出12位數(shù)據(jù)時 12位數(shù)據(jù)遵循左對齊原則 如下所示 上述五個控制信號組合的真值表如表11 4所示 表11 4AD574控制真值表 STS 轉(zhuǎn)換結(jié)束狀態(tài)引腳 轉(zhuǎn)換完成時為低電平 可作為狀態(tài)信息被CPU查詢 也可用它的下跳沿向CPU發(fā)出中斷申請 通知A D轉(zhuǎn)換已完成 可讀取轉(zhuǎn)換結(jié)果 2 AD1674的工作特性 工作狀態(tài)由CE CS R C 12 8 A0五個控制信號決定 當CE 1 CS 0同時滿足 才處于轉(zhuǎn)換狀態(tài) AD1674處于工作狀態(tài)時 R C 0 啟動A D轉(zhuǎn)換 R C 1為數(shù)據(jù)讀出 12 8 和A0端用來控制轉(zhuǎn)換字長和數(shù)據(jù)格式 A0 0按12位轉(zhuǎn)換方式啟動轉(zhuǎn)換 A0 1按8位轉(zhuǎn)換方式啟動轉(zhuǎn)換 當AD1674處于數(shù)據(jù)讀出 R C 1 狀態(tài)時 A0和12 8 成為數(shù) 據(jù)輸出格式控制端 12 8 1對應12位并行輸出 12 8 0對應8位的雙字節(jié)輸出 其中A0 0時輸出高8位 A0 1時輸出低4位 并以4個0補足尾隨的4位 注意 12 8 端與TTL電平不兼容 故只能直接接 5V或地 另外A0在數(shù)據(jù)輸出期間不能變化 3 AD1674的單極性和雙極性輸入特性 圖11 19 a 為單極性轉(zhuǎn)換電路 可實現(xiàn) 0 10V或0 20V的轉(zhuǎn)換 圖11 19 b 為雙極性轉(zhuǎn)換電路 可實現(xiàn) 5 5V或 10 10V的轉(zhuǎn)換 圖11 19 4 AT89C51單片機與AD1674的接口 圖11 20所示AD1674與AT89C51單片機的接口電路 由于AD1674片內(nèi)含有高精度的基準電壓源和時鐘電路 從而使AD1674在不需要任何外加電路和時鐘信號的情況下完成A D轉(zhuǎn)換 使用非常方便 該電路采用雙極性輸入接法 可對 5 5V或 10 10V模擬信號進行轉(zhuǎn)換 也可采用單極性輸入接法 具體電路見圖11 19 a 轉(zhuǎn)換結(jié)果的高8位從DB11 DB4輸出 低4位從DB3 DB0輸出 即A0 0時 讀取結(jié)果的高8位 當A0 1時 讀取結(jié)果的低4位 若遵循左對齊的原則 DB3 DB0應接單片機的P0 7 P0 4 STS引腳接單片機的P1 0引腳 采用查詢方式讀取轉(zhuǎn)換結(jié)果 圖11 20 當單片機執(zhí)行對外部數(shù)據(jù)存儲器寫指令 使CE 1 CS 0 R C 0 A0 0時 啟動A D轉(zhuǎn)換 當單片機查詢到P1 0引腳為低電平時 轉(zhuǎn)換結(jié)束 單片機使CE 1 CS 0 R C 1 A0 0 讀取結(jié)果高8位 CE 1 CS 0 R C 1 A0 1 讀取結(jié)果低4位 轉(zhuǎn)換的查詢方式的程序如下 高8位轉(zhuǎn)換結(jié)果存入R2中 低4位存入R3中 遵循左對齊原則 AD1674 MOVR0 0F8H 端口地址送R0MOVX R0 A 啟動AD574A進行轉(zhuǎn)換SETBP1 0 置P1 0為輸入LOOP NOPJBP1 0 LOOP 查詢轉(zhuǎn)換是否結(jié)束NCR0 使R 1 準備讀取結(jié)果MOVXA R0 讀取高8位轉(zhuǎn)換結(jié)果MOVR2 A 高8位轉(zhuǎn)換結(jié)果存入R2中INCR0 使R 1 A0 1INCR0MOVXA R0 讀取低4位轉(zhuǎn)換結(jié)果MOVR3 A 低4位轉(zhuǎn)換結(jié)果存入R3中 11 2 4AT89C51與A D轉(zhuǎn)換器MC14433 雙積分型 的接口雙積分型轉(zhuǎn)換速度慢 但精度可以做得比較高 對周期變化的干擾信號積分為零 抗干擾性能也較好 常用的有3 位雙積分A D轉(zhuǎn)換器MC14433 精度相當于11位二進制數(shù) 和4 位雙積分A D轉(zhuǎn)換器ICL7135 精度相當于14位二進制數(shù) MC14433A D轉(zhuǎn)換器簡介MC14433是3 位雙積分型A D轉(zhuǎn)換器 優(yōu)點 精度高 抗干擾性能好等 缺點 轉(zhuǎn)換速度慢 約1 10次 秒 與國內(nèi)產(chǎn)品5G14433完全相同 可互換 被轉(zhuǎn)換電壓量程為199 9mV或1 999V 轉(zhuǎn)換結(jié)果以BCD碼的形式分四次送出 1 MC14433的引腳功能說明MC14433A D轉(zhuǎn)換器引腳如圖11 21 圖11 21 各引腳的功能如下 1 電源及共地端 VDD 主工作電源 5V VEE 模擬部分的負電源端 接 5V VAG 模擬地端 VSS 數(shù)字地端 VR 基準電壓輸入端 2 外接電阻及電容端 R1 積分電阻輸入端 轉(zhuǎn)換電壓VX 2V時 R1 470 VX 200mV時 R1 27k C1 積分電容輸入端 一般取0 1 F R1 C1 R1與C1的公共端 CLKI CLKO 外接振蕩器時鐘調(diào)節(jié)電阻RC RC一般取470 左右 3 轉(zhuǎn)換啟動 結(jié)束信號端 EOC 轉(zhuǎn)換結(jié)束信號輸出端 正脈沖有效 DU 啟動新的轉(zhuǎn)換 若DU與EOC相連 每當A D轉(zhuǎn)換結(jié)束后 自動啟動新的轉(zhuǎn)換 4 過量程信號輸出端 OR 當 VX VR 輸出低電平 5 位選通控制端 DS4 DS1 分別為個 十 百 千位輸出的選通脈沖 DS1對應千位 DS4對應個位 每個選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論