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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

常見外設(shè)接口及應(yīng)用3第1頁(yè)/共93頁(yè)1、串行通信方式

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

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

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

DTE(DataTerminalEquipment):

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

DCE(DataCommunicationEquipment)

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

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

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

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

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

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

若未接收到規(guī)定位長(zhǎng)的停止位“1”,則設(shè)置“幀錯(cuò)誤”標(biāo)志。若校驗(yàn)有錯(cuò),則設(shè)置“校驗(yàn)錯(cuò)”標(biāo)志。第13頁(yè)/共93頁(yè)1、串行通信方式

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

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

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

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

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

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

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

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

常用的只有9根:

(1)聯(lián)絡(luò)控制信號(hào)線:

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

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

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

允許發(fā)送CTS#(Cleartosend):用來(lái)表示DCE準(zhǔn)備好接收DTE發(fā)來(lái)的數(shù)據(jù),是對(duì)請(qǐng)求發(fā)送信號(hào)RTS#的響應(yīng)信號(hào)。當(dāng)MODEM已準(zhǔn)備好接收終端傳來(lái)的數(shù)據(jù),并向外發(fā)送時(shí),使該信號(hào)有效,通知終端開始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。第23頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)

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

(ReceivedLinedetection/ReceiveLineSingalDetect

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

振鈴指示RI#(Ringing):當(dāng)MODEM收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效,通知終端已被呼叫。第24頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)

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

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

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

(3)地線:

信號(hào)地SG。第25頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)

RS-232-C采用負(fù)邏輯,且信號(hào)電平與TTL不兼容。

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

邏輯1=-3V~-15V

邏輯0=+3V~+15V

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

信號(hào)有效=+3V~+15V

信號(hào)無(wú)效=-3V~-15V

串行接口芯片8250、8251均使用TTL電平,應(yīng)使用電平轉(zhuǎn)換電路與RS-232C連接器連接。

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

MC1489:TTL電平←RS232電平(用于接收方)第26頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)第27頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)采用Modem(DCE)和電話網(wǎng)通信時(shí)的信號(hào)連接第28頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)無(wú)Modem的標(biāo)準(zhǔn)連接第29頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)無(wú)Modem的最簡(jiǎn)連接第30頁(yè)/共93頁(yè)4、串行通信接口標(biāo)準(zhǔn)

無(wú)Modem時(shí),最大通訊距離的計(jì)算:

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

4、串行通信接口標(biāo)準(zhǔn)結(jié)束第31頁(yè)/共93頁(yè)8.3.2可編程串行異步通信接口82508250是一種可編程串行異步通信接口芯片。

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

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

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

4、8250通信編程

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

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

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

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

2)地址控制信號(hào):

CS0、CS1、CS2#:片選信號(hào)、輸入。必須同時(shí)有效。

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

ADS#:地址選通信號(hào)、輸入。

ADS#=0時(shí)鎖存片選信號(hào)和地址信號(hào)。如果不鎖存,可將ADS#直接接地。

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

3)讀/寫控制信號(hào)

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

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

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

4)中斷控制和復(fù)位控制信號(hào):

INTRPT:中斷請(qǐng)求、輸出。高電平申請(qǐng)中斷。

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

XTAL1與XTAL2:時(shí)鐘信號(hào)輸入和輸出引腳。外接晶振或時(shí)鐘信號(hào)。時(shí)鐘頻率為1.8432MHz。

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

RCLK:接收時(shí)鐘輸入引腳。

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

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

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

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

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

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

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

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

10個(gè)內(nèi)部寄存器、數(shù)據(jù)緩沖器、寄存器選擇與I/O控制邏輯。通過(guò)微處理器的輸入/輸出指令可以對(duì)10個(gè)內(nèi)部寄存器進(jìn)行操作,以實(shí)現(xiàn)各種異步通信的要求。第41頁(yè)/共93頁(yè)2、8250芯片的內(nèi)部結(jié)構(gòu)和尋址方式第42頁(yè)/共93頁(yè)2、8250芯片的內(nèi)部結(jié)構(gòu)和尋址方式第43頁(yè)/共93頁(yè)2、8250芯片的內(nèi)部結(jié)構(gòu)和尋址方式線路控制寄存器3FF未用2、8250芯片的內(nèi)部結(jié)構(gòu)和尋址方式結(jié)束第44頁(yè)/共93頁(yè)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)中斷標(biāo)識(shí)寄存器IIR(3FAH)(7)線路狀態(tài)寄存器LSR(3FDH)(8)Modem控制寄存器MCR(3FCH)(9)Modem狀態(tài)寄存器MSR(3FEH)第45頁(yè)/共93頁(yè)3、8250內(nèi)部控制狀態(tài)寄存器的功能

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

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

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

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

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

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

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

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

IER用來(lái)設(shè)置允許或禁止8250的4個(gè)中斷源發(fā)出中斷請(qǐng)求(將相應(yīng)位置1或0即可)。

D7~D4位:恒為0。

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

(6)中斷標(biāo)識(shí)寄存器IIR(3FAH)

IIR可以用來(lái)判斷有無(wú)中斷產(chǎn)生以及產(chǎn)生了哪一類中斷請(qǐng)求。

D7~D3位:恒為0。

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

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

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

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

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

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

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

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

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

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

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

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

D7:恒為0。

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

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

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

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

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

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

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

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

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

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

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

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

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

(3)設(shè)置工作方式 無(wú)中斷:

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

MOVDX,3FCH OUTDX,AL

有中斷:

MOVAL,0BH;OUT2#為低電平,允許INTRT去申請(qǐng)中斷

MOVDX,3FCH OUTDX,AL

循環(huán)測(cè)試:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

設(shè):數(shù)據(jù)傳送速率為9600波特:通信格式為8位/每字符,1位停止位,奇校驗(yàn)。第83頁(yè)/共93頁(yè)課堂練習(xí)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頁(yè)/共93頁(yè)課堂練習(xí)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論