王怡
摘 要:模數(shù)轉(zhuǎn)換裝置是一種可以將模擬信號采樣轉(zhuǎn)換為數(shù)字信號的設(shè)備。它是自然界中連續(xù)變化的物理量得以進入數(shù)字系統(tǒng)中進行處理的橋梁。因此,模數(shù)轉(zhuǎn)換裝置在工業(yè)控制領(lǐng)域大量使用。本文介紹了一種以51單片機作為控制核心,以PCF8591T作為轉(zhuǎn)換器件的模數(shù)轉(zhuǎn)換裝置的設(shè)計。首先介紹了該裝置的硬件構(gòu)成及設(shè)計原理,其次介紹了軟件設(shè)計的基本原理。本裝置設(shè)計簡單,轉(zhuǎn)換精度高,適用于很多工業(yè)控制現(xiàn)場。
關(guān)鍵詞:模數(shù)轉(zhuǎn)換;51單片機;PCF8591T;設(shè)計原理
引言
當前,在工業(yè)控制的各個領(lǐng)域,計算機技術(shù)都得到了廣泛而深入的應(yīng)用。通常,在對外部信號進行處理時,首先要利用傳感器將自然界中的物理量(如壓力、溫度等)轉(zhuǎn)換成連續(xù)變化的電信號(電壓或電流)。然而,計算機系統(tǒng)是數(shù)字系統(tǒng),并不能直接處理模擬量。所以,必須將模擬電信號先利用模數(shù)轉(zhuǎn)換裝置采樣變換成數(shù)字信號后,才能進入計算機系統(tǒng)中進行處理。因此,模數(shù)轉(zhuǎn)換裝置對于工業(yè)控制設(shè)備而言,是不可缺少的組成部分之一。
1 總體架構(gòu)
本文的模數(shù)轉(zhuǎn)換裝置以51單片機作為控制核心,以PCF8591T作為轉(zhuǎn)換器件,可以實現(xiàn)最多4路的模數(shù)信號轉(zhuǎn)換。模塊采集變換后所得到的結(jié)果,可以通過兩種方式來進行顯示或處理:一是可以通過本地的顯示接口直接顯示轉(zhuǎn)換結(jié)果;二是可以通過裝置上的串行通訊接口將轉(zhuǎn)換結(jié)果上傳至主機進行顯示或作進一步的處理。
2 硬件電路設(shè)計原理
A/D轉(zhuǎn)換電路原理如下所示:
PCF8591T的1-4腳是4路模擬信號的輸入引腳。在本地測試模式下,4路輸入分別用光敏電阻分壓,電位器分壓,固定接5V及固定接地的方式產(chǎn)生。在正常工作模式下,可通過電路板上的跳線設(shè)置,將外部的四路模擬信號進行接入。5,6,7腳是PCF8591T的地址設(shè)置引腳,可通過硬件設(shè)計設(shè)置為0-7中的任意一個編號,上圖所示,設(shè)為編號0。9,10腳為I2C串行通訊接口的數(shù)據(jù)線及地址線,是PCF8591T與主控芯片之間進行信息傳輸?shù)耐ǖ馈S捎赑CF8591T可以設(shè)置地址,因此,這一組I2C串行通訊接口上最多可以同時接8片PCF8591T。
12腳是內(nèi)部時鐘和外部時鐘的選擇管腳,設(shè)為低,表示使用內(nèi)部時鐘,因此11腳(外部時鐘輸入端)懸空。
3 軟件設(shè)計原理
主控芯片通過PCF8591T上的I2C接口實現(xiàn)對它的控制及轉(zhuǎn)換結(jié)果的讀取?;镜目刂屏鞒倘缦拢?/p>
(1)發(fā)送地址字節(jié)0x90:該字節(jié)的前四位是固定內(nèi)容。后四位的最低位為0,表示接下來的字節(jié)信息是寫入信息,其他三位是PCF8591T的地址。在這里設(shè)置為0。
(2)發(fā)送控制字節(jié)0x00:該字節(jié)最高位固定為0。位6在使用DA功能時用來使能模擬量輸出,這里設(shè)為0,不開啟此功能。位5、位4用于設(shè)定模擬輸入端的輸入形式,0-3四組值可以分別將4路輸入設(shè)置為4路單端、3路差分、兩路單端及一路差分、兩路差分四種形式。這里設(shè)置為4路單端模擬輸入。位3固定為0。位2為增量位,若設(shè)為1,PCF8591T會在采集完指定通道的信息后,自動采集下一個相鄰?fù)ǖ赖闹挡⑤敵?。這里設(shè)為0,不開啟自動增量模式。位1、位0用于選擇采集的通道。這里選擇通道0。
(3)發(fā)送地址字節(jié)0x91:表示開啟A/D轉(zhuǎn)換。
(4)接收上一次轉(zhuǎn)換的結(jié)果(不用該數(shù)據(jù)可跳過該步驟)。
(5)接收本次轉(zhuǎn)換的結(jié)果。
關(guān)鍵代碼如下:
unsigned char ADconvert(unsigned char contrl_byte)
{
unsigned char ad_result;
I2C_start();
write_byte(0x90);
I2C_respond();
write_byte(contrl_byte);
I2C_respond();
I2C_start();
write_byte(0x91);
ad_result =read_byte();
return ad_result;
}
結(jié)束語
本文介紹了一種基于51單片機的模數(shù)轉(zhuǎn)換裝置的設(shè)計。包括該裝置的軟硬件設(shè)計原理,啟動及采集流程設(shè)計,系統(tǒng)構(gòu)成等。該設(shè)計在實測中運作良好,穩(wěn)定,采集精度高,符合設(shè)計要求。
參考文獻
[1]Philips Semiconductors, PCF85918-bit A/D and D/A converter datasheet,2003 JAN 27.
[2]Maxim Technology,Datasheet of MAX232, 19-0175;Rev 5;10/03.
[3]張毅剛,彭喜元,彭宇.單片機原理及應(yīng)用[M].高等教育出版社,2009.endprint