ADC0809與MCS-51的連接電路
ADC0809與MCS-51單片機(jī)的連接如圖9.10所示。電路連接主要涉及兩個(gè)問(wèn)題。一是8路模擬信號(hào)通道的選擇,二是A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。
1. 8路模擬通道選擇
如圖9.11所示模擬通道選擇信號(hào)A、B、C分別接最低三位地址A0、A1、A2即(P0.0、P0.1、P0.2),而地址鎖存允許信號(hào)ALE由P2.0控制,則8路模擬通道的地址為0FEF8H~0FEFFH.此外,通道地址選擇以WR作寫(xiě)選通信號(hào),這一部分電路連接如圖9.12所示。
圖9.11 ADC0809的部分信號(hào)連接 圖9.12 信號(hào)的時(shí)間配合
從圖中可以看到,把ALE信號(hào)與START信號(hào)接在一起了,這樣連接使得在信號(hào)的前沿寫(xiě)入(鎖存)通道地址,緊接著在其后沿就啟動(dòng)轉(zhuǎn)換。圖9.19是有關(guān)信號(hào)的時(shí)間配合示意圖。
啟動(dòng)A/D轉(zhuǎn)換只需要一條MOVX指令。在此之前,要將P2.0清零并將最低三位與所選擇的通道好像對(duì)應(yīng)的口地址送入數(shù)據(jù)指針DPTR中。例如要選擇IN0通道時(shí),可采用如下兩條指令,即可啟動(dòng)A/D轉(zhuǎn)換:
MOV DPTR , #FE00H ;送入0809的口地址
MOVX @DPTR , A ;啟動(dòng)A/D轉(zhuǎn)換(IN0)
注意:此處的A與A/D轉(zhuǎn)換無(wú)關(guān),可為任意值。
2.轉(zhuǎn)換數(shù)據(jù)的傳送
A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問(wèn)題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。
(1)定時(shí)傳送方式
對(duì)于一種A/D轉(zhuǎn)換其來(lái)說(shuō),轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如ADC0809轉(zhuǎn)換時(shí)間為128µs,相當(dāng)于6MHz的MCS-51單片機(jī)共64個(gè)機(jī)器周期。可據(jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用此子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。
(2)查詢方式
A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號(hào),例如ADC0809的EOC端。因此可以用查詢方式,測(cè)試EOC的狀態(tài),即可卻只轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。
(3)中斷方式
把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送。
不管使用上述那種方式,只要一旦確定轉(zhuǎn)換完成,即可通過(guò)指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以RD信號(hào)有效時(shí),OE信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。
不管使用上述那種方式,只要一旦確認(rèn)轉(zhuǎn)換結(jié)束,便可通過(guò)指令進(jìn)行數(shù)據(jù)傳送。所用的指令為MOVX 讀指令,仍以圖9-17所示為例,則有
MOV DPTR , #FE00H
MOVX A , @DPTR
該指令在送出有效口地址的同時(shí),發(fā)出有效信號(hào)RD,使0809的輸出允許信號(hào)OE有效,從而打開(kāi)三態(tài)門(mén)輸出,是轉(zhuǎn)換后的數(shù)據(jù)通過(guò)數(shù)據(jù)總線送入A累加器中。
這里需要說(shuō)明的示,ADC0809的三個(gè)地址端A、B、C即可如前所述與地址線相連,也可與數(shù)據(jù)線相連,例如與D0~D2相連。這是啟動(dòng)A/D轉(zhuǎn)換的指令與上述類似,只不過(guò)A的內(nèi)容不能為任意數(shù),而必須和所選輸入通道號(hào)IN0~I(xiàn)N7相一致。例如當(dāng)A、B、C分別與D0、D1、D2相連時(shí),啟動(dòng)IN7的A/D轉(zhuǎn)換指令如下:
MOV DPTR, #FE00H ;送入0809的口地址
MOV A ,#07H ;D2D1D0=111選擇IN7通道
MOVX
@DPTR, A ;啟動(dòng)A/D轉(zhuǎn)換
DIY機(jī)械鍵盤(pán)相關(guān)社區(qū):機(jī)械鍵盤(pán)DIY
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論