DAC0832的擴(kuò)展方式有哪些?
單片機(jī)是一種數(shù)字器件,只能處理數(shù)字量,在工業(yè)生產(chǎn)和日常生活中,常用于電流、電壓、溫度、濕度和壓力等信號(hào)的監(jiān)測(cè)或處理。而這些信號(hào)都是連續(xù)變化的模擬量,被單片機(jī)處理之前必須轉(zhuǎn)成數(shù)字量,而單片機(jī)處理后得到的數(shù)字量也要根據(jù)需要轉(zhuǎn)換為對(duì)應(yīng)的模擬量。
模擬量到數(shù)字量的轉(zhuǎn)換被稱為模-數(shù)轉(zhuǎn)換,或簡(jiǎn)稱A-D轉(zhuǎn)換(Analog to Digital Convertion),實(shí)現(xiàn)A-D轉(zhuǎn)換的電路被稱為A-D轉(zhuǎn)換器,簡(jiǎn)稱為ADC(Analog to Digital Converter)。類(lèi)似地,數(shù)字量到模擬量的轉(zhuǎn)換被稱為數(shù)-模轉(zhuǎn)換,或簡(jiǎn)稱D-A轉(zhuǎn)換(Digital to Analog Convertion),實(shí)現(xiàn)D-A轉(zhuǎn)換的電路被稱為D-A轉(zhuǎn)換器,簡(jiǎn)稱為DAC(Digital to Analog Converter)。
圖5-41為一個(gè)典型單片機(jī)應(yīng)用系統(tǒng)的結(jié)構(gòu)框圖,其中:①傳感器可將溫度、濕度和壓力等非電信號(hào)轉(zhuǎn)換成電信號(hào);②信號(hào)調(diào)理環(huán)節(jié)對(duì)信號(hào)進(jìn)行放大和濾波等處理;③功率放大環(huán)節(jié)將D-A轉(zhuǎn)換后的信號(hào)進(jìn)行功率放大,以滿足執(zhí)行機(jī)構(gòu)對(duì)驅(qū)動(dòng)能力的要求;④顯示器和鍵盤(pán)屬于人機(jī)交互環(huán)節(jié),可向用戶反饋系統(tǒng)工作狀態(tài)信息或接收用戶的指令;⑤開(kāi)關(guān)量控制的執(zhí)行機(jī)構(gòu)(如繼電器等)可以被單片機(jī)的數(shù)字量控制。
圖5-41單片機(jī)應(yīng)用系統(tǒng)結(jié)構(gòu)框圖
DAC0832內(nèi)部的8位輸入寄存器和8位DAC寄存器可以分別進(jìn)行鎖存,使得DAC0832的使用更加靈活,具有三種擴(kuò)展方式,即直通方式、單緩沖方式和雙緩沖方式。
(1)直通方式
直通方式的電路原理圖如圖5-44所示。該方式下,DAC0832內(nèi)部的ILE1和ILE2同時(shí)為高電平,DAC0832 DI7~DI0引腳上的數(shù)據(jù)可以直接到達(dá)8位D-A轉(zhuǎn)換器的輸入端,并被轉(zhuǎn)換。在這種方式下,D-A轉(zhuǎn)換不受單片機(jī)的控制,常用于不帶單片機(jī)等控制器的應(yīng)用系統(tǒng)。
圖5-44 DAC0832直通方式的電路原理圖
(2)單緩沖方式
單緩沖方式是指DAC0832內(nèi)部的8位輸入寄存器和8位DAC寄存器中的一個(gè)工作于直通方式,另一個(gè)工作于受控方式。這里所說(shuō)的直通方式是指:ILE1或ILE2為高電平,使得對(duì)應(yīng)寄存器的輸出數(shù)據(jù)隨著輸入數(shù)據(jù)的變化而變化;而受控方式是指:ILE1或ILE2為低電平,使得對(duì)應(yīng)的寄存器不接收新數(shù)據(jù),僅當(dāng)需要接收新數(shù)據(jù)時(shí),才使ILE1或ILE2為高電平。
圖5-45為DAC0832單緩沖方式單極性輸出的原理圖,這里所謂的單極性是指其輸出電壓的極性始終與參考電壓的極性相反。
下面以圖5-45為例,介紹單緩沖方式的工作原理。
由T形電阻網(wǎng)絡(luò)DAC的工作原理可知,若假設(shè)單片機(jī)通過(guò)DI7~DI0引腳送給
DAC0832的數(shù)字量是D,則Vout=?D×VREF/256。
在圖5-45中,由于WR2和XFER均為低電平,所以8位DAC寄存器處于直通方式;而CS和WR1引腳分別與8051單片機(jī)的P2.7和WR引腳相連,使得單片機(jī)可以通過(guò)指令控制8位輸入寄存器。
與訪問(wèn)并行I/O接口8255A相同,單片機(jī)可以通過(guò)指令“MOVX@DPTR,A”和“MOVX@Ri,A”訪問(wèn)和控制DAC0832。由圖5-13所示時(shí)序圖可知,這兩條指令執(zhí)行
時(shí),WR引腳的低電平將與數(shù)據(jù)總線P0上的數(shù)據(jù)同時(shí)出現(xiàn),此時(shí)只要使地址總線的P2.7引腳為低電平,即可使DAC0832的8位輸入寄存器接收數(shù)據(jù)。因此,圖5-45中DAC0832的地址可以是7FFFH,確定地址的方法在簡(jiǎn)單I/O擴(kuò)展部分已經(jīng)提到過(guò),此處不再贅述。另外,因?yàn)榈刂返牡?位不影響DAC0832的工作,所以圖5-45中沒(méi)有用于低8位地址鎖存的鎖存器。
圖5-45 DAC0832單緩沖方式的單極性輸出電路原理圖
(3)雙緩沖方式
雙緩沖方式是指DAC0832內(nèi)部的8位輸入寄存器和8位DAC寄存器均工作于受控方式。在大部分時(shí)間中,ILE1或ILE2為低電平,僅當(dāng)需要接收新數(shù)據(jù)時(shí),才被單片機(jī)通過(guò)指令設(shè)置為高電平。如此可以控制多個(gè)不同的DAC0832同時(shí)完成D-A轉(zhuǎn)換,輸出達(dá)到同步。
圖5-48為DAC0832雙緩沖方式單極性輸出的原理圖,其中,3片DAC0832的8位DAC寄存器均由單片機(jī)的P2.7和WR引腳控制,而它們的8位輸入寄存器則由單片機(jī)的WR引腳和其他不同的引腳控制,即:1號(hào)P2.6引腳、2號(hào)P2.5引腳和3號(hào)P2.4引腳。因此,雙緩沖方式下,每個(gè)DAC0832都有兩個(gè)地址,一個(gè)是8位DAC寄存器的地址,另一個(gè)是8位輸入寄存器的地址。在圖5-48中,3個(gè)DAC0832的8位輸入寄存器地址相同,均為7FFFH(只要保證P2.7為0,且P2.6、P2.5和P2.4均不為0即可);它們的8位DAC寄存器地址各不相同,分別為1號(hào)0BFFFH(只有P2.6為0)、2號(hào)0DFFFH(只有P2.5為0)和3號(hào)0EFFFH(只有P2.4為0)。