常見外設接口及應用3_第1頁
常見外設接口及應用3_第2頁
常見外設接口及應用3_第3頁
常見外設接口及應用3_第4頁
常見外設接口及應用3_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

常見外設接口及應用3第1頁/共93頁1、串行通信方式

串行通信:在同一條通信線上的數(shù)據(jù)按一位接一位的順序進行傳輸。半雙工:在只有一條通信線的雙機(如A、B兩機)通信系統(tǒng)中,對任何一方而言,發(fā)送信息和接收信息不能同時進行,而只能采用分時占用通路的辦法。

全雙工:在有兩條通信線的雙機(如A、B兩機)通信系統(tǒng)中,當A機向B機發(fā)送信息,而B機接收信息時,B機也可以同時向A機發(fā)送信息,而A機接收信息。第2頁/共93頁1、串行通信方式第3頁/共93頁1、串行通信方式

調(diào)制解調(diào)器(Modem):是一個由音頻載波信號到數(shù)字信號的解碼和編碼的調(diào)制設備。主要應用于通過電話線實現(xiàn)通信。第4頁/共93頁1、串行通信方式第5頁/共93頁1、串行通信方式第6頁/共93頁1、串行通信方式第7頁/共93頁1、串行通信方式

DTE(DataTerminalEquipment):

數(shù)據(jù)終端設備。典型的DTE設備有:電腦、打印機、終端等。

DCE(DataCommunicationEquipment)

數(shù)據(jù)通訊設備。典型的DCE設備有:調(diào)制解調(diào)器。第8頁/共93頁1、串行通信方式

串行通信有兩類:同步通信、異步通信。

PC系統(tǒng)中的串行通信采用異步通信。

異步通信:一幀(即一個數(shù)據(jù)傳送單元--字符)信息以起始位和停止位來完成收發(fā)同步。也就是說,通信中兩個字符之間的時間間隔是不固定的,而在一個字符內(nèi)各位的時間間隔則是固定的。

異步通信協(xié)議(或規(guī)程):一個字符由起始位、字符編碼、奇偶校驗位和停止位幾部分組成。第9頁/共93頁1、串行通信方式同步字符字符1字符2……字符n校驗字符數(shù)據(jù)塊第10頁/共93頁1、串行通信方式第11頁/共93頁1、串行通信方式

當異步傳輸開始時,接收設備會不斷檢測傳輸線,當檢測到由1變?yōu)?的負跳變時,便啟動內(nèi)部計數(shù)器開始計數(shù)。當計數(shù)到一個數(shù)據(jù)位寬度的一半時,又一次采樣傳輸線,若其仍為低電平,則確認為一個起始位。然后,以位時間(1/波特率)為間隔,移位接收所規(guī)定的數(shù)據(jù)位和奇偶校驗位,組裝成一個字節(jié)信息。第12頁/共93頁1、串行通信方式

若未接收到規(guī)定位長的停止位“1”,則設置“幀錯誤”標志。若校驗有錯,則設置“校驗錯”標志。第13頁/共93頁1、串行通信方式

字符和字符之間是異步的:在異步通信的數(shù)據(jù)流中,每個字符出現(xiàn)在數(shù)據(jù)流中的時間是不確定的。字符內(nèi)部的各位數(shù)據(jù)位基本是同步傳送的:接受到字符的起始位后,該字符的各位數(shù)據(jù)位的時間是確定的。異步通信一幀信息只傳送5~8個數(shù)據(jù)位,接收設備在收到起始位信號之后,只要在5~8個數(shù)據(jù)位的傳輸時間內(nèi)能和發(fā)送設備保持同步就能正確接收。第14頁/共93頁1、串行通信方式

不會因累積效應而導致傳輸錯位:在異步通信中,發(fā)送方和接收方的時鐘信號可能會出現(xiàn)一些偏差(即漂移),但由于接收端對異步通信每一幀信息的起始位都會重新校準時鐘,所以不會因累積效應而導致傳輸錯位。由于異步通信對時鐘信號漂移的要求較低,硬件成本也相應降低,且通信方式簡單可靠,容易實現(xiàn),所以,它在微機系統(tǒng)中有著廣泛的應用。第15頁/共93頁1、串行通信方式1、串行通信方式結束第16頁/共93頁2、串行通信速率

波特率:二進制數(shù)據(jù)序列串行傳送的速率,單位是波特。

1波特=1位/秒(bit/s)

位時間:波特率的倒數(shù),即傳送一位數(shù)據(jù)所需的時間。單位是“s/bit”。第17頁/共93頁2、串行通信速率2、串行通信速率結束第18頁/共93頁3、串行通信的數(shù)據(jù)校驗

常用的校驗方法:奇偶校驗、循環(huán)冗余碼校驗等。在異步通信中,通常采用奇偶校驗法。幾乎所有的UART(通用異步接收器/發(fā)送器)電路中都集成有奇偶校驗電路,可通過編程來選擇奇校驗或偶校驗,然后由部件內(nèi)部的硬件自動完成奇偶校驗位的產(chǎn)生和校驗。3、串行通信的數(shù)據(jù)校驗結束第19頁/共93頁4、串行通信接口標準RS-232C標準:串行通信中,DTE和DCE之間的接口標準。

PC機上的COM1、COM2接口,就是RS-232C接口,使用9針和25針連接器。

其它標準:RS-423、RS-422A、RS-485等。它們都是在RS-232C基礎上經(jīng)過改進而形成的。第20頁/共93頁4、串行通信接口標準第21頁/共93頁4、串行通信接口標準RS-232C規(guī)標準接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時線、7條備用和未定義線。

常用的只有9根:

(1)聯(lián)絡控制信號線:

數(shù)據(jù)裝置準備好DSR#(Datasetready):有效時表明MODEM處于可以使用的狀態(tài)。

數(shù)據(jù)終端準備好DTR#(DataTerminalReady):有效時表明數(shù)據(jù)終端可以使用。這兩個信號有時連到電源上,一上電就立即有效。這兩個設備狀態(tài)信號有效,只表示設備本身可用,并不說明通信鏈路可以開始進行通信了。第22頁/共93頁4、串行通信接口標準

請求發(fā)送RTS#(Requesttosend):用來表示DTE請求DCE發(fā)送數(shù)據(jù),即當終端要發(fā)送數(shù)據(jù)時,使該信號有效向MODEM請求發(fā)送。它用來控制MODEM是否要進入發(fā)送狀態(tài)。

允許發(fā)送CTS#(Cleartosend):用來表示DCE準備好接收DTE發(fā)來的數(shù)據(jù),是對請求發(fā)送信號RTS#的響應信號。當MODEM已準備好接收終端傳來的數(shù)據(jù),并向外發(fā)送時,使該信號有效,通知終端開始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。第23頁/共93頁4、串行通信接口標準

接收線信號檢出RLSD#/數(shù)據(jù)載波檢出DCD#:

(ReceivedLinedetection/ReceiveLineSingalDetect

(DataCarrierdectection)用來表示DCE已接通通信鏈路,告知DTE準備接收數(shù)據(jù)。

振鈴指示RI#(Ringing):當MODEM收到交換臺送來的振鈴呼叫信號時,使該信號有效,通知終端已被呼叫。第24頁/共93頁4、串行通信接口標準

(2)數(shù)據(jù)發(fā)送與接收線:

發(fā)送數(shù)據(jù)TxD(Transmitteddata):通過TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。

接收數(shù)據(jù)RxD(Receiveddata):通過RxD線終端接收從MODEM發(fā)來的串行數(shù)據(jù),(DCE→DTE)。

(3)地線:

信號地SG。第25頁/共93頁4、串行通信接口標準

RS-232-C采用負邏輯,且信號電平與TTL不兼容。

在數(shù)據(jù)線TXD和RXD上:

邏輯1=-3V~-15V

邏輯0=+3V~+15V

在控制線和狀態(tài)線RTS#、CTS#、DSR#、DTR#和DCD#上:

信號有效=+3V~+15V

信號無效=-3V~-15V

串行接口芯片8250、8251均使用TTL電平,應使用電平轉換電路與RS-232C連接器連接。

MC1488:TTL電平→RS232電平(用于發(fā)送方)

MC1489:TTL電平←RS232電平(用于接收方)第26頁/共93頁4、串行通信接口標準第27頁/共93頁4、串行通信接口標準采用Modem(DCE)和電話網(wǎng)通信時的信號連接第28頁/共93頁4、串行通信接口標準無Modem的標準連接第29頁/共93頁4、串行通信接口標準無Modem的最簡連接第30頁/共93頁4、串行通信接口標準

無Modem時,最大通訊距離的計算:

RS-232C標準規(guī)定:當誤碼率小于4%時,要求導線的電容值應小于2500PF。普通導線的電容值約為170PF/M。則允許距離L=2500PF/(170PF/M)=15M8.3.1串行通信基礎

4、串行通信接口標準結束第31頁/共93頁8.3.2可編程串行異步通信接口82508250是一種可編程串行異步通信接口芯片。

1、8250芯片引腳定義與功能

2、8250芯片的內(nèi)部結構和尋址方式

3、8250內(nèi)部控制狀態(tài)寄存器的功能

4、8250通信編程

5、8250應用舉例第32頁/共93頁1、8250芯片引腳定義與功能8250是一個40腳封裝的雙列直插式芯片。

其引腳可分為兩類:與CPU系統(tǒng)總線相連的信號線;與通信設備相連的信號線。第33頁/共93頁1、8250芯片引腳定義與功能與CPU系統(tǒng)總線相連的信號線

1)雙向數(shù)據(jù)線:

D7~D0:8位數(shù)據(jù)線。第34頁/共93頁1、8250芯片引腳定義與功能與CPU系統(tǒng)總線相連的信號線

2)地址控制信號:

CS0、CS1、CS2#:片選信號、輸入。必須同時有效。

A2、A1、A0:地址信號、輸入。選擇內(nèi)部寄存器。

ADS#:地址選通信號、輸入。

ADS#=0時鎖存片選信號和地址信號。如果不鎖存,可將ADS#直接接地。

CSOUT:片選輸出,高電平有效。8250芯片被選中時,輸出高電平。此信號通常不用而懸空。第35頁/共93頁1、8250芯片引腳定義與功能與CPU系統(tǒng)總線相連的信號線

3)讀/寫控制信號

DISTR與DISTR#:數(shù)據(jù)輸入選通信號、輸入。若DISTR=1或DISTR#=0,CPU就會從被選擇的內(nèi)部寄存器中讀出數(shù)據(jù);若選擇DISTR#接CPU的IORC#,則應將DISTR接地使其變?yōu)闊o效。

DOSTR與DOSTR#:數(shù)據(jù)輸出選通信號、輸入。若DOSTR=1或DOSTR#=0,CPU就會將數(shù)據(jù)寫入從被選擇的內(nèi)部寄存器中。若選擇DOSTR#接CPU的IOWC#,則應將DOSTR接地使其變?yōu)闊o效。

DDIS:驅(qū)動器禁止、輸出。該輸出信號在CPU讀8250時為低電平,非讀時為高電平,可用此信號來控制8250與系統(tǒng)總線間的數(shù)據(jù)總線驅(qū)動器。第36頁/共93頁1、8250芯片引腳定義與功能與CPU系統(tǒng)總線相連的信號線

4)中斷控制和復位控制信號:

INTRPT:中斷請求、輸出。高電平申請中斷。

MR:復位信號、輸入。高電平有效。一般接系統(tǒng)復位線RESET。第37頁/共93頁1、8250芯片引腳定義與功能與CPU系統(tǒng)總線相連的信號線5)時鐘與傳輸速率控制信號:

XTAL1與XTAL2:時鐘信號輸入和輸出引腳。外接晶振或時鐘信號。時鐘頻率為1.8432MHz。

BAUDOUT#:波特率輸出引腳。頻率為發(fā)送數(shù)據(jù)波特率的16倍。

RCLK:接收時鐘輸入引腳。

接收外部提供的16倍波特率的時鐘信號。由于通常采用8250內(nèi)部的發(fā)送時鐘作為接收時鐘,故可直接連到BAUDOUT#引腳,以保證接收與發(fā)送的波特率相同。第38頁/共93頁1、8250芯片引腳定義與功能與外部通信設備相連的信號線

RTS#:請求發(fā)送輸出引腳。當RTS#為低電平時,表示8250(DTE)通知數(shù)據(jù)通信裝置(DCE),準備發(fā)送數(shù)據(jù)。

CTS#:允許發(fā)送輸入引腳。當CTS#為低電平時,表示數(shù)據(jù)通信裝置(DCE)通知8250(DTE),已做好接收數(shù)據(jù)的準備。

DTR#:數(shù)據(jù)終端就緒輸出引腳。當DTR#為低電平時,表示8250(DTE)通知數(shù)據(jù)通信裝置(DCE),已經(jīng)做好通信準備。DSR#:數(shù)據(jù)通信裝置就緒輸出引腳。當DSR#為低電平時,表示數(shù)據(jù)通信裝置(DCE)通知8250(DTE),已做好建立通信鏈路的準備。第39頁/共93頁1、8250芯片引腳定義與功能與外部通信設備相連的信號線

RLSD#:載波檢測輸入引腳。當RLSD#為低電平時,表示數(shù)據(jù)通信裝置(DCE)通知8250(DTE),已檢測到通信線路上的載波信號,開始接收數(shù)據(jù)。

RI#:振鈴指示輸入引腳。當RI#為低電平時,表示表示數(shù)據(jù)通信裝置(DCE)通知8250(DTE),已接收到振鈴信號。

OUT1#:用戶指定的輸出引腳??梢酝ㄟ^對8250的編程使OUT1為低電平或高電平。

OUT2#:用戶指定的另一輸出引腳。也可以通過對8250的編程使OUT2為低電平或高電平。1、8250芯片引腳定義與功能結束第40頁/共93頁2、8250芯片的內(nèi)部結構和尋址方式8250芯片的內(nèi)部結構:

10個內(nèi)部寄存器、數(shù)據(jù)緩沖器、寄存器選擇與I/O控制邏輯。通過微處理器的輸入/輸出指令可以對10個內(nèi)部寄存器進行操作,以實現(xiàn)各種異步通信的要求。第41頁/共93頁2、8250芯片的內(nèi)部結構和尋址方式第42頁/共93頁2、8250芯片的內(nèi)部結構和尋址方式第43頁/共93頁2、8250芯片的內(nèi)部結構和尋址方式線路控制寄存器3FF未用2、8250芯片的內(nèi)部結構和尋址方式結束第44頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能(1)發(fā)送保持寄存器THR(3F8H)(2)接收數(shù)據(jù)緩沖寄存器RBR(3F8H)(3)線路控制寄存器LCR(3FBH)(4)波特率因子寄存器或除數(shù)寄存器DLR(3F8H,3F9H)(5)中斷允許寄存器IER(3F9H)(6)中斷標識寄存器IIR(3FAH)(7)線路狀態(tài)寄存器LSR(3FDH)(8)Modem控制寄存器MCR(3FCH)(9)Modem狀態(tài)寄存器MSR(3FEH)第45頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(1)發(fā)送保持寄存器THR(3F8H)當發(fā)送數(shù)據(jù)時,CPU先將待發(fā)送的字符寫入已空的THR中,其中第0位是串行發(fā)送的第1位數(shù)據(jù)。只要發(fā)送移位寄存器TSR為空,則THR中的數(shù)據(jù)會由8250的硬件自動送入TSR,并在發(fā)送時鐘的作用下轉換成串行信號,且按照預置的幀格式添加起始位、校驗位和停止位,從SOUT引腳輸出。第46頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(2)接收數(shù)據(jù)緩沖寄存器RBR(3F8H)當外來的串行數(shù)據(jù)(一個完整的字符)在接收時鐘作用下,由SIN引腳輸入到接收移位寄存器時,會自動去掉起始位、校驗位和停止位,并轉換成并行數(shù)據(jù),輸入到RBR中,等待CPU讀取該字符。第47頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(3)線路控制寄存器LCR(3FBH)規(guī)定了異步串行通信的數(shù)據(jù)格式,包括數(shù)據(jù)位數(shù)(字長)、停止位的位數(shù)與奇偶校驗位的設置等。由于8250僅用了3根地址線來尋址內(nèi)部的8個寄存器,故不得不使波特率因子寄存器或除數(shù)寄存器DLR和其他寄存器公用地址,由D7位來加以區(qū)分。第48頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能D5D4D3為101時:在奇偶校驗位和停止位之間插入一個奇偶標志位1。D5D4D3為111時:在奇偶校驗位和停止位之間插入一個奇偶標志位0。強迫8250連續(xù)輸出低電平。第49頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能D5D4D3為101時:在奇偶校驗位和停止位之間插入一個奇偶標志位1。D5D4D3為111時:在奇偶校驗位和停止位之間插入一個奇偶標志位0。強迫8250連續(xù)輸出低電平。第50頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(4)波特率因子寄存器或除數(shù)寄存器DLR(3F8H,3F9H)

8250芯片規(guī)定當LCR的位D7寫入1時,接著可對口地址3F8H、3F9H分別寫入波特率因子的低字節(jié)和高字節(jié),即將16位除數(shù)寫入DLR(L)和DLR(H)中。

波特率=1.8432MHz/(波特率因子×16)。波特率因子=1.8432MHz/(波特率×16)第51頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

例如,要求發(fā)送波特率為1200波特,則波特率因子為:波特率因子=1.8432MHz/(1200×16)=96

因此,3F8H口地址應寫入96(60H),3F9H口地址應寫入0。第52頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能第53頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能(5)中斷允許寄存器IER(3F9H)

IER用來設置允許或禁止8250的4個中斷源發(fā)出中斷請求(將相應位置1或0即可)。

D7~D4位:恒為0。

D3~D0位:表示是否允許4類中斷。當允許中斷時,則通過IR4向8086/8088CPU發(fā)中斷請求。第54頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能第55頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(6)中斷標識寄存器IIR(3FAH)

IIR可以用來判斷有無中斷產(chǎn)生以及產(chǎn)生了哪一類中斷請求。

D7~D3位:恒為0。

D0位:表示有無中斷待處理,若D0=1,表示無中斷待處理;若D0=0,表示有待處理的中斷。

D2~D1:位用于標識4類中斷,其中,D2D1=11的線路出錯中斷的優(yōu)先級最高,而D2D1=00的Modem中斷的優(yōu)先級最低。第56頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能第57頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(7)線路狀態(tài)寄存器LSR(3FDH)

LSR是一個8位寄存器,它向CPU提供有關發(fā)送與接收數(shù)據(jù)的狀態(tài)信息。第58頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能第59頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

D0:接收數(shù)據(jù)就緒位。當D0=1時,表示8250的接收器已接收到一幀完整的字符。

D1:數(shù)據(jù)重疊錯(又稱為越限狀態(tài)錯或溢出錯)標志。當D1=1時,表示接收器的輸入字符尚未讀走,而新的字符已經(jīng)到來并將前一幀數(shù)據(jù)覆蓋。

D2:數(shù)據(jù)奇偶錯標志位。當D2=1時,表示接收的數(shù)據(jù)經(jīng)校驗出現(xiàn)奇偶性錯誤。

D3:幀錯(即接收數(shù)據(jù)格式錯)標志。當接收數(shù)據(jù)的停止位個數(shù)不正確時,則D3=1。第60頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

D4:接收空缺位。若在一個完整的字符編碼的時間間隔中收到的均為空閑狀態(tài),則D4=1,表示線路信號間斷。

注意:D1~D4均為出錯標志,只要其中有一位置1,在中斷允許的情況下,8250內(nèi)部就會產(chǎn)生“接收字符錯誤”中斷,一旦CPU讀取這些狀態(tài)后,即自動復0。

D5:數(shù)據(jù)發(fā)送保持器空標志。當D5為1時,表示THR空。一旦CPU將數(shù)據(jù)寫入THR,則此位復0。

D6:數(shù)據(jù)發(fā)送移位寄存器空標志。當D6為1時,表示TSR空。一旦THR將數(shù)據(jù)寫入TSR,則此位復0。

D7:恒為0。

第61頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(8)Modem控制寄存器MCR(3FCH)

MCR用于控制調(diào)制解調(diào)器或數(shù)傳機,可直接控制RS-232C接口的引腳信號。第62頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(8)Modem控制寄存器MCR(3FCH)

MCR用于控制調(diào)制解調(diào)器或數(shù)傳機,可直接控制RS-232C接口的引腳信號。第63頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(9)Modem狀態(tài)寄存器MSR(3FEH)

MSR反映了調(diào)制解調(diào)器控制線的當前狀態(tài)及其變化信息。各數(shù)據(jù)等于1為有效。

MSR低4位中任一位置1,均將產(chǎn)生調(diào)制解調(diào)器狀態(tài)中斷,當CPU讀取該寄存器或復位后,低4位被清零。第64頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能dCTSdRSLDCTSDSRRIdDSRdRIRLSDD0D1D2D3D4D5D6D7高4位中某位為1,說明相應輸入信號當前為低電平,有效。低4位中某位為1,則說明從上次CPU讀取該狀態(tài)字后,相應輸入信號已發(fā)生改變,從高變低或反之。3、8250內(nèi)部控制狀態(tài)寄存器的功能結束第65頁/共93頁4、8250通信編程1)、8250初始化(1)設置波特率(2)設置串行通信數(shù)據(jù)格式(3)設置工作方式2)、程序查詢方式通信編程3)、用中斷方式編程(1)初始化8259A中斷控制器(2)設置中斷向量IR4

(3)設置允許/屏蔽位(4)8250重新響應中斷請求第66頁/共93頁4、8250通信編程1)、8250初始化

(1)設置波特率例如,設波特率為9600,則波特率因子N=12 MOVDX,3FBH MOVAL,80H ;設置波特率

OUTDX,AL MOVDX,3F8H MOVAL,12 OUTDX,AL INCDX MOVAL,0 OUTDX,AL ;3F9H送0第67頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能D5D4D3為101時:在奇偶校驗位和停止位之間插入一個奇偶標志位1。D5D4D3為111時:在奇偶校驗位和停止位之間插入一個奇偶標志位0。強迫8250連續(xù)輸出低電平。第68頁/共93頁4、8250通信編程1)、8250初始化

(2)設置串行通信數(shù)據(jù)格式例如,數(shù)據(jù)格式為8位,1位停止位,奇校驗。

MOVAL,0BH MOVDX,3FBH OUTDX,AL第69頁/共93頁4、8250通信編程1)、8250初始化

(3)設置工作方式 無中斷:

MOVAL,3 ;OUT1#、OUT2#均為高電平

MOVDX,3FCH OUTDX,AL

有中斷:

MOVAL,0BH;OUT2#為低電平,允許INTRT去申請中斷

MOVDX,3FCH OUTDX,AL

循環(huán)測試:

MOVAL,13H MOVDX,3FCH OUTDX,AL第70頁/共93頁3、8250內(nèi)部控制狀態(tài)寄存器的功能

(8)Modem控制寄存器MCR(3FCH)

MCR用于控制調(diào)制解調(diào)器或數(shù)傳機,可直接控制RS-232C接口的引腳信號。第71頁/共93頁2、8250芯片的內(nèi)部結構和尋址方式第72頁/共93頁4、8250通信編程2)、程序查詢方式通信編程

采用程序查詢方式工作時,CPU可以通過讀線路狀態(tài)寄存器(3FDH)查相應狀態(tài)位(D0與D5位),來檢查接收數(shù)據(jù)寄存器是否就緒(D0=1)與發(fā)送保持器是否空(D5=1)。第73頁/共93頁4、8250通信編程2)、程序查詢方式通信編程

發(fā)送程序:TR: MOVDX,3FDH INAL,DX TESTAL,20H JZTR MOVAL,[SI] ;從[SI]中取出發(fā)送數(shù)據(jù)

MOVDX,3F8H OUTDX,AL第74頁/共93頁4、8250通信編程2)、程序查詢方式通信編程

接收程序:RE: MOVDX,3FDH INAL,DX TESTAL,1 JZRE MOVDX,3F8H INAL,DX MOV[DI],AL ;讀入數(shù)據(jù)存入[DI]中第75頁/共93頁4、8250通信編程3)、用中斷方式編程(1)初始化8259A中斷控制器

MOVAL,13H ;單片使用,需要ICW4 MOVDX,20H OUTDX,AL ;ICW1 MOVAL,8 ;中斷類型號為08H~0FH INCDX OUTDX,AL ;ICW2 INCAL ;緩沖方式,8088/8086 OUTDX,AL ;ICW4 MOVAL,8CH ;允許0,1,4,5,6級中斷 OUTDX,AL ;送中斷屏蔽字OCW1第76頁/共93頁4、8250通信編程3)、用中斷方式編程(2)設置中斷向量IR4

對IR4,中斷類型號為0CH,0CH×4=30H。因此,應在30H、31H存放IP值,32H、33H存放CS值。設中斷服務程序入口地址為2000H:100H XORAX,AX MOVDS,AX MOVAX,100H MOVWORDPTR[0030H],AX MOVAX,2000H MOVWORDPTR[0032H],AX 第77頁/共93頁4、8250通信編程3)、用中斷方式編程(3)設置允許/屏蔽位對8250送中斷允許寄存器(3F9H)設置允許/屏蔽位。例如,允許發(fā)送與接收中斷請求。

MOVAL,3 MOVDX,3F9H OUTDX,AL第78頁/共93頁4、8250通信編程3)、用中斷方式編程(4)8250重新響應中斷請求在中斷結束返回時,需要對8259A發(fā)EOI命令,保證8259可以重新響應中斷請求。

MOVAL,20H MOVDX,20H OUTDX,AL ;發(fā)EOI命令,OCW2 IRET ;開中斷允許,并從中斷返回8.3PC機的串行接口

8.3.2可編程串行異步通信接口8250

4、8250通信編程結束第79頁/共93頁課堂練習1、利用8250、74LS245、1.8432MHz晶體、門電路、電阻、電容等,畫出基于PC/XT總線的串行接口卡電路原理圖(不考慮電平轉換)。第80頁/共93頁課堂練習2、P2666.73、(選做)程序設計要求:在IBMPC機上用匯編語言按查詢方式編制一個發(fā)送與接收程序,它能把鍵入的每一個ASCII字符發(fā)送出去,并顯示在CRT上,同時能把接收到的每一個字符也以ASCII碼形式顯示在CRT屏幕上

設:數(shù)據(jù)傳送速率為9600波特:通信格式為8位/每字符,1位停止位,奇校驗。第81頁/共93頁課堂練習1

在IBMPC機上用匯編語言按查詢方式編制一個發(fā)送與接收程序,它能把鍵入的每一個ASCII字符發(fā)送出去,并顯示在CRT上,同時能把接收到的每一個字符也以ASCII碼形式顯示在CRT屏幕上

設:數(shù)據(jù)傳送速率為9600波特:通信格式為8位/每字符,1位停止位,奇校驗。第82頁/共93頁課堂練習1

在IBMPC機上用匯編語言按查詢方式編制一個發(fā)送與接收程序,它能把鍵入的每一個ASCII字符發(fā)送出去,并顯示在CRT上,同時能把接收到的每一個字符也以ASCII碼形式顯示在CRT屏幕上

設:數(shù)據(jù)傳送速率為9600波特:通信格式為8位/每字符,1位停止位,奇校驗。第83頁/共93頁課堂練習26.7 MOVAL,80H MOVDX,3FBH OUTDX,AL MOVAL,10H ;波特率7200的除數(shù)值=10H MOVDX,3F8H OUTDX,AL INCDX MOVAL,0 OUTDX,AL MOVAL,00000011B MOVDX,3FBH OUTDX,AL第84頁/共93頁課堂練習2SEND: MOVDI,OFFSETTRANS MOVCX,WORDPTRTLENGTH+4 MOVSI,OFFSETTRANS-2 MOVBYTEPTR[DI-2],55H MOVBYTEPTR[DI-1],0AAH MOVAX,DI ADDAX,WORDPTRTLENGTH MOVDI,AX MOVBYTEPTR[DI+1],0AAH MOVBYTEPTR[DI+

溫馨提示

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

評論

0/150

提交評論