微機原理及應用 課件 第9、10章 常用可編程接口技術及應用、模數和數模轉換通道_第1頁
微機原理及應用 課件 第9、10章 常用可編程接口技術及應用、模數和數模轉換通道_第2頁
微機原理及應用 課件 第9、10章 常用可編程接口技術及應用、模數和數模轉換通道_第3頁
微機原理及應用 課件 第9、10章 常用可編程接口技術及應用、模數和數模轉換通道_第4頁
微機原理及應用 課件 第9、10章 常用可編程接口技術及應用、模數和數模轉換通道_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理及應用

了解接口芯片8255A、8251A的內部結構

掌握上述芯片的工作原理

理解8255A等芯片在微機系統(tǒng)中的應用學習目標:

第9章常用可編程接口技術及應用9.1可編程并行接口芯片8255A返回9.1.1并行接口概述9.1.28255A的內部結構與引腳功能9.1.38255A的控制字9.1.48255A的工作方式9.1.58255A的應用9.1.1并行接口概述1.并行接口的特點(1)并行接口是在多根數據線上以數據字節(jié)或字為單位與I/O設備或被控對象傳輸數據。如并行打印機接口,鍵盤顯示器接口,A/D、D/A轉換器接口等。(2)并行接口適用于近距離數據傳輸。并行通信是指兩個功能模塊之間有多條數據信號傳送線路,這樣功能模塊之間可以一次同時傳送多位數據,傳送速度快。由于所需的數據傳送線路較多,造價高,因此并行通信適用于近距離、快速數據交換的場合。(3)在并行接口中,8位或16位是同時傳輸的。因此,采用并行接口與外設交換數據時,即使是用到其中的一位,也是一次輸入/輸出8位或16位。(4)并行傳送的信息不要求固定的格式,這與串行傳送的信息有固定格式的要求不同。

9.1.1并行接口概述2.并行接口的類型從并行接口數據傳送的方向看,可分為兩種,一是單向傳送(只作為輸入口或只作為輸出口);另一種是雙向傳送(既可作為輸入口,也可作為輸出口)。從并行接口的電路結構看,并行接口可分為硬接線接口和可編程接口。硬接線接口的工作方式和功能單一,只能完成數據的傳送,如果系統(tǒng)中需要控制和狀態(tài)信息,只能由用戶定義,使用不方便。也就是說,采用該方式一旦完成硬件電路設計,則接口的工作方式就被固定了。此類接口常由數據鎖存器、數據緩沖器等組成,用于CPU與外部設備之間不需要聯絡信號的并行數據傳輸,如開關量的讀取、發(fā)光二極管的控制等??删幊探涌诳梢杂密浖幊痰姆椒ǜ淖兘涌诘墓ぷ鞣绞郊肮δ埽哂袕V泛的適應性和很高的靈活性,在微機系統(tǒng)中得到廣泛應用。9.1.2

8255A的內部結構與引腳功能

Intel8255A是一種通用的可編程并行接口芯片,它具有24根I/O引腳,采用雙排直插式封裝,使用單一+5V電源,全部輸入/輸出與TTL電平兼容。

1.8255A的內部結構

8255A的內部結構如圖9-1所示,它由4部分組成。9.1.2

8255A的內部結構與引腳功能

(1)數據端口A、B、C。

8255A有三個8位數據端口,即端口A、端口B和端口C。設計人員可通過編程使它們分別作為輸入端口或輸出端口。但三個端口各有特點。

①端口A包含一個8位數據輸入鎖存器和一個8位數據輸出鎖存器/緩沖器。用端口A作為輸入或輸出時,數據均受到鎖存。

②端口B和端口C均包含一個8位數據輸入緩沖器和一個8位數據輸出鎖存器/緩沖器。在使用中,端口A和端口B常常作為獨立的輸入和輸出端口。端口C除了可作為獨立的輸入或輸出端口外,還可以配合端口A或端口B工作,端口C可以分成兩個4位的端口,分別為端口A和端口B的控制信號或狀態(tài)信號。9.1.2

8255A的內部結構與引腳功能

(2)A組和B組控制電路。這兩組控制電路一方面接收CPU發(fā)來的控制字并決定8255A的工作方式;另一方面接收來自讀/寫控制電路的讀/寫命令,完成接口的讀/寫操作。A組控制電路用來控制A口及C口的高4位;B組控制電路用來控制B口及C口的低4位。(3)數據總線緩沖器。數據總線緩沖器是一個8位的雙向三態(tài)緩沖器。8255A通過它與系統(tǒng)總線連接。輸入/輸出數據、CPU發(fā)給8255A的控制字都是通過這個緩沖器進行的。(4)讀/寫控制邏輯。讀/寫控制邏輯電路負責管理8255A的數據傳輸過程。9.1.2

8255A的內部結構與引腳功能

2.8255A的引腳功能

8255A芯片除電源和地引腳以外,其他引腳可分為兩組,引腳如圖

9-2所示。9.1.2

8255A的內部結構與引腳功能

表9-18255A的操作功能表A1A0操作數據傳送方式00100讀

A口A口數據

數據總線00101讀

B口B口數據

數據總線00110讀

C口C口數據

數據總線01000寫

A口數據總線數據

→A口01001寫

B口數據總線數據

→B口01010寫

C口數據總線數據

→C口01011寫控制口數據總線數據

控制口9.1.3

8255A的控制字8255A有兩個控制字:方式選擇控制字和端口C置位/復位控制字。這兩個控制字公用一個地址,即控制端口地址。用控制字的D7位來區(qū)分這兩個控制字,D7=1為方式選擇控制字;D7=0為端口C置位/復位控制字。1.方式選擇控制字方式選擇控制字的格式如圖9-3所示:D0~D2用來對B組的端口進行工作方式設定;D3~D6用來對A組的端口進行工作方式設定;最高位為1是方式選擇控制字標志。9.1.3

8255A的控制字

2.端口C置位/復位控制字端口C置位/復位控制字的格式如圖9-4所示:D3~D1三位的編碼與端口C的某一位相對應;D0決定置位或復位操作;最高位為0,是端口C置位/復位控制字標志。9.1.4

8255A的工作方式

8255A有以下三種工作方式,用戶可以通過編程來設置。

1.方式0(基本輸入/輸出)在方式0下,每一個端口都作為基本的輸入或輸出口,端口C的高4位和低4位及端口A、端口B都可獨立地設置為輸入口或輸出口。4個端口的輸入/輸出可有16種組合。

8255A工作于方式0時,CPU可采用無條件讀寫方式與8255A交換數據,也可以采用查詢方式與8255A交換數據。采用查詢方式時,可利用端口C作為與外設的聯絡信號。方式0的應用場合有兩種:一種是同步傳送;另一種是查詢傳送。9.1.4

8255A的工作方式

2.方式1(選通輸入/輸出)方式1下三個端口分為A、B兩組,端口A、端口B仍作為輸入或輸出口,端口C分成兩部分,一部分(6位,分成兩個3位)作為端口A和端口B的聯絡信號;另一部分(兩位)仍可作為基本的輸入/輸出口。

3.方式2(雙向選通輸入/輸出)

8255A的方式2可使8255A與外設進行雙向通信,既能發(fā)送數據,又能接收數據。可采用查詢方式和中斷方式進行傳輸。只有A口才有方式2。這時,C口PC7~PC3用作A口的應答聯絡線,其余PC0~PC2可用作方式0,也可用作B口方式1的應答聯絡線。9.1.4

8255A的應用

應用8255A并行接口芯片設計的鍵盤采用行掃描法。行掃描法原理:鍵盤的行線為掃描輸出線,列線為狀態(tài)輸入線,且使列線都處于高電平狀態(tài)。若行線輸出低電平,只要某列有按鍵按下,那么該列就被按鍵觸點短接到行線,因此該列都變?yōu)榈碗娖健2话存I時行線與列線之間沒有接觸點,列線輸入仍為高電平。使鍵盤上某一行線為低電平,而其余行接高電平,然后讀取列值,如果列值中有某位為低電平,則表明行列交點處的鍵被按下;否則掃描下行,直到掃完全部行線為止?!纠?.1】掃描鍵盤按鍵并保存相應鍵值,硬件如圖9-8所示。設8255A的端口地址為300H~303H,接收100個按鍵后結束。9.1.4

8255A的應用

分析:檢測鍵盤輸入過程如下:PA0~PA3送全“0”,再讀取PB0~PB2,若全為“1”,則表示無鍵閉合。若有鍵閉合,則進行鍵掃描。鍵掃描方法如下:使PA0為0,PA1~PA3為高電平,讀取PB0~PB2,如果是全“1”,則表示該列無鍵閉合;否則閉合鍵在該列上,再進一步判斷讀取的數據中哪一位為“0”,從而確定閉合鍵。若該列無鍵閉合,則依次使PB1、PB2進行上述操作。9.2可編程串行通信接口芯片8251A返回9.2.1串行通信的基本概念9.2.28251A的功能及結構9.2.38251A的控制命令9.2.48251A的初始化編程與應用9.2.1

串行通信的基本概念

串行通信是指利用一條傳輸線將數據一位一位地按順序分時傳輸。當傳輸一個字節(jié)的數據時,8位數據通過一條線分8個時間段發(fā)出,發(fā)出順序一般由低位到高位。串行通信的優(yōu)勢是用于通信的線路少,因而在遠距離通信時可以降低通信成本。另外,它還可以利用現有的通信信道(如電話線路等),使數據通信系統(tǒng)遍布千萬個家庭和辦公室。串行通信適合于遠距離數據傳輸,如微型機與計算中心之間、微機系統(tǒng)之間或其他系統(tǒng)之間。串行通信也由于連線方便而常用于速度要求不高的近距離數據傳輸,如房間內的微型機之間、微型機與繪圖機之間、微型機與字符顯示器之間。PC系統(tǒng)上都有兩個串行異步通信接口,鍵盤、鼠標與主機之間也采用串行數據傳輸。相對于并行通信方式,串行通信速度較慢。目前,高速的串行通信標準如USB接口標準已制定,并獲得了廣泛應用。9.2.1

串行通信的基本概念

1.數據傳送方式按串行通信的數據在通信線路進行傳送的方向可分為單工、半雙工和全雙工通信三種方式。如圖9-9所示。(1)單工通信方式。單工通信就是指數據的傳送始終保持同一個方向,而不能進行反向傳送,如圖9-9(a)所示。其中A端只能作為發(fā)送端發(fā)送數據,B端只能作為接收端接收數據。(2)半雙工通信方式。半雙工通信就是指信息流可以在兩個方向上傳送,但同一時刻只限于一個方向上的傳送,如圖9-9(b)所示。其中A端和B端都具有發(fā)送和接收功能,但傳送線路只有一條,或者A端發(fā)送B端接收,或者B端發(fā)送A端接收。(3)全雙工通信方式。全雙工通信能在兩個方向上同時發(fā)送和接收,如圖9-9(c)所示。A端和B端雙方都可以一方面發(fā)送數據,一方面接收數據。9.2.1

串行通信的基本概念圖9-9數據傳送方式9.2.1

串行通信的基本概念

2.同步通信和異步通信串行通信按信息傳輸格式分為異步通信(ASYNC)和同步通信(SYNC)兩種。在串行通信中發(fā)送端與接收端之間的同步問題是數據通信中的一個重要問題。同步不好,輕者導致誤碼增加,重者則使整個系統(tǒng)不能正常工作。為解決這一傳送過程中的問題,在串行通信中采用了兩種同步技術,即異步通信和同步通信。(1)異步通信。異步通信也稱起止式傳送,它是利用起止法來達到收發(fā)同步目的的。異步通信以一個字符為傳輸單位,接收設備在收到起始信號之后只要在一個字符的傳輸時間內能和發(fā)送設備保持同步就能正確接收。下一個字符起始位的到來又使同步重新校準。9.2.1

串行通信的基本概念

異步通信時,數據是一幀一幀(包括一個字符代碼或一個字節(jié)數據)傳送的。在幀格式中,一個字符由四部分組成:起始位、數據位、奇偶校驗位和停止位,首先字節(jié)傳送的起始位由“0”開始;然后是編碼的字符,通常規(guī)定低位在前,高位在后;接下來是校驗位(可省略);最后停止位“1”(可以是1位、1.5位或兩位)表示字節(jié)的結束。格式如下。采用異步通信方式時,硬件結構簡單,但是傳送每一個字節(jié)都要加起始位、停止位,因而傳送效率低,主要用于中、低速通信。9.2.1

串行通信的基本概念

(2)同步通信。同步通信以一個幀為傳輸單位,每個幀中包含有多個字符。在通信過程中,每個字符間的時間間隔是相等的,而且每個字符中各相鄰位代碼間的時間間隔也是固定的。同步通信的數據格式如下。同步通信在數據開始處用同步字符(通常為1~2個)來指示。由定時信號(時鐘)來實現收發(fā)端的同步,一旦檢測到與規(guī)定的同步字符相符合,接下來就連續(xù)按順序傳送數據。在這種傳送方式中,數據以一組數據(數據塊)為單位進行傳送,數據塊中每個字節(jié)不需要起始位和停止位,因而克服了異步通信效率低的缺點,但同步傳送所需的軟硬件價格是異步傳送的8~12倍。因此通常在數據傳遞速率超過2000b/s的系統(tǒng)中才采用同步通信方式。9.2.1

串行通信的基本概念

3.波特率與收/發(fā)時鐘波特率是衡量數據傳送速率的指標,表示每秒鐘傳送的二進制位數。以位/秒(bps或b/s)為單位,也稱為波特。例如,數據傳送速率為960字符/秒,而每一個字符為10位,則其傳送的波特率為10×960=9600位/秒=9600b/s。在異步串行通信中,發(fā)送端需要用一定頻率的時鐘來決定發(fā)送每1位數據所占的時間長度(稱為位寬度),接收端也要用一定頻率的時鐘來測定每一位輸入數據的位寬度。發(fā)送端使用的用于決定數據位寬度的時鐘稱為發(fā)送時鐘,接收端使用的用于測定每一位輸入數據位寬度的時鐘稱為接收時鐘。由于發(fā)送/接收時鐘決定了每一位數據的位寬度,所以發(fā)送/接收時鐘頻率的高低決定了串行通信雙方發(fā)送/接收字符數據的速度。9.2.1

串行通信的基本概念

4.信息傳輸方式(1)基帶傳輸方式。在傳輸線路上直接傳輸不加調制的二進制信號,這種傳輸方式稱為基帶傳輸方式。它要求傳送線的頻帶較寬,傳輸的數字信號是矩形波?;鶐鬏敺绞絻H適用于近距離和速度較低的通信?;鶐鬏敺绞饺鐖D9-10所示。9.2.1

串行通信的基本概念

(2)頻帶傳輸方式。傳輸經過調制的模擬信號在長距離通信時,發(fā)送方要用調制器把數字信號轉換成模擬信號,接收方則用解調器將接收到的模擬信號再轉換成數字信號,這就是信號的調制解調。實現調制和解調任務的裝置稱為調制解調器(MODEM)。采用頻帶傳輸時,通信雙方各接一個調制解調器,將數字信號寄載在模擬信號(載波)上加以傳輸。因此這種傳輸方式也稱為載波傳輸方式。這時的通信線路可以是電話交換網,也可以是專用線。常用的調制方式有三種:調幅、調頻和調相,分別如圖9-11所示。

5.傳送介質目前普遍使用的傳送介質有同軸電纜、雙絞線、光纜,其他介質,如無線電、紅外微波等在PLC網絡中應用很少。其中雙絞線(帶屏蔽)成本低、安裝簡單;光纜尺寸小、質量輕、傳輸距離遠,但成本高、安裝維修需專用儀器。9.2.1

串行通信的基本概念

6.串行接口標準(1)RS-232C接口。

RS-232C是得到廣泛使用的串行異步通信接口標準。它是EIA(美國電子工業(yè)協(xié)會)于1962年公布,并于1969年修訂的串行接口標準。事實上已經成為國際上通用的標準串行接口。1987年1月,RS-232C經修改后正式改名為EIA-232D。1991年修改為EIA-232E,1997年又修改為EIA-232F。由于標準修改不多,現在很多廠商仍習慣于使用“RS-232C”這個名字。9.2.1

串行通信的基本概念

(2)RS-422A與RS-485接口。采用RS-232C接口存在著傳輸距離短、傳輸速率低、有電平偏移和抗干擾能力差等問題,因此EIA協(xié)會制定了新的串行通信標準RS-422A,它是平衡型電壓數字接口電路的電氣標準。RS-422A與RS-232C的主要區(qū)別是收發(fā)雙方的信號地不再共用,且每個方向用于傳輸數據的是兩條平衡導線。所謂“平衡”是指輸出驅動器為雙端平衡驅動器。如果其中一條線為邏輯“1”狀態(tài),另一條線就為邏輯“0”,比采用單端不平衡驅動對電壓的放大倍數大一倍。驅動器輸出允許范圍是±2~±6V。差分電路能從地線干擾中拾取有效信號,差分接收器可以分辨200mV以上的電位差。若傳輸過程中混入了干擾和噪聲,由于差分放大器的作用,可使干擾和噪聲相互抵消,大大減弱了地線干擾和電磁干擾的影響。9.2.2

8251A的功能及結構

1.8251A的基本功能

8251A是可編程串行通信接口芯片,可通過編程實現串行接口的基本任務。8251A能以同步方式或異步方式工作。與之相類似的可編程串行通信接口芯片還有8250及16550。8250是異步收發(fā)器,只能工作在異步通信方式。早期的PC系統(tǒng)機型中,8250是使用最為廣泛的異步串行通信接口芯片,另一款芯片16550完全兼容8250。同其他單一功能的可編程接口芯片一樣,目前,8250已被集成在大規(guī)模集成電路的主板芯片組中,但至今仍然保持了原有的端口特性。一個COM端口相當于一片8250芯片。8251A的基本功能如下。9.2.2

8251A的功能及結構

①通過編程,可工作在同步方式或異步方式下。同步方式下,波特率為0~64Kb/s,異步方式下,波特率為0~19.2Kb/s。

②同步方式下,每個字符可以用5、6、7或8位來表示,并且內部能自動檢測同步字符,從而實現同步。此外,8251A也允許同步方式下增加奇/偶校驗位進行校驗。

③異步方式下,每個字符可以用5、6、7或8位來表示,時鐘頻率為傳輸波特率的1、16或64倍,用1位作為奇/偶校驗位,1個啟動位,并能根據編程為每個數據增加1個、1.5個或兩個停止位??梢詸z查假啟動位,自動檢測和處理終止字符。

④全雙工的工作方式,其內部提供具有雙緩沖器的發(fā)送器和接收器。

⑤提供出錯檢測,具有奇偶、溢出和幀錯誤三種校驗電路。9.2.2

8251A的功能及結構

2.8251A的內部結構

8251A的內部結構如圖9-12所示。9.2.2

8251A的功能及結構

(1)發(fā)送器。發(fā)送器由發(fā)送緩沖器和發(fā)送控制電路兩部分組成。采用異步方式,則由發(fā)送控制電路在其首尾加上起始位和停止位,然后從起始位開始,經移位寄存器從數據輸出線TXD逐位串行輸出。采用同步方式,則在發(fā)送數據之前,發(fā)送器將自動送出1個或兩個同步字符,然后才逐位串行輸出數據。如果CPU與8251A之間采用中斷方式交換信息,那么TXRDY可作為向CPU發(fā)出的中斷請求信號。當發(fā)送器中的8位數據串行發(fā)送完畢時,由發(fā)送控制電路向CPU發(fā)出TxE有效信號,表示發(fā)送器中移位寄存器已空。9.2.2

8251A的功能及結構

(2)接收器。接收器由接收緩沖器和接收控制電路兩部分組成。接收移位寄存器從RXD引腳上接收串行數據轉換成并行數據后存入接收緩沖器中。異步方式下,在RXD線上檢測低電平,將檢測到的低電平作為起始位,8251A開始進行采樣,完成字符裝配,并進行奇偶校驗和去掉停止位,變成并行數據后送到數據輸入寄存器,同時發(fā)出RXRDY信號給CPU,表示已經收到一個可用的數據。同步方式下,首先搜索同步字符。8251A監(jiān)測RXD線,每當RXD線上出現一個數據位時,接收下來并送入移位寄存器移位,與同步字符寄存器的內容進行比較,如果兩者不相等,則接收下一位數據,并且重復上述比較過程。當兩個寄存器的內容比較相等時,8251A的SYNDET升為高電平,表示同步字符已經找到,同步已經實現。9.2.2

8251A的功能及結構

(3)數據總線緩沖器。數據總線緩沖器是CPU與8251A之間的數據接口,包含3個8位的緩沖寄存器:兩個寄存器分別用來存放CPU向8251A讀取的數據或狀態(tài)信息;另一個寄存器用來存放CPU向8251A寫入的數據或控制信息。(4)讀/寫控制電路。讀/寫控制電路用來配合數據總線緩沖器的工作。功能如下。

①接收寫信號,并將來自數據總線的數據和控制字寫入8251A。

②接收讀信號,并將數據或狀態(tài)字從8251A送往數據總線。

③接收控制/數據信號C/,高電平時為控制字或狀態(tài)字,低電平時為數據。

④接收時鐘信號CLK,完成8251A的內部定時。

⑤接收復位信號RESET,使8251A處于空閑狀態(tài)。(5)調制解調控制電路。調制解調控制電路用來簡化8251A和調制解調器的連接。9.2.2

8251A的功能及結構

3.8251A的引腳功能

8251A與CPU及外設之間的連接如圖9-13所示。(1)8251A和CPU之間的連接信號可以分為4類。

①:片選信號,它由CPU的地址信號通過譯碼后得到。

②D0~D7:數據信號,8251A有8位雙向數據線與系統(tǒng)的數據總線相連。傳輸CPU對8251A的編程命令字和8251A送往CPU的狀態(tài)信息及數據。

③讀/寫控制信號。9.2.3

8251A的控制命令

CPU可以向8251A寫入控制命令,包括方式選擇控制字和操作命令控制字;還可以從8251A讀取工作狀態(tài)字。

①方式選擇控制字。方式選擇控制字可分為4組,每組兩位。B1、B2用于設定工作方式;L1、L2用于設定字符的位數;PEN、EP用于設定校驗方式;S1、S2用于設定異步方式下停止位的位數或同步方式下的方式。格式如圖9-14所示。9.2.3

8251A的控制命令

②操作命令控制字。操作命令控制字用于設定8251A處于何種工作狀態(tài),以便接收或發(fā)送數據。格式如圖9-15所示。9.2.3

8251A的控制命令

③工作狀態(tài)字。

8251A進行數據傳輸后的狀態(tài)字存放在狀態(tài)寄存器中,CPU通過讀操作讀入狀態(tài)字,進行分析和判斷,以決定下一步的工作。工作狀態(tài)字的格式如圖9-16所示。9.2.4

8251A的初始化編程與應用

1.8251A的初始化(1)芯片復位以后,第一次用奇地址端口寫入的值作為方式字送入方式寄存器。(2)如果方式字中規(guī)定了8251A工作在同步方式,CPU接著往奇地址端口寫入規(guī)定的1個或兩個字節(jié)的同步字符,同步字符寫入同步字符寄存器,同步字符的數目由方式字確定。(3)只要不是復位命令,不論同步方式還是異步方式,均由CPU往奇地址端口寫入控制命令字到控制寄存器,而往偶地址端口寫入的值將作為數據送到數據輸出寄存器。初始化結束后,CPU就可以通過查詢8251A的狀態(tài)字或采用中斷方式進行正常的串行通信。由于方式字、命令字及同步字符均無特征標志位,且都寫入同一個命令端口地址,所以在對8251A初始化時,必須按一定的順序編程。初始化流程圖如圖9-17所示。9.2.4

8251A的初始化編程與應用圖9-178251A初始化流程圖9.2.4

8251A的初始化編程與應用

2.8251A的應用實例(1)異步方式下的初始化程序舉例。設8251A工作在異步模式,波特率系數(因子)為16,7個數據位/字符,偶校驗,兩個停止位,發(fā)送、接收允許,設端口地址為00E2H和00E4H,完成初始化程序。分析:根據題目要求,可以確定模式字為:11111010B,即0FAH,而控制字為:00110111B,即37H,則初始化程序如下。MOVAL,0FAH;送模式字MOVDX,00E2HOUTDX,AL;異步方式,7位/字符,偶校驗,兩個停止位MOVAL,37H ;設置控制字OUTDX,AL9.2.4

8251A的初始化編程與應用

(2)同步方式下的初始化程序舉例。設端口地址為52H,采用內同步方式,兩個同步字符(設同步字符為16H),偶校驗,7位數據位/字符。分析:根據題目要求,可以確定方式字為:00111000B(38H),控制字為:10010111B(97H)。它使8251A對同步字符進行檢索;同時使狀態(tài)寄存器中的3個出錯標志復位;此外,使8251A的發(fā)送器啟動,接收器也啟動;控制字還通知8251A,CPU當前已經準備好進行數據傳輸。具體程序段如下。MOVAL,38H ;設置模式字,同步模式,用兩個同步字符OUT52H,AL ;7個數據位,偶校驗MOVAL,16HOUT52H,AL ;送同步字符16H0UT52H,ALMOVAL,97H ;設置控制字,使發(fā)送器和接收器啟動OUT52H,AL9.2.4

8251A的初始化編程與應用

(3)利用狀態(tài)字進行編程的舉例。下面的程序段先對8251A進行初始化,然后對狀態(tài)字進行測試,以便輸入字符。本程序段可用來輸入80個字符。分析:8251A的控制和狀態(tài)端口地址為52H,數據輸入/輸出端口地址為50H。字符輸入后,放在BUFFER標號所指的內存緩沖區(qū)中。具體程序段如下。(4)兩臺微型計算機通過8251A相互通信的舉例。通過8251A實現相距較遠的兩臺微型計算機相互通信的系統(tǒng)連接簡化框圖如圖9-18所示。這時,利用兩片8251A通過標準的串行接口RS-232C實現兩臺8086微機之間的串行通信,可采用異步或同步工作方式。9.2.4

8251A的初始化編程與應用圖9-18雙機串行通信示意圖思考與練習9-18255A的A口、B口、C口有哪幾種工作方式,其特點是什么?C口有哪些使用特點?9-48255A的3個端口在使用上有什么不同?9-7串行通信的特點是什么?9-8什么是串行通信的全雙工和半雙工?9-9什么是波特率?發(fā)送時鐘和接收時鐘與波特率有什么關系?9-10簡述8251A的內部結構及工作過程。9-11對8251A進行初始化編程時應按什么順序向它的控制口寫入控制字?微機原理及應用第10章模/數和數/模轉換通道

了解微機系統(tǒng)的A/D和D/A通道

掌握DAC0832接口芯片的使用方法

掌握ADC0809接口芯片的使用方法學習目標:10.1微機系統(tǒng)的A/D和D/A通道10.1.1模擬量輸入通道組成10.1.2模擬量輸出通道組成10.1.1模擬量輸入通道組成

典型的模擬量輸入通道由以下幾部分組成。1.傳感器能把生產過程的非電物理量轉換成電量(電流、電壓)的器件稱為傳感器。例如,熱電偶能把溫度這個物理量轉換成幾毫伏或幾十毫伏的電信號,因此可作為溫度傳感器。有些傳感器不是直接輸出電量,而是把電阻值或電容值或電感值的變化作為輸出值,反映相應物理量的變化。例如,熱電阻利用的是某些導線或半導體的電阻率隨溫度的變化而變化的特性(熱電阻效應);其他的溫度傳感器還有熱敏電阻傳感器和半導體集成溫度傳感器。熱敏電阻傳感器是利用半導體材料作為感溫元件的測溫元件,它具有負溫度系數(即溫度升高電阻值下降)。半導體集成溫度傳感器是利用硅半導體的溫度敏感特性而組成的測量元件。傳感器的類型有溫度傳感器、壓力傳感器、流量傳感器和液力傳感器。10.1.1模擬量輸入通道組成

2.信號處理環(huán)節(jié)信號處理環(huán)節(jié)的作用是將傳感器輸出的信號放大或處理成為與A/D轉換器所要求的輸入相適應的電壓水平。信號處理環(huán)節(jié)的另一作用是利用低通濾波濾去干擾信號。這主要用在傳感器處于惡劣的環(huán)境中,其輸出有疊加的干擾信號時。常用的濾波電路有RC低通濾波電路和有源濾波電路。3.多路轉換開關多路轉換開關,又稱多路轉換器。在實際數據處理系統(tǒng)或實際控制系統(tǒng)中,被測量或被控制的量往往可能是幾路或幾十路。對這些回路的參量進行采樣和A/D轉換時,為了共用A/D轉換器,以便節(jié)省硬件,可利用多路開關開路(MUX)、輪流切換各被測量與A/D轉換的通路來達到分時轉換的目的,如圖10-1所示。4.采樣保持器在A/D采樣期間,保持輸入信號不變的電路稱為采樣保持電路。由于輸入的模擬信號是連續(xù)變化的,而A/D轉換器完成一次轉換是需要時間的,這段時間稱為轉換時間。不同類型的A/D轉換芯片,其轉換時間不同,對變化較快的模擬輸入信號如不采取措施將會引起轉換誤差。對于同頻率的信號如果A/D轉換的時間過長,對采樣頻率模擬信號轉換精度的影響就越大。為了保持轉換精度,可采用采樣保持器,使在A/D轉換期間保持采樣信號的大小不變。

5.A/D轉換器這是模擬量輸入通道的核心環(huán)節(jié)。其作用是將模擬輸入量轉換成數字量,以便由計算機讀取進行分析處理。10.1.2

模擬量輸出通道組成

典型的模擬量輸出通道由以下幾部分組成。1.D/A轉換器這是模擬量輸出通道的核心器件,其作用是把計算機輸出的數字量轉換成模擬量。2.鎖存器由于D/A轉換需要一定的轉換時間,在轉換期間,輸入待轉換的數字量應該保持不變,而計算機輸出的數據在數據總線上穩(wěn)定的時間很短,因此在計算機與D/A轉換器間必須用鎖存器來保持數字量的穩(wěn)定,若D/A轉換芯片上已帶有鎖存器,則不必再額外增加鎖存器。3.放大驅動電路為了能驅動執(zhí)行部件,可以采用功率放大器作為模擬量輸出的驅動電路。10.2D/A轉換及其接口返回10.2.1D/A轉換的主要性能參數10.2.2D/A轉換器的輸入/輸出特性10.2.3D/A轉換器的工作原理10.2.4D/A轉換芯片10.2.1

D/A轉換的主要性能參數

1.分辨率分辨率是指D/A轉換器對微小輸入量變化敏感程度的描述,通常用數字量的位數來表示,如8位、10位等。對于一個分辨率為n位的轉換器能夠分辨滿刻度的2-n輸入信號。例如,一個8位的D/A轉換器,若轉換后的電壓滿量程是5V,而對于10位的D/A轉換器,輸出滿量程也是5V,則它分辨率的最小電壓為5V/210=4.9mV。2.轉換時間轉換時間是指數字量輸入到D/A轉換完成,輸出達到最終值并穩(wěn)定下來為止所需的時間。電流型D/A轉換器的轉換較快,一般在幾微秒到幾百微秒之間。電壓型D/A轉換器的速度較慢,這取決于運算放大器的響應時間。3.精度精度是指D/A轉換器實際輸出電壓與理論值之間的誤差。4.線性度線性度是指當數字量變化時,D/A轉換器的輸出量按比例關系變化的程度。理想的D/A轉換器是線性的,但實際上有誤差模擬量輸出偏離理想輸出的最大值稱為線性誤差。10.2.2

D/A轉換器的輸入/輸出特性

表示一個D/A轉換器輸入/輸出特性的幾方面因素如下。1.輸入緩沖能力D/A轉換器是否帶有三態(tài)輸入緩沖器來保存輸入數字量這對轉換器與微機的接口設計是很重要的。這是因為計算機輸出的數據在數據總線上穩(wěn)定的時間很短,故需設計一個三態(tài)輸入緩沖器來保持輸入數字量,進而起到使數字信號能正確轉化為模擬信號的作用。2.輸入數據的寬度D/A轉換器通常有8位、10位、12位、14位、16位之分,當D/A轉換器的位數高于微機系統(tǒng)總線寬度時,需要兩次分別輸入數字量。3.電流輸出型還是電壓輸出型對于電流輸出型,在幾毫安到幾十毫安之間,對于電壓輸出型,其電壓一般在5~10V之間。4.輸入碼制輸入碼制即表示D/A轉換器能接收哪些碼制的數字量輸入。有的D/A轉換器能夠接收二進制或BCD碼,對于雙極性輸出的D/A轉換器能接收補碼和偏移二進制碼。10.2.3

D/A轉換器的工作原理

圖10-2給出了D/A轉換器的基本結構框圖,一個D/A轉換器通常包含四個部分:電阻解碼網絡、權位開關、相加器和參考電源,D/A轉換的實質就是將每一位數據代碼按其“權”的數值變換成相應的模擬量,然后將代表各位的模擬量相加,即可獲得與數字量相對應的模擬量。圖10-2D/A轉換器的基本結構以下介紹幾種D/A轉換器的基本結構。10.2.3

D/A轉換器的工作原理

1.權電阻網絡D/A轉換器權電阻網絡D/A轉換電路如圖10-3所示,電路由權電阻網絡、數據位切換開關、反饋電阻和運算放大器組成,由于運算放大器的虛短作用,權電阻網絡的負載電阻可視作零(虛地)。當數據位ai=1時,相應開關si接電源,否則接地。10.2.3

D/A轉換器的工作原理

2.R-2RT型電阻網絡D/A轉換器圖10-4所示是一種實用且工作原理簡明的T型電阻網絡D/A轉換電路。在該電路中,仍依靠運算放大器的虛短特性使R-2RT型電阻網絡的輸出以短路方式工作。由圖10-4可知,不論各開關處于何種狀態(tài),Sn~S1的各點電位均可認為0(虛地或實地)。10.2.3

D/A轉換器的工作原理

3.2nR電阻分壓式D/A轉換器當用均等的2n個電阻串聯成一串對VR進行分壓時就可得到2n個分層的電壓。如果再用n-2n個譯碼器控制2n個開關去選通這些分壓器的分壓端點,就可實現n位的D/A轉換,圖9-10給出了實現這種轉換的一種電路結構(3位轉換)。10.2.3

D/A轉換器的工作原理

4.集成化D/A轉換器集成化D/A轉換器按其制作工藝劃分目前有高速雙極型和CMOS型兩類。電阻網絡有采用離子注入或擴散電阻條的,但高精度的D/A轉換網絡多采用薄膜電阻。高速雙極型D/A轉換器目前大多采用不飽和晶體管電流模擬開關,其建立時間(穩(wěn)定時間)可縮短到數十至數百納秒。CMOS型D/A轉換器中采用CMOS模擬開關及驅動電路,雖然這種電路有制造容易、造價低的優(yōu)點,但轉換速度目前尚不如雙極型的高。除了上面介紹的幾類D/A轉換器結構之外,還有F/V(頻率/電壓)等類型的轉換器結構。10.2.4

D/A轉換芯片

1.DAC0832的內部結構DAC0832是采用先進的CMOS工藝制成的雙列直插式8位D/A轉換器,它的輸出形式為電流型。該芯片主要由三部分組成,其中有兩個為數據寄存器,另外一個為D/A轉換器。(1)輸入寄存器。8位輸入寄存器的DI0~DI7輸入端可直接與CPU的數據線相連接,工作狀態(tài)受控于。(2)DAC寄存器。8位,受控于,它可以使D/A轉換芯片工作于雙緩沖工作方式下。這樣可以在D/A轉換的同時送下一個數據,以便提高轉換速度。(3)D/A轉換器。實現數/模轉換,其轉換結果以一組差動IOUT1和IOUT2輸出。10.2.4

D/A轉換芯片2.DAC0832的外部引腳

3.DAC0832的工作方式根據對DAC0832的輸入鎖存器和DAC寄存器的不同控制方法,DAC0832有如下3種工作方式:(1)雙緩沖方式。此方式適用于多個模擬量輸出通道同時進行D/A轉換。(2)單緩沖方式。此方式適用于只有一路模擬量輸出或幾路模擬量非同步輸出的情形。(3)直通方式。10.2.4

D/A轉換芯片4.DAC0832的應用【例10.1】某8086系統(tǒng)中有一個由DAC0832構成的雙極性電壓輸出的8位D/A轉換電路,如圖10-6所示,設0832的地址為5AH,基準電壓VREF=+1V。系統(tǒng)中定時器8253與中斷控制器8259配合每100中斷一次,試編寫中斷服務子程序使其輸出三角波,并畫出輸出波形圖。DATASEGMENT ;數據段COUNTDB0FLAGDB0DATAENDSCODESEGMENT ;代碼段

…… ;主程序略INTSERVEPROCFAR ;中斷服務程序PUSHAXMOVAL,COUNTOUT5AH,AL ;由數據端口輸出數據CMPFLAG,0JNZDECREASE ;FLAG!=0,轉減1處理INCCOUNT ;加1CMPCOUNT,255JNZNEXT ;不等于255則轉移NEXT:MOVFLAG,1 ;置減1標志JMPNEXTDECREASE:DECCOUNT ;FLAG!=0,減1JNZNEXT ;COUNT不等于0則轉移MOVFLAG,0 ;COUNT等于0則置加1標志NEXT:MOVAL,20HOUT20H,AL ;設8259端口地址為20H和21HPOPAXIRETINTSERVEENDPCODEENDS10.3A/D轉換及其接口返回10.3.1A/D轉換的基本概念10.3.2A/D轉換器的工作原理10.3.3典型A/D轉換器介紹10.3.1

A/D轉換的基本概念1.從物理信號到電信號的轉換對于外界連續(xù)變化的物理量必須先將其轉換成電模擬量,這種轉換是靠傳感器來完成的。傳感器一般是指能夠進行非電量和電量之間轉換的敏感元件,由于物理量的多樣性使得傳感器的種類繁多,如溫度傳感器、壓力傳感器、光電傳感器和氣敏傳感器等。2.采樣、量化與編碼要將電模擬量轉換成數字量一般要經過采樣、量化和編碼三個過程。(1)采樣。被轉換的模擬信號在時間上是連續(xù)的,它有無限多個瞬時值,而模/數轉換過程總是需要時間的,不可能把每一個瞬時值都一一轉換為數字量,因此必須在連續(xù)變化的模擬量上按一定的規(guī)律(周期性地)取出其中某一些瞬時值(樣點)來代表這個連續(xù)的模擬量,這個過程就是采樣(Sample)。10.3.1

A/D轉換的基本概念(2)量化。所謂量化,就是以一定的量化單位,把采樣值取整,或者說是把采樣值取整為量化單位的整數倍。量化單位是輸入信號的最大范圍除以數字量的最大范圍,量化過程有舍入問題就必然會出現舍入誤差,這個誤差稱為量化誤差。(3)編碼。量化得到的數值通常用二進制數表示,對有正、負極性(雙極性)的模擬量一般采用偏移碼來表示,數據的最高位為符號位,數值為正時符號位為1,反之為0。例如,8位的二進制偏移碼10000000代表數值0,00000000代表負電壓滿量程,11111111代表正電壓滿量程。10.3.1

A/D轉換的基本概念3.A/D轉換器的性能參數和術語(1)量化誤差。A/D轉換器將連續(xù)的模擬量轉換為離散的數字量,對一定范圍內連續(xù)變化的模擬量只能量化為同一個數字量。量化誤差是在A/D轉換中由于整量化所產生的固有誤差。對于舍入(四舍五入)量化法,量化誤差在1/2LSB之間。它是量化器所固有的,是不可克服的。(2)分辨率。分辨率表示A/D轉換器對輸入信號的分辨能力。通常用輸出二進制數的位數表示。n位輸出的A/D轉化器能區(qū)分個不同等級的輸入模擬電壓,能區(qū)分的輸入電壓的最小值為滿量程輸入電壓的。當滿量程輸入電壓一定時,輸出的位數越多,分辨率越高。例如,某A/D轉換器的分辨率為8位,滿量程輸入電壓Vfs=5V,則能區(qū)分的輸入電壓最小值是5/(2^8),即0.01953V。10.3.1

A/D轉換的基本概念(3)轉換誤差。轉換誤差說明A/D轉換器實際輸出數字量與理論上的輸出數字量之間的差值,通常以整個輸入范圍內的最大輸出誤差表示。一般用最低有效位的倍數來表示轉換誤差,例如,轉換誤差≤LSB就說明在整個輸入范圍內,輸出數字量與理論上的輸出數字量之間的誤差小于最低位的一個數字。(4)轉換時間。轉換時間是指A/D轉換器開始一次轉換到完成轉換得到相應的數字量輸出所需的時間。(5)量程。量程是指A/D轉換器能夠實現轉換的輸入電壓范圍。10.3.1

A/D轉換的基本概念4.A/D轉換器的類型A/D轉換器的類型較多,主要的有并行比較型、逐次比較型、雙積分型等。并行比較型的轉換速度最高,但分辨率一般在8位以內。因為n位并行比較型A/D中需要個電壓比較器,當n>8以后,需要的電壓比較器太多使得芯片的面積大,成本高。雙積分型的分辨率高,抗干擾能力強,但轉換速度低,一般為1~1000ms,通常用在對速度要求不高但需要很高精度的場合。逐次比較型的分辨率高,轉換時間在0.1~100之間。轉換速度比并行比較型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論