《微機接口技術及應用》課件第4章_第1頁
《微機接口技術及應用》課件第4章_第2頁
《微機接口技術及應用》課件第4章_第3頁
《微機接口技術及應用》課件第4章_第4頁
《微機接口技術及應用》課件第4章_第5頁
已閱讀5頁,還剩199頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章微機系統(tǒng)的Proteus典型案例4.7A/D轉(zhuǎn)換的應用——利用ADC0808檢測電壓4.8D/A轉(zhuǎn)換的應用——利用DAC0832繪制正弦波4.9傳感器的應用——基于光敏電阻的自動汽車大燈4.10繼電器的應用——汽車燈光系統(tǒng)

4.1基本I/O接口應用——鎖存器驅(qū)動7SEG數(shù)碼管

4.1.1案例說明七段式數(shù)碼管是微機系統(tǒng)常見的顯示器件,本案例利用鎖存器作為LED數(shù)碼管的驅(qū)動,編程實現(xiàn)在6位7SEG數(shù)碼管中顯示“123456”的目的。案例原理圖及元器件如圖4.1所示。圖4.1基本I/O應用電路原理圖

4.1.2硬件設計

8086的地址鎖存單元電路和I/O接口譯碼電路基本上是通用的,與第3章的內(nèi)容一致,這里不再贅述。如果項目只需要用到16根地址總線AD0~AD15,則可以省略掉第3片鎖存器。鎖存器與7SEG數(shù)碼管之間的電路原理圖如圖4.2所示。圖4.2鎖存器驅(qū)動數(shù)碼管電路原理圖

LED數(shù)碼管由7~8個發(fā)光二極管組成,其基本構(gòu)造如圖4.3所示。圖4.3LED數(shù)碼管原理示意圖

如圖4.3所示的是八段數(shù)碼管,該八段發(fā)光管按順時針分別稱為a、b、c、d、e、f、g和小數(shù)點h。有的數(shù)碼管不帶小數(shù)點,這種數(shù)碼管稱為七段數(shù)碼管。LED數(shù)碼管有共陰極和共陽極兩種結(jié)構(gòu)。數(shù)碼管顯示某個字符只要其對應段上的發(fā)光二極管發(fā)亮即可,通過發(fā)光管的不同組合,可顯示數(shù)字0~9、部分英文字母及某些特殊字符。以圖4.3(b)共陰極數(shù)碼管為例,如顯示字符“1”,只需使b和c兩個段亮,其他段暗。通常把控制發(fā)光二極管的8位二進制數(shù)稱為段碼,表4.1給出數(shù)碼管的段碼表。

在本案例中,利用兩片74LS373分別連接7SEG數(shù)碼管的段控制端口(字形口)和位控制端口(字位口)。其中,U8的輸出引腳Q5~Q0(沒用到的引腳懸空,為高電平)連接數(shù)碼

管的位控制端口,在片選信號IO0和寫信號WR都是低電平的條件下,由U8的輸出信號確定將要顯示字符的那個數(shù)碼管。數(shù)碼管的位控制端口低電平有效,表4.2給出U8輸出信號與選通數(shù)碼管之間的關系。

4.1.3程序設計

本實例的程序代碼如下:

4.1.4仿真調(diào)試———源代碼調(diào)試

在原理圖窗口單擊開始仿真按鈕,Proteus啟動原理圖仿真,按照設計好的程序在6位數(shù)碼管顯示“123456”。

Proteus8提供了強大的代碼和硬件聯(lián)合調(diào)試的工具VSM

Studio,已經(jīng)集成在代碼編輯窗口,可以通過菜單快捷地打開調(diào)試界面。首先,在原理圖編輯窗口或代碼編輯窗口單擊“Debug”菜單,彈出圖4.4所示的菜單。圖4.4Debug菜單

單擊“StartVSMDebugging”打開如圖4.5所示的VSMStudio調(diào)試窗口,該窗口與代碼編輯窗口相似,只是增加了調(diào)試工具欄和底部的調(diào)試窗口。此時,仿真處于“已經(jīng)啟動”的狀態(tài),電路處在一個穩(wěn)定的工作點,代碼還沒有執(zhí)行,也沒有時間的消逝。

如果源代碼窗口沒有顯示任何的源代碼,可以在圖4.5中窗口上部的下拉列表中選中任何一個需要調(diào)試的源代碼。

1.單步調(diào)試

單步運行程序就是控制程序一行一行地執(zhí)行,觀察每條語句執(zhí)行的結(jié)果,在Debug菜單和調(diào)試工具欄提供了3種單步運行的方式:StepOverSourceLine(單步運行)、Step

IntoSourceLine(單步跟蹤運行)和StepOutfromSourceLine(跳出程序行運行),如圖4.4所示。啟動單步運行有3種方式:在如圖4.5所示的代碼調(diào)試窗口單擊單步調(diào)試按鈕,或單擊單步仿真按鈕,或利用快捷鍵F10,都可以對源代碼進行單步運行調(diào)試。圖4.5ProteusVSMStudio調(diào)試窗口

2.交互仿真

Proteus8提供了一個新的調(diào)試彈出窗口控件Active

Popups,該工具可以在原理圖中選定一部分電路,在仿真調(diào)試的過程中,該部分選定的電路會在VSMStudio頁面中顯示

出來。在調(diào)試程序的同時也可以觀察原理圖選定部分的運行結(jié)果,即所謂的交互仿真。

在原理圖編輯窗口的模式工具欄單擊Active

Popups

Modes按鈕,接下來在需要顯示的元器件四周畫出一個方框,具體操作是首先在數(shù)碼管左上角單擊鼠標左鍵,然后鼠標

移動到數(shù)碼管右下角再次單擊左鍵,這樣,就在數(shù)碼管四周劃出了一個藍色虛線方框,表示已經(jīng)將數(shù)碼管選中,如圖4.6所示。圖4.6ActivePopups選中的窗口

啟動源代碼調(diào)試,可以看到在窗口中已經(jīng)有了選中的元器件。在Debug菜單中選中AnimatedSingleStep(單步動態(tài)運行),源代碼以自動模式單步運行,同時窗口右側(cè)數(shù)碼管中出現(xiàn)動態(tài)的顯示結(jié)果,如圖4.7所示。圖4.7交互仿真調(diào)試窗口

4.28255A的基本應用——輸入與輸出

4.2.1案例說明

設計好的8255A基本輸入、輸出應用電路原理圖如圖4.8所示。

4.2.2硬件設計

8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口,共24位,其各端口工作方式由軟件編程設定,是應用最廣泛的可編程并行接口芯片。

8255A的內(nèi)部結(jié)構(gòu)如圖4.9所示,由數(shù)據(jù)總線緩沖器,數(shù)據(jù)端口A、端口B和端口C,A組、B組控制電路和讀/寫控制邏輯電路四部分組成。圖4.98255A內(nèi)部結(jié)構(gòu)示意圖

使用8255A設計硬件電路之前,需要了解其各控制信號的狀態(tài)及功能,如表4.3所示。

具體的8255A接口電路原理圖如圖4.10所示。

如圖4.10所示,74LS138譯碼器Y0引腳連接至8255A的片選端,8086的地址線A2、A1分別連接8255A的A1、A0引腳。根據(jù)表4.3可知8255A芯片端口A的地址是8000H,端口B的地址是8002H,端口C的地址是8004H,控制端口的地址是8006H。圖4.108255A接口電路原理圖

4.2.3程序設計

4.2.4仿真調(diào)試———虛擬儀器

為了更加清晰地觀察兩種波形的輸出結(jié)果,案例中加入了一個示波器。具體操作方法是:

(1)單擊模式工具欄中的虛擬儀器(Virtual

Instrument

Mode)按鈕,對象選擇器窗口顯示出Proteus8提供的13種虛擬儀器,如圖4.11所示。圖4.11Proteus提供的虛擬儀器

(2)從中選擇OSCILLOSCOPE(四輸入示波器),放置在原理圖中,并將示波器的A輸入端連接PB0,D輸入端連接PC0,如圖4.10所示。

單擊仿真開始按鈕,啟動項目的仿真。在原理圖界面閉合LED開關,可以看到數(shù)碼管循環(huán)顯示字符“0→1→…→9→A→…→F”,關閉LED開關,數(shù)碼管關閉。閉合方波開關,可以看到D2以固定頻率閃爍。閉合PWM波開關,可以看到D1以PWM波的頻率閃爍。

此時,原理圖仿真窗口中并沒有示波器的虛擬仿真界面。單擊菜單欄中的Debug菜單,彈出如圖4.12所示的菜單,選中“DigitalOscilloscope”,在仿真窗口中將會顯示示波器的虛擬仿真界面,黃色(上面的)波形即為8255A的PB0輸入示波器A通道的PWM波,如圖4.13所示。圖4.12Debug菜單圖4.13示波器虛擬仿真界面———PWM波

切換開關,示波器界面變成如圖4.14所示,綠色(下面的)波形顯示的是8255A的PC0輸入示波器D通道的方波。

虛擬示波器的使用方法如同真實示波器一樣,可以在虛擬界面上操作旋鈕、按鍵等調(diào)節(jié)時基、增益、觸發(fā)信號、耦合方式、坐標位置等參數(shù),最終獲取信號的有效波形。圖4.14示波器虛擬仿真界面———方波

4.38255A的實際應用——十字路口信號燈

4.3.1案例說明針對十字路口的交通通行指揮的實際需求,可利用8255A設計交通信號燈的控制程序,即能滿足實際控制目的。設計好的案例原理圖如圖4.15所示。

4.3.2硬件設計

本案例中,8255A與8086的連接方式與案例4.2基本相同,這也是8086與8255A接口電路的典型模式。端口C工作在輸入方式,PC0連接一個外部開關作為系統(tǒng)的啟???/p>

制。端口A和端口B均工作在輸出方式,其中PA0、PA1、PA2分別連接北方交通燈的R、Y、G(紅、黃、綠)三盞燈;PA3、PA4、PA5分別連接南方交通燈的R、Y、G(紅、黃、綠)三盞燈;PB0、PB1、PB2分別連接西方交通燈的R、Y、G(紅、黃、綠)三盞燈;PB3、PB4、PB5分別連接東方交通燈的R、Y、G(紅、黃、綠)三盞燈。

實際系統(tǒng)中,信號燈的電壓和電流并不是微機系統(tǒng)標準的5V電壓和mA級小電流,往往要大得多。為了驅(qū)動信號燈,控制系統(tǒng)還要增加繼電器等低壓電氣元件。本案例以程序設計為主,默認信號燈的電氣規(guī)格與8255A相同。

詳細的交通信號燈系統(tǒng)連接如圖4.16所示。圖4.16十字路口信號燈連接線路圖

4.3.3程序設計

本案例的程序設計基于通用的信號燈控制流程,如下所示:

4.3.4仿真調(diào)試——交互仿真

本案例調(diào)試程序時最好加入ActivePopupsModes的元器件窗口,比如開關和交通燈系統(tǒng)。按照4.1節(jié)所述,在原理圖中單擊按鈕,分別把開關和交通燈包圍起來,如圖

4.17所示。

單擊暫停仿真按鈕,也可以進入源代碼編輯窗口,調(diào)整好源代碼窗口和交互仿真窗口的相對位置,方便進行調(diào)試。初始界面如圖4.18所示。

從圖中看出,現(xiàn)在可以很方便地在源代碼調(diào)試窗口對開關進行操作。先不要閉合開關,繼續(xù)保持斷開狀態(tài)。利用快捷鍵F10單步運行程序,執(zhí)行到代碼的初始化交通燈那部分程序時,交互仿真窗口中的交通燈全部熄滅,與程序功能一致。交通燈初始化交互仿真調(diào)試界面如圖4.19所示。

繼續(xù)單步運行,當運行到檢測開關狀態(tài)程序段時,如果開關仍舊斷開,系統(tǒng)在初始化程序段循環(huán)執(zhí)行,等待開關閉合。

閉合開關,再次單步運行,將會進入到P0開始狀態(tài),南北紅燈點亮,如圖4.20所示。

通過交互仿真調(diào)試過程,可以讓設計人員更容易發(fā)現(xiàn)程序中的問題以便進行修改。本案例交通燈的工作流程比較長,手動單步運行雖然有效,但是不便于檢測完整的交通燈工作流程效果。利用Alt+F11快捷鍵啟動單步動態(tài)運行,能夠在源代碼調(diào)試窗口檢測交通燈的實際運行效果。但是,由于調(diào)試運行時的指令不是以真實的8086時鐘頻率來運行的,因此指的運行時長比較長,案例中的延時程序變量需要做一點修改才能適合交互仿真調(diào)試。

4.48253A的基本應用——6種工作方式

4.4.1案例說明定時器與計數(shù)器是微機系統(tǒng)中非常重要的功能器件,是過程控制必不可少的部件。8253A芯片是Intel公司生產(chǎn)的通用可編程定時/計數(shù)器,其定時時間與計數(shù)次數(shù)可以根據(jù)程序需要靈活地進行設定,典型的應用包括:可編程的方波頻率發(fā)生器、分頻器、實時時鐘、事件計數(shù)器和單脈沖發(fā)生器等。8253A芯片內(nèi)部有三個通道的計數(shù)/定時器,每個通道都有6種工作方式,各種工作方式的功能及其時序邏輯如下。

1.方式0:計數(shù)結(jié)束產(chǎn)生中斷

2.方式1:可編程的單拍負脈沖

3.方式2:分頻脈沖發(fā)生器

4.方式3:分頻方波發(fā)生器

5.方式4:軟件觸發(fā)選通脈沖發(fā)生器

6.方式5:硬件觸發(fā)選通脈沖發(fā)生器

本案例設計了一個8253A的6種工作方式的基本微機系統(tǒng)應用電路,提供了一個學習8253A基本應用的項目實踐,設計好的電路原理圖如圖4.21所示。

4.4.2硬件設計

8253A的內(nèi)部結(jié)構(gòu)如圖4.22所示。

從結(jié)構(gòu)圖中可以看出,8253A內(nèi)部有三個相互獨立、結(jié)構(gòu)相同的計數(shù)器,分別稱為計數(shù)器0、計數(shù)器1和計數(shù)器2。每個計數(shù)器通過三個引腳和外部功能電路聯(lián)系——時鐘輸入

端CLK、門控信號輸入端GATE和輸出端OUT。每個計數(shù)器內(nèi)部有一個8位的控制字寄存器,它的內(nèi)容就決定了該計數(shù)器的工作方式。數(shù)據(jù)總線緩沖器負責與8086傳送數(shù)據(jù),通過8根引腳與8086的數(shù)據(jù)總線連接。讀/寫控制電路是8253A工作的控制器,它的各個引腳狀態(tài)與對應的功能如表4.4所示。圖4.228253A的內(nèi)部結(jié)構(gòu)

按照8253A芯片引腳的設計功能,可以設計出它與8086之間的接口電路原理圖。另外根據(jù)實現(xiàn)8253A的6種工作方式應用功能的需要,添加一些外部電路的元器件,構(gòu)成了如圖4.23所示的8253A工作方式應用電路。圖4.238253A的工作方式應用電路原理圖

上圖中為U7的CLK1、CLK2提供時鐘信號的元件是時鐘發(fā)生器。單擊原理圖窗口左側(cè)模式工具欄中的信號發(fā)生器模式(GeneratorMode)按鈕,在對象選擇器窗口顯示出

Proteus提供的14種信號源。單擊其中的“DCLOCK”,即可在原理圖添加“數(shù)字時鐘發(fā)生器”,并將其連接至8253A相應的CLK引腳。之后,還需要雙擊數(shù)字發(fā)生器圖標,在彈出的窗口中設置它的參數(shù)。上述兩個數(shù)字時鐘發(fā)生器的參數(shù)設置如圖4.24所示。圖4.24數(shù)字時鐘發(fā)生器設置窗口

4.4.3程序設計

設計好的案例程序如下:

在對8253A進行編程之前,需要對其進行初始化。8253A初始化編程步驟是:先寫控制字到8253A的控制端口,再寫計數(shù)器初值到相應的計數(shù)器端口。具體實現(xiàn)就是在8253A上電后,由CPU向8253A的控制寄存器寫入一個控制字,就可以規(guī)定8253A的工作方式、計數(shù)值的長度以及計數(shù)所用的數(shù)制等,另外根據(jù)要求將計數(shù)值寫入8253A的相應通道。8253A的方式控制字設置說明如圖4.25所示。圖4.258253A控制字設置說明

4.4.4仿真調(diào)試——多對象調(diào)試

按照前幾節(jié)的仿真調(diào)試方法,對本案例進行原理圖仿真和源代碼調(diào)試,深入分析8253A的6種工作方式的特點和區(qū)別。源代碼調(diào)試窗口如圖4.26所示。圖4.268253A工作方式應用電路仿真調(diào)試

4.5.1案例說明

本案例設計了一個8259中斷控制的應用,以一個按鈕引起外部硬件中斷,8259進行中斷管理,最終控制8個LED在每次按下按鈕時輪流點亮。案例的電路原理圖如圖4.27所示。

4.58259的基本應用——按鈕中斷控制LED圖4.278259中斷應用電路原理圖

4.5.2硬件設計

8259的內(nèi)部結(jié)構(gòu)如圖4.28所示。圖4.288259內(nèi)部結(jié)構(gòu)圖圖4.298259接口電路圖

8個LED輸出驅(qū)動電路如圖4.30所示,由鎖存器來控制。圖4.30LED接口電路圖

4.5.3程序設計

8259是可編程中斷控制器,在其工作之前,必須采用寫入控制命令的方法來對其進行初始化;在其工作時,還可以采用相同的方式來改變其工作狀態(tài),這就是8259A的編程。控制命令分為初始化命令字ICW和操作命令字OCW。ICW有4個,分別是ICW1~ICW4;OCW有3個,分別是OCW1~OCW3,它們被寫入8259后,分別保存在相應的寄

存器中,例如,ICW1保存在ICW1寄存器中,OCW1保存在OCW1寄存器中。8259A的編程分為初始化編程和操作方式編程。

(1)初始化編程:初始化編程是在8259工作之前,通過軟件向其寫入初始化命令字ICW1~ICW4,設置其初始工作方式。

(2)操作方式編程:操作方式編程是在8259工作的過程中,通過軟件向其寫入操作命令字OCW1~OCW3,改變其工作方式。OCW可在8259初始化后的任何時刻寫入。

按照8259的編程方法和案例實際要求,設計好的程序如下:

4.5.4仿真調(diào)試——中斷程序

運行原理圖仿真,可以檢測是否每按下一次按鈕就按照順序且循環(huán)地點亮LED。8259中斷應用的原理圖仿真如圖4.31所示。

單純從原理圖仿真還是無法看出中斷程序的運行方式,因此必須要進行源代碼調(diào)試仿真。按照前幾節(jié)的方法,將按鈕和LED燈組加入交互仿真窗口,然后啟動源代碼調(diào)試,如

圖4.32所示。圖4.328259中斷應用的源代碼仿真

開始“單步動態(tài)調(diào)試”,觀察到隨著代碼的逐行執(zhí)行,LED初始化,變成熄滅狀態(tài)。代碼執(zhí)行到WAIT0處就停止了,等待中斷的產(chǎn)生,如圖4.33所示。圖4.33等待中斷時的仿真界面

此時,按下按鈕,發(fā)現(xiàn)程序?qū)⑻D(zhuǎn)到LED中斷服務程序,開始執(zhí)行后,點亮LEDD1,中斷結(jié)束后返回WAIT0處等待下一個中斷的產(chǎn)生。周而復始,循環(huán)執(zhí)行。LED按照D1~D8的順序循環(huán)點亮。

4.68259中斷控制6位數(shù)碼管

4.6.1案例說明本案例利用8259實時采集外部中斷的發(fā)生,當按鈕按下時,中斷在運行的數(shù)碼管顯示程序,并調(diào)用中斷服務程序?qū)?shù)碼管顯示程序的參數(shù)進行修改,之后再返回數(shù)碼管顯示程序繼續(xù)執(zhí)行。設計好的電路原理圖如圖4.34所示。

4.6.2硬件設計

8086地址鎖存單元和總線電路的設計還是采用以往的典型設計模式,譯碼電路也還是采用74LS138譯碼產(chǎn)生8個I/O接口地址,8259的接口電路與案例4.5的連接方式相同。6位數(shù)碼管的控制同案例4.1相同,還是采用的是兩片鎖存器74273分別連接它的位控制端口和段控制端口,但是與案例4.1不同的是本數(shù)碼管是共陽極方式。數(shù)碼管初始的運行狀態(tài)是每一位數(shù)碼管動態(tài)地循環(huán)顯示數(shù)字0,如圖4.35所示。圖4.356位數(shù)碼管初始運行狀態(tài)

4.6.3程序設計

設計好的程序如下:

4.6.4仿真調(diào)試

開始原理圖仿真運行,在數(shù)碼管動態(tài)循環(huán)顯示數(shù)字的同時按動按鈕以產(chǎn)生外部硬件中斷,可以看到數(shù)碼管顯示的數(shù)字在每次按下按鈕的同時會做出加1操作,甚至在6位數(shù)碼

管的一個顯示循環(huán)周期中響應多次按鈕產(chǎn)生的中斷,如圖4.36所示。圖4.366位數(shù)碼管在中斷產(chǎn)生時的狀態(tài)瞬間

4.7A/D轉(zhuǎn)換的應用——利用ADC0808檢測電壓

4.7.1案例說明在第2章介紹過計算機與外部模擬信號之間必須要經(jīng)過A/D轉(zhuǎn)換(模/數(shù)轉(zhuǎn)換)和D/A轉(zhuǎn)換(數(shù)/模轉(zhuǎn)換),才能交換信息,模擬量處理過程如圖2.9所示。本案例針對A/D轉(zhuǎn)換設計了一個檢測、轉(zhuǎn)換、顯示電壓數(shù)值的實例,其電路原理圖如4.37所示。

4.7.2硬件設計

1.8255控制數(shù)碼管

前面兩個案例中,數(shù)碼管的控制電路采用的是簡單I/O接口芯片——鎖存器74LS273,本案例換成可編程接口芯片8255A構(gòu)成控制電路。8255A的控制引腳、數(shù)據(jù)引腳的連接方式還是典型接法,端口A的PA0作為輸入端接入一個開關用來啟動檢測電壓,端口B連接4位共陰極數(shù)碼管的段控制端口,端口C的高4位連接數(shù)碼管的位控制端口。電路圖如圖4.38所示。圖4.388255A連接數(shù)碼管電路原理圖

2.ADC0808電路

ADC0808是采樣分辨率為8位的、以逐次逼近原理進行模/數(shù)轉(zhuǎn)換的器件。內(nèi)部結(jié)構(gòu)如圖4.39所示,其內(nèi)部有一個8通道多路開關,它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。ADC0808是ADC0809的簡化版本,功能基本相同。一般在硬件仿真時采用ADC0808進行A/D轉(zhuǎn)換,實際使用時采用ADC0809進行A/D轉(zhuǎn)換。圖4.39ADC0808內(nèi)部結(jié)構(gòu)圖

ADC0808的各種引腳的說明如下。

(1)IN0~IN7——8路模擬輸入,ADC0808對輸入模擬量的要求:信號單極性,電壓范圍是0~5V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。通過3根地址譯碼線ADDA

、ADDB、ADDC

的組合來選通IN0~IN7其中的一路,具體的關系如表4.5所示。

(2)D7~D0———A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。

(3)ADDA

、ADDB、ADDC———模擬通道選擇地址信號,ADDA

為低位,ADDC

為高位。地址信號與選中通道的對應關系如表4.5所示。

(4)VREF(+)、VREF(-)———正、負參考電壓輸入端,用于提供片內(nèi)ADC電阻網(wǎng)絡的基準電壓。在單極性輸入時,VREF(+)=5V,VREF(-)=0V;輸出數(shù)字量與輸入模擬電壓之間的轉(zhuǎn)換公式如下:

(5)ALE——地址鎖存允許信號,高電平有效。當此信號有效時,A、B、C三位地址信號被鎖存,譯碼選通對應模擬通道。在使用時,該信號常和START信號連在一起,以

便同時鎖存通道地址和啟動A/D轉(zhuǎn)換。

(6)START——A/D轉(zhuǎn)換啟動信號,正脈沖有效。加于該端的脈沖的上升沿使逐次逼近寄存器清零,下降沿開始A/D轉(zhuǎn)換。如正在進行轉(zhuǎn)換時又接到新的啟動脈沖,則原來

的轉(zhuǎn)換進程被中止,重新從頭開始轉(zhuǎn)換。

(7)EOC——轉(zhuǎn)換結(jié)束信號,高電平有效。該信號在A/D轉(zhuǎn)換過程中為低電平,其余時間為高電平。該信號可作為被CPU查詢的狀態(tài)信號,也可作為對CPU的中斷請求信號。在需要對某個模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動信號反饋接到START端,但在剛加電時需由外電路第一次啟動。

(8)OE——輸出允許信號,高電平有效。當微處理器送出該信號時,ADC0808/0809的輸出三態(tài)門被打開,使轉(zhuǎn)換結(jié)果通過數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號往往是CPU發(fā)出的中斷請求響應信號。

(9)CLOCK——時鐘輸入信號,ADC0808的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500kHz

ADC0808/0809的工作時序如圖4.40所示。當通道選擇地址有效時,ALE信號一出現(xiàn),地址便馬上被鎖存,這時轉(zhuǎn)換啟動信號緊隨ALE之后(或與ALE同時)出現(xiàn)。START

的上升沿將逐次逼近寄存器SAR復位,在該上升沿之后的2μs加8個時鐘周期內(nèi)(不定),EOC信號將變?yōu)榈碗娖?以指示轉(zhuǎn)換操作正在進行中,直到轉(zhuǎn)換完成后EOC再變?yōu)楦唠娖?。微處理器收到變?yōu)楦唠娖降腅OC信號后,便立即送出OE信號,打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。圖4.40ADC0808/0809工作時序

設計好的ADC0808電路如圖4.41所示。圖4.41ADC0808電路原理圖

4.7.3程序設計

設計好的程序如下:

4.7.4仿真調(diào)試

啟動原理圖仿真,通過鼠標單擊“+”、“-”圖標來改變可調(diào)電阻RV1中間抽頭的位置,可以從電壓表上的讀數(shù)看到輸入電壓在變化,微機系統(tǒng)檢測到開關SW1閉合時才會

啟動ADC0808轉(zhuǎn)換,利用軟件延時等待轉(zhuǎn)換結(jié)束,之后程序處理轉(zhuǎn)換得到二進制數(shù)據(jù),將其變換成對應的十進制電壓值并顯示在數(shù)碼管上,如圖4.42所示。下面給出兩個不同輸入

電壓時的仿真界面,可以看出無論采集電壓還是模/數(shù)轉(zhuǎn)換都是很精確的。圖4.42ADC0808電路的仿真調(diào)試

4.8D/A轉(zhuǎn)換的應用——利用DAC0832繪制正弦波

4.8.1案例說明利用8086系統(tǒng)常用的數(shù)/模轉(zhuǎn)換芯片DAC0832芯片繪制正弦波曲線,設計好的電路原理圖如圖4.43所示。

4.8.2硬件設計

DAC0832是使用較多的一種8位D/A轉(zhuǎn)換器,其轉(zhuǎn)換時間為1μs,工作電壓為5~15V,基準電壓為±10V。圖4.44是它的內(nèi)部結(jié)構(gòu)。圖4.44DAC0832內(nèi)部結(jié)構(gòu)

1)單極性輸出

DAC0832的單極性輸出電路如圖4.45所示。圖4.45DAC0832的單極性輸出電路

2)雙極性輸出

DAC0832的雙極性輸出電路如圖4.46所示。圖4.46DAC0832的雙極性輸出電路

按照單極性電壓輸出模式,設計好的DAC0832電路原理圖如圖4.47所示。圖4.47DAC0832電路原理圖

4.8.3程序設計

輸出正弦波的方法其實就是將連續(xù)曲線采樣處理,得到在某一周期下的數(shù)字量,然后再利用數(shù)/模轉(zhuǎn)換將數(shù)字量還原成曲線的過程。程序中已經(jīng)對幅值、周期確定的正弦波進行了采樣,并獲得了采樣的數(shù)據(jù),保存在BUF中。

4.8.4仿真調(diào)試

運行原理圖仿真,閉合開關時,可以看到DAC0832輸出端連接的電壓表開始有數(shù)值的變化。同時可以通過示波器觀察到系統(tǒng)輸出的信號為所期望輸出的正弦波,如圖4.48所示。圖4.48DAC0832電路的輸出波形圖

4.9傳感器的應用——基于光敏電阻的自動汽車大燈

4.9.1案例說明傳感器是微機控制系統(tǒng)的重要檢測元件,形式多樣、類型豐富,但是它們的基本應用模式還是大致相同的。本案例以測量光照度的光敏電阻為對象,構(gòu)建一套簡易的汽車大燈自動控制系統(tǒng)。為了使系統(tǒng)具有良好的替換性和擴展性,本案例將傳感器測控系統(tǒng)制作成獨立的接口電路板,在Proteus中設計成子電路的形式再與8086最小系統(tǒng)相連接。設計好的電路原理圖如圖4.49所示。

4.9.2硬件設計

如圖4.49所示,本案例采用了層次式設計,即包括主電路和子電路兩層電路。主電路是8086最小系統(tǒng),而子電路就是傳感器檢測系統(tǒng)。本案例的傳感器檢測接口電路的原理圖

如圖4.50所示。圖4.50光敏電阻接口電路原理圖

首先,單擊模式工具欄上面的SubcircuitMode(子電路模式)

按鈕,進入子電路模式。在對象選擇器窗口顯示出子電路可用的端口類型,如圖4.51所示。圖4.51子電路的端口

在原理圖的空白位置單擊鼠標左鍵選中一個起點,移動鼠標,將會出現(xiàn)一個紅色框隨著鼠標移動,再次單擊左鍵確定終點,繪制成的方框就是子電路的方框圖形。雙擊子電路

方框,彈出子電路編輯窗,可以為該子電路重新命名、添加注釋等。給它命名為LDR,即光敏電阻(LightDependentResistor),上述過程如圖4.52所示。圖4.52繪制子電路方框圖

其次,設計子電路的原理圖。設計子電路原理圖必須要從主電路進入子電路窗口,有兩種常用的方法:

(1)在子電路方框圖上面單擊鼠標右鍵,然后在彈出窗口中選擇“GotoChildSheet”命令,即可打開子電路的原理圖編輯窗口;

(2)鼠標

溫馨提示

  • 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

提交評論