<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)T89C51的數據采集系統設計新方法

基于A(yíng)T89C51的數據采集系統設計新方法

作者: 時(shí)間:2007-10-09 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

近年來(lái),隨著(zhù)制造技術(shù)的發(fā)展,單片機的價(jià)格越來(lái)越低,性能卻不斷提升,因而其應用范圍也越來(lái)越廣。然而在開(kāi)發(fā)基于單片機的應用系統時(shí),傳統方法一般都需要大量的硬件設備,這些設備極易損壞而且攜帶不方便。為此,本文基于A(yíng)T89C51數據采集系統詳細說(shuō)明了如何利用Pro-teus和兩款串口仿真軟件來(lái)進(jìn)行單片機程序及外圍電路的仿真設計。采用該方法可以大大簡(jiǎn)化硬件電路測試和系統過(guò)程,對單片機系統開(kāi)發(fā)具有指導意義。本文介紹的基于A(yíng)T89C5l單片機的數據采集系統能實(shí)現16路信號輸入,每一路都是0~10 mV的信號,每秒鐘采集一遍,從而將數據傳給上位PC計算機。

1 硬件設計

1.1 主控芯片

AT89C51是一種帶有4 KB可擦除只讀存儲器的低電壓,高性能CMOS 8位微處理器,可為很多嵌入式控制系統提供靈活且價(jià)廉的方案。所以,本設計采用ATMEL公司的AT89C51作為程序的主控芯片。

AT89C51數據總線(xiàn)是由P0口提供的,P0口本身能以多種方式提供數據總線(xiàn)和總線(xiàn)。當ALE輸出信號為高電平時(shí),P0將輸出的數據鎖入總線(xiàn)驅動(dòng)器中作為的低8位,然后和P2送出來(lái)的高8位一起組成一個(gè)完整的16位地址,以尋址到外部的64KB的地址空間。AT89C51的地址總線(xiàn)比較簡(jiǎn)單(只有3個(gè):RD、WR、PSEN),其中RD是用來(lái)讀取外部數據內存的控制線(xiàn),WR是用來(lái)寫(xiě)數據到外部數據內存的控制線(xiàn),PSEN是用來(lái)存取外部程序內存的讀取控制線(xiàn)。

由于P0口是數據和地址分時(shí)復用口,故要進(jìn)行地址鎖存,本設計使用74HC573作為鎖存器。

1.2 系統硬件電路

本系統的硬件電路原理如圖1所示。因為ADC0809的地址選擇端A、B、C都接地,所以ADC0809的數據采集通道只有IN0被選通。16路模擬信號連接到多路選擇模擬開(kāi)關(guān)HCC4067后,即可通過(guò)地址選擇端A、B、C、D進(jìn)行選擇,每一次選通一路,選通的通道經(jīng)IO COM X和ADC0809的IN0相連,以進(jìn)行A/D轉換。P2.7(地址總線(xiàn)最高位A 15)可作為A/D轉換的啟動(dòng)開(kāi)關(guān),P2.7為低電平有效。在啟動(dòng)A/D轉換時(shí),可由寫(xiě)信號WR和P2.7控制ADC0809的地址鎖存和轉換啟動(dòng)。而在讀取轉換結果時(shí),則由讀信號RD和P2.7控制ADC0809的OE信號。若令P2.7為0,74HC573的A、B、C、D即可給出被選擇的模擬通道的地址,此時(shí)若ABCD=0000,則16路信號的100被選通,并將其數據送到ADC0809的IN0中,地址是7FF0H;若ABCD:1111,地址為7FFFH,則指向IO15。所以,16路信號依次對應的地址為7FFOH~7FFFH。轉換完成后,數據將保存到一數組中,直到當上位PC機通過(guò)串行口發(fā)信號時(shí),AT89C51通過(guò)檢測地址是否和本機地址相符來(lái)作出動(dòng)作。如果地址相符,則發(fā)送A/D轉換結果,如不相符,則繼續等待。

1.3 信號選通與調理

本系統要求有16路模擬信號輸入,而且必須將這些信號互相隔離,然后才能對這些信號逐一選通后進(jìn)入A/D轉換。為此,本系統選用了16選1多路模擬開(kāi)關(guān)HCC4067。

一般傳感器的輸出信號都比較微弱,要將該微弱信號轉換成有用的信號以便于后期使用,就要加入信號調理電路,其作用是進(jìn)行信號放大和去除干擾等。本設計中的信號輸入每路都是0~10mV.但ADC0809的輸入要求是0~5 V,因此選用運算放大器OP07來(lái)進(jìn)行信號放大。OP07是一種精密運算放大器,它使用雙極性電源供電,精度較高,放大倍數為500,可把0~10 mV信號放大到0~5 V。使用OP07的信號調理電路如圖2所示。

1.4 A/D采樣電路

ADC0809是美國NS公司生產(chǎn)的CMOS組件,是一種8路輸入單片模數轉換器件,采用逐位逼近式A/D轉換原理,它的輸出輸人接口全部為T(mén)TL電平,數據輸出口線(xiàn)為三態(tài),可以直接接到微機系統總線(xiàn)上,而無(wú)需另加I/O接口芯片。

由于本設計中使用16選1模擬開(kāi)關(guān)來(lái)進(jìn)行信號的選擇,因此,ADC0809的信號選擇功能就不使用了,設計時(shí)把ADC0809的地址選擇端A、B、C都接地,即ABC=000,這樣,選通通道始終是IN0。將EOC通過(guò)非門(mén)連接到AT89C51的INT0腳,可通過(guò)查詢(xún)方式來(lái)檢測轉換是否完成。

由于A(yíng)DC0809的典型工作頻率640 kHz不太容易得到,所以通常使用相近頻率且容易獲得的信號進(jìn)行替代。本設計中,單片機的晶振頻率12MHz,ALE信號輸出為晶振頻率的六分之一(即2MHz、),可將該2 MHz經(jīng)過(guò)74HC74四分頻后得到500 kHz信號來(lái)給ADC0809使用。

1.5 串行口控制

AT89C51內部有一個(gè)可的全雙工串行通信接口,該口能同時(shí)進(jìn)行串行發(fā)送和接收,以便通過(guò)RXD引腳(串行數據接收端)和TXD引腳(串行數據發(fā)送端)與外界進(jìn)行通信。AT89C51串行口有四種工作方式,本設計中,AT89C51串行口工作于方式3。串口方式3的波特率是可變的,它可由定時(shí)器T1的溢出率來(lái)控制。通過(guò)計算可以得到T1的裝載初值為0xfd,波特率為9600bps。

RS232是用正負電壓來(lái)表示邏輯狀態(tài)的,它與TTL以高低電平來(lái)表示邏輯狀態(tài)的規定不同。因此,為了能夠同計算機接口或與終端的TTL器件連接,必須在RS232與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。目前廣泛使用的集成電路轉換器件是MAX232芯片,它可完成TTL到EIA的雙向電平轉換。MAX232是一種雙組驅動(dòng)器/接收器,片內含有一個(gè)電容性電壓發(fā)生器,可在單5V電源供電時(shí)提供EIA/TIA-232-E電平。每個(gè)接收器均可將EIA/TIA-232-E電平轉換為5 V TTL/CMOS電平。這些接收器具有1.3 V的門(mén)限值及0.5V的典型遲滯,而且可以接收±30 V的輸入。利用MAX232芯片連接單片機和PC的具體電路如圖3所示。

由以上器件分析可知該系統所用到的電源電壓總共有兩種,其中運放OP07使用±12 V,其它芯片使用+5 V電壓。

2 實(shí)驗仿真

2.1 Keil C51軟件的使用

Keil C51軟件是眾多單片機應用開(kāi)發(fā)的優(yōu)秀軟件之一。本設計就是在Keil C51環(huán)境中編譯數據采集程序的。本采集系統的程序主要分成三部分:主程序、A/D轉換程序和串行通信程序。圖4所示是其軟件流程圖。其中主程序是總的控制程序,主要實(shí)現各單元初始化、控制采樣和中斷等:A/D轉換程序主要完成采樣啟動(dòng)、數據保存等功能;串行通信程序則用來(lái)在有上位PC通過(guò)串行口發(fā)送數據到單片機時(shí)引發(fā)中斷響應,也可通過(guò)PC機通信地址和本單片機地址是否相符來(lái)判斷PC機是否和本單片機通信,如果地址相符,則發(fā)送A/D采樣的結果給上位機,如果不相符,則跳出中斷。串行中斷和A/D轉換部分的程序代碼如下:





程序編寫(xiě)完成后,為了便于和proteus聯(lián)合仿真,還應當在工程目錄下生成一個(gè).hex文件。

2.2 proteus仿真

一般情況下,個(gè)人配備單片機實(shí)驗開(kāi)發(fā)系統的成本較高,很多人無(wú)法承受。而且一般單片機的實(shí)驗箱都是成品,學(xué)習者很難參與到其中的細節設計中去,動(dòng)手能力也難以得到訓練與提高。Proteus的出現恰好解決了這個(gè)矛盾。利用proteus可以隨時(shí)搭建一個(gè)單片機應用系統,并對其進(jìn)行仿真。proteus仿真軟件包含兩個(gè)應用程序,其中proteus_isis主要用于電路原理圖的仿真,另外一個(gè)就是proteus_ares,用于直接將proteus_isis的仿真原理圖生成pcb。本任務(wù)只涉及仿真,所以只用到proteus_isis。操作時(shí),首先應建立一個(gè)新的工程文件,然后按照硬件原理圖繪制仿真電路。Proteus的仿真電路設計如圖7所示。

2.3 串口通信仿真

本設計仿真可在一個(gè)PC機上完成,但要用到串口仿真軟件。虛擬串口工具VSPD XP就是一個(gè)虛擬串口軟件,可模擬物理串口,而且使用比較簡(jiǎn)單。通信時(shí),只要COM3發(fā)送數據,COM4就會(huì )收到,而COM4發(fā)送數據,COM3也會(huì )收到。

串口軟件有很多種,還有串口助手等。本設計選用ComMonitor V2.0作為串口調試軟件。

虛擬串口工具VSPD XP中COM3和COM4是一對虛擬串口,可以互相通信。本設計把proteus設置為COM3,把ComMonitor設置為COM4,然后在兩者之間進(jìn)行數據傳輸。對ComMonitor設置的方法如下:

(1)在左上角設置串口號和波特率,并打開(kāi)串口;

(2)接收數據控制區設置的是十六進(jìn)制顯示,自動(dòng)清空;

(3)發(fā)送區有三個(gè),都選擇為十六進(jìn)制顯示,分別寫(xiě)入"50", "1 2"和"45",其中"50"是本設計中單片機系統的地址,"12"和"45"是隨意的兩個(gè)數據(做測試用)。

2.4仿真結果分析

在proteus中點(diǎn)擊界面左下角的仿真運行按鈕使系統開(kāi)始工作,然后在ComMonitor中依次發(fā)送三個(gè)發(fā)送區的預設數值,之后便可以看到運行結果:

(1)發(fā)送"50"時(shí),由于和單片機地址相符合,根據程序設定,把A/D采樣結果通過(guò)串行口發(fā)送給了主機,即COM4端。

(2')發(fā)送"12"和"45"時(shí),單片機接收也同上面一樣,并分別顯示。

(3)三次發(fā)送數據,COM分別收到不同的數據。

實(shí)際上,在發(fā)送"12"和"45"時(shí),單片機應該不送回數據,但為了仿真結果清晰,本程序中設置了收到除"50"以外的 數據回送功能,以便把收到的數據再發(fā)回去,這樣,COM4就會(huì )依次收到"12"和"45"。

3 結束語(yǔ)

本文從工程角度出發(fā),詳細介紹了基于A(yíng)T89C51單片機的數據采集系統所需的硬件電路配置以及相關(guān)的程序設計。同時(shí)用基于Proteus和Keil接口的單片機外圍硬件電路構成了一個(gè)實(shí)用的數據采集系統。所得出的仿真結果完整地展示了一個(gè)單片機系統新的開(kāi)發(fā)思路。



關(guān)鍵詞: 調試 閃爍 編程 地址

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>