第七章串行通信接口技術(shù)_第1頁(yè)
第七章串行通信接口技術(shù)_第2頁(yè)
第七章串行通信接口技術(shù)_第3頁(yè)
第七章串行通信接口技術(shù)_第4頁(yè)
第七章串行通信接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、可編程串行通信接口芯片可編程串行通信接口芯片8251A在串行通信時(shí),收發(fā)雙方要解決的問(wèn)題在串行通信時(shí),收發(fā)雙方要解決的問(wèn)題: :n以何種速率進(jìn)行數(shù)據(jù)的發(fā)送和接收(以何種速率進(jìn)行數(shù)據(jù)的發(fā)送和接收(波特率波特率)n采用何種數(shù)據(jù)格式(采用何種數(shù)據(jù)格式(幀格式幀格式)n接收方如何得知一批數(shù)據(jù)的開(kāi)始和結(jié)束(接收方如何得知一批數(shù)據(jù)的開(kāi)始和結(jié)束(幀同步幀同步)n接收方如何從位流中正確地采樣到位數(shù)據(jù)(接收方如何從位流中正確地采樣到位數(shù)據(jù)(位同步位同步)n接收方如何判斷收到數(shù)據(jù)的正確性(接收方如何判斷收到數(shù)據(jù)的正確性(數(shù)據(jù)校驗(yàn)數(shù)據(jù)校驗(yàn))n收發(fā)出錯(cuò)時(shí)如何處理(收發(fā)出錯(cuò)時(shí)如何處理(出錯(cuò)處理出錯(cuò)處理)串行通信的基本概

2、念串行通信的基本概念全雙工方式全雙工方式站站A站站B站站A站站B站站A站站B半雙工方式半雙工方式單工方式單工方式1. 數(shù)據(jù)傳送方向數(shù)據(jù)傳送方向2. 串行通信的兩種基本方式串行通信的兩種基本方式(1)異步通信及其協(xié)議)異步通信及其協(xié)議所謂的異步通信,是指通信中兩個(gè)字符的時(shí)間間所謂的異步通信,是指通信中兩個(gè)字符的時(shí)間間隔是不固定的,而同一字符中的相鄰代碼間時(shí)間隔是不固定的,而同一字符中的相鄰代碼間時(shí)間間隔是固定的間隔是固定的n串行異步通信以字符為單位進(jìn)行傳輸,用串行異步通信以字符為單位進(jìn)行傳輸,用起始位表示字符的開(kāi)始,用停止位表示字起始位表示字符的開(kāi)始,用停止位表示字符結(jié)束,其通信協(xié)議是符結(jié)束,其

3、通信協(xié)議是起止式異步通信協(xié)起止式異步通信協(xié)議議n串行通信時(shí)的數(shù)據(jù)、控制和狀態(tài)信息都使串行通信時(shí)的數(shù)據(jù)、控制和狀態(tài)信息都使用同一根信號(hào)線(xiàn)傳送用同一根信號(hào)線(xiàn)傳送n收發(fā)雙方必須遵守共同的通信協(xié)議(通信收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)程),才能解決傳送速率、信息格式、規(guī)程),才能解決傳送速率、信息格式、位同步、字符同步、數(shù)據(jù)校驗(yàn)等問(wèn)題位同步、字符同步、數(shù)據(jù)校驗(yàn)等問(wèn)題(2)同步通信及其協(xié)議)同步通信及其協(xié)議同步通信以一個(gè)數(shù)據(jù)塊為傳輸單位,每個(gè)數(shù)據(jù)塊附同步通信以一個(gè)數(shù)據(jù)塊為傳輸單位,每個(gè)數(shù)據(jù)塊附加加1個(gè)或個(gè)或2個(gè)同步字符,最后以校驗(yàn)字符結(jié)束個(gè)同步字符,最后以校驗(yàn)字符結(jié)束 同步通信協(xié)議有多種,常用的有

4、面向比特的高級(jí)數(shù)據(jù)鏈路同步通信協(xié)議有多種,常用的有面向比特的高級(jí)數(shù)據(jù)鏈路控制協(xié)議控制協(xié)議HDLC(High-Level Data Link Control)。)。IBM系列系列微機(jī)中常用的同步數(shù)據(jù)鏈路控制協(xié)議微機(jī)中常用的同步數(shù)據(jù)鏈路控制協(xié)議SDLC(Synchronous Data Link Control)則是)則是HDLC的子集的子集n同步通信的特點(diǎn)是不僅字符內(nèi)部保持同步通信的特點(diǎn)是不僅字符內(nèi)部保持“同同步步”,而且字符與字符之間也是同步的。,而且字符與字符之間也是同步的。n在這種通信方式下,收在這種通信方式下,收/發(fā)雙方必須建立準(zhǔn)確發(fā)雙方必須建立準(zhǔn)確的位定時(shí)信號(hào),也就是收的位定時(shí)信號(hào),也

5、就是收/發(fā)時(shí)鐘的頻率必須發(fā)時(shí)鐘的頻率必須嚴(yán)格地一致。嚴(yán)格地一致。n每個(gè)字符不增加任何附加位,而是連續(xù)發(fā)送每個(gè)字符不增加任何附加位,而是連續(xù)發(fā)送3. 波特率與收波特率與收/發(fā)時(shí)鐘發(fā)時(shí)鐘n串行傳輸速率也稱(chēng)串行傳輸速率也稱(chēng)波特率波特率(Baud Rate)n每秒傳輸?shù)亩M(jìn)制位數(shù)每秒傳輸?shù)亩M(jìn)制位數(shù)bpsn字符中每個(gè)二進(jìn)制位持續(xù)的時(shí)間長(zhǎng)度都一樣,為數(shù)據(jù)字符中每個(gè)二進(jìn)制位持續(xù)的時(shí)間長(zhǎng)度都一樣,為數(shù)據(jù)傳輸速率的倒數(shù)傳輸速率的倒數(shù)(1)串行傳輸速率)串行傳輸速率字符速率與波特率兩者關(guān)系字符速率與波特率兩者關(guān)系 字符速率:每秒鐘傳輸?shù)淖址麛?shù)。字符速率:每秒鐘傳輸?shù)淖址麛?shù)。波特率:指單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的波

6、特率:指單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的位數(shù)。單位為:位數(shù)。單位為:b/s例例: : 異步傳輸過(guò)程異步傳輸過(guò)程 設(shè)每個(gè)字符對(duì)應(yīng)設(shè)每個(gè)字符對(duì)應(yīng)1 1個(gè)起始位、個(gè)起始位、7 7個(gè)信息位、個(gè)信息位、1 1個(gè)個(gè)奇偶校驗(yàn)位和奇偶校驗(yàn)位和1 1個(gè)停止位,如果波特率為個(gè)停止位,如果波特率為1200bps1200bps,那么,每秒鐘能傳輸?shù)淖畲笞址麛?shù)為那么,每秒鐘能傳輸?shù)淖畲笞址麛?shù)為1200/101200/10120120個(gè)個(gè)例例2:2:同步傳輸同步傳輸 用用1200bps1200bps的波特率工作,用的波特率工作,用4 4個(gè)同步字個(gè)同步字符作為信息幀頭部,但不用奇偶校驗(yàn),那符作為信息幀頭部,但不用奇偶校驗(yàn),那么

7、, 傳 輸么 , 傳 輸 1 0 01 0 0 個(gè) 字 符 所 用 的 時(shí) 間 為個(gè) 字 符 所 用 的 時(shí) 間 為7(100+4)/12007(100+4)/12000.6067s0.6067s,這就是說(shuō),每,這就是說(shuō),每秒鐘能傳輸?shù)淖址麛?shù)可達(dá)到秒鐘能傳輸?shù)淖址麛?shù)可達(dá)到100/0.6067100/0.6067165165個(gè)。個(gè)。可見(jiàn),可見(jiàn),在同樣的傳輸率下,同步傳輸時(shí)在同樣的傳輸率下,同步傳輸時(shí)實(shí)際字符傳輸率要比異步傳輸時(shí)高實(shí)際字符傳輸率要比異步傳輸時(shí)高。 (2) 發(fā)送發(fā)送/接收時(shí)鐘接收時(shí)鐘發(fā)送發(fā)送/接收時(shí)鐘頻率與接收時(shí)鐘頻率與波特率之間的關(guān)系為:波特率之間的關(guān)系為:發(fā)送發(fā)送/接收時(shí)鐘頻率接

8、收時(shí)鐘頻率=n 發(fā)送發(fā)送/接收接收波特率波特率例:要求傳輸速率為例:要求傳輸速率為1200 bps當(dāng)選擇當(dāng)選擇n=16時(shí),時(shí),表明一位數(shù)字信號(hào)中有表明一位數(shù)字信號(hào)中有16個(gè)時(shí)個(gè)時(shí)鐘脈沖,故發(fā)送鐘脈沖,故發(fā)送/接收時(shí)鐘頻率為:接收時(shí)鐘頻率為: 1200 16=19.2kHz其中其中n稱(chēng)為波特因子,一般稱(chēng)為波特因子,一般n=1,16,32,64 n調(diào)制和解調(diào)調(diào)制和解調(diào) 長(zhǎng)距離通信時(shí),常需要利用電話(huà)線(xiàn)路,它的頻帶則只有長(zhǎng)距離通信時(shí),常需要利用電話(huà)線(xiàn)路,它的頻帶則只有300Hz300Hz3400Hz3400Hz。為了通過(guò)電話(huà)線(xiàn)路傳輸數(shù)字信號(hào),必須先。為了通過(guò)電話(huà)線(xiàn)路傳輸數(shù)字信號(hào),必須先把數(shù)字信號(hào)轉(zhuǎn)換為

9、適合在電話(huà)線(xiàn)路上傳送的模擬信號(hào),這就把數(shù)字信號(hào)轉(zhuǎn)換為適合在電話(huà)線(xiàn)路上傳送的模擬信號(hào),這就是調(diào)制;經(jīng)過(guò)電話(huà)線(xiàn)路傳輸后,在接收端再將模擬信號(hào)轉(zhuǎn)換是調(diào)制;經(jīng)過(guò)電話(huà)線(xiàn)路傳輸后,在接收端再將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),這就是解調(diào)。為數(shù)字信號(hào),這就是解調(diào)。 n調(diào)制方法調(diào)制方法 : 移頻鍵控(移頻鍵控(FSKFSK) 移相鍵控移相鍵控PSK PSK 振幅鍵控(振幅鍵控(ASKASK)4. 信號(hào)的調(diào)制解調(diào)信號(hào)的調(diào)制解調(diào)nRS-232CRS-232C信號(hào)定義的說(shuō)明信號(hào)定義的說(shuō)明 RS-232CRS-232C的的2525個(gè)插腳僅定義個(gè)插腳僅定義2222個(gè)。在微機(jī)通信個(gè)。在微機(jī)通信中,通常使用的中,通常使用的RS-23

10、2CRS-232C接口信號(hào)只有接口信號(hào)只有9 9根引腳根引腳(P299,P299,圖圖7-377-37)5. RS232C接口接口nRS-232CRS-232C總線(xiàn)的電氣規(guī)范總線(xiàn)的電氣規(guī)范nRS-232CRS-232C標(biāo)準(zhǔn)與標(biāo)準(zhǔn)與TTL標(biāo)準(zhǔn)之間的轉(zhuǎn)換標(biāo)準(zhǔn)之間的轉(zhuǎn)換常用于將常用于將TTLTTL電平轉(zhuǎn)換為電平轉(zhuǎn)換為RS-232CRS-232C電平的芯片,除電平的芯片,除MC1488MC1488外外還有還有7518875188,7515075150等;用于將等;用于將RS-232CRS-232C電平轉(zhuǎn)換為電平轉(zhuǎn)換為T(mén)TLTTL電電平,除平,除MC1489MC1489外,還有外,還有751897518

11、9,7515475154等等nRS-232CRS-232C的應(yīng)用的應(yīng)用n使用使用MODEMMODEM連接連接n直接連接直接連接n三線(xiàn)連接三線(xiàn)連接n計(jì)算機(jī)通常使用計(jì)算機(jī)通常使用UART來(lái)實(shí)現(xiàn)數(shù)據(jù)的串來(lái)實(shí)現(xiàn)數(shù)據(jù)的串/并和并和并并/串轉(zhuǎn)換串轉(zhuǎn)換nUART的基本原理(的基本原理(P301,圖圖7-39、7-40)nUART的工作過(guò)程的工作過(guò)程n常用的錯(cuò)誤標(biāo)志常用的錯(cuò)誤標(biāo)志n奇偶校驗(yàn)錯(cuò)奇偶校驗(yàn)錯(cuò)n幀錯(cuò)誤幀錯(cuò)誤n溢出(丟失)錯(cuò)誤溢出(丟失)錯(cuò)誤6. 通用異步收發(fā)器通用異步收發(fā)器(UART)可編程異步通信接口可編程異步通信接口INS82508250的基本功能:的基本功能:n全雙工、雙緩沖器接收和發(fā)送全雙工、

12、雙緩沖器接收和發(fā)送n15種波特率,種波特率,50-9600bpsn可編程的異步通信格式可編程的異步通信格式n提供奇偶、溢出和幀校驗(yàn)等錯(cuò)誤檢測(cè)提供奇偶、溢出和幀校驗(yàn)等錯(cuò)誤檢測(cè)n片內(nèi)具有優(yōu)先權(quán)中斷控制邏輯片內(nèi)具有優(yōu)先權(quán)中斷控制邏輯8250的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)8250芯片引腳定義與功能芯片引腳定義與功能(1)面向CPU一側(cè)的引腳(1)n數(shù)據(jù)線(xiàn)數(shù)據(jù)線(xiàn)D7 D0 :在:在CPU與與8250之間交換信息之間交換信息n地址線(xiàn)地址線(xiàn)A0A2:尋址:尋址8250內(nèi)部寄存器內(nèi)部寄存器n片選線(xiàn):片選線(xiàn):8250設(shè)計(jì)了設(shè)計(jì)了3個(gè)片選輸入信號(hào)個(gè)片選輸入信號(hào)CS0、CS1、CS2*和一個(gè)片選輸出信號(hào)和一個(gè)片選輸出信號(hào)CS

13、OUT。3個(gè)片個(gè)片選輸入都有效時(shí),才選中選輸入都有效時(shí),才選中8250芯片,同時(shí)芯片,同時(shí)CSOUT輸出高電平有效。輸出高電平有效。n地址選通信號(hào)地址選通信號(hào)ADS*:當(dāng)該信號(hào)低有效時(shí),鎖存:當(dāng)該信號(hào)低有效時(shí),鎖存上述地址線(xiàn)和片選線(xiàn)的輸入狀態(tài),保證讀寫(xiě)期間上述地址線(xiàn)和片選線(xiàn)的輸入狀態(tài),保證讀寫(xiě)期間的地址穩(wěn)定的地址穩(wěn)定(1)處理器接口引腳(2)n讀控制線(xiàn)讀控制線(xiàn)n數(shù)據(jù)輸入選通數(shù)據(jù)輸入選通DISTR(高有效)和(高有效)和DISTR*(低有效)(低有效)有一個(gè)信號(hào)有效,有一個(gè)信號(hào)有效,CPU從從8250內(nèi)部寄存器讀出數(shù)據(jù)內(nèi)部寄存器讀出數(shù)據(jù)n相當(dāng)于相當(dāng)于I/O讀信號(hào)讀信號(hào)n寫(xiě)控制線(xiàn)寫(xiě)控制線(xiàn)n數(shù)據(jù)輸出

14、選通數(shù)據(jù)輸出選通DOSTR(高有效)和(高有效)和DOSTR*(低有(低有效)有一個(gè)有效,效)有一個(gè)有效,CPU就將數(shù)據(jù)寫(xiě)入就將數(shù)據(jù)寫(xiě)入8250內(nèi)部寄存器內(nèi)部寄存器n相當(dāng)于相當(dāng)于I/O寫(xiě)信號(hào)寫(xiě)信號(hào)n8250讀寫(xiě)控制信號(hào)有兩對(duì),每對(duì)信號(hào)作用完全相讀寫(xiě)控制信號(hào)有兩對(duì),每對(duì)信號(hào)作用完全相同,只不過(guò)有效電平不同而己同,只不過(guò)有效電平不同而己(1)處理器接口引腳(3)n驅(qū)動(dòng)器禁止信號(hào)驅(qū)動(dòng)器禁止信號(hào)DDIS:CPU從從8250讀取數(shù)讀取數(shù)據(jù)時(shí),據(jù)時(shí),DDIS引腳輸出低電平,用來(lái)禁止外引腳輸出低電平,用來(lái)禁止外部收發(fā)器對(duì)系統(tǒng)總線(xiàn)的驅(qū)動(dòng);其它時(shí)間,部收發(fā)器對(duì)系統(tǒng)總線(xiàn)的驅(qū)動(dòng);其它時(shí)間,DDIS為高電平為高電平n

15、主復(fù)位線(xiàn)主復(fù)位線(xiàn)MR:硬件復(fù)位信號(hào):硬件復(fù)位信號(hào)RESETn中斷請(qǐng)求線(xiàn)中斷請(qǐng)求線(xiàn)INTRPT:8250有有4級(jí)共級(jí)共10個(gè)中個(gè)中斷源,當(dāng)任一個(gè)未被屏蔽的中斷源有請(qǐng)求斷源,當(dāng)任一個(gè)未被屏蔽的中斷源有請(qǐng)求時(shí),時(shí),INTRPT輸出高電平向輸出高電平向CPU請(qǐng)求中斷請(qǐng)求中斷(2)面向外設(shè)引腳信號(hào)8250數(shù)據(jù)裝置準(zhǔn)備好數(shù)據(jù)裝置準(zhǔn)備好DSR*數(shù)據(jù)終端準(zhǔn)備好數(shù)據(jù)終端準(zhǔn)備好DTR*發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)SOUT接收數(shù)據(jù)接收數(shù)據(jù)SIN請(qǐng)求發(fā)送請(qǐng)求發(fā)送RTS*允許發(fā)送允許發(fā)送CTS*信號(hào)地信號(hào)地GND載波檢測(cè)載波檢測(cè)RLSD*振鈴指示振鈴指示RI*(3)時(shí)鐘信號(hào)n時(shí)鐘輸入引腳時(shí)鐘輸入引腳XTAL1:8250的基準(zhǔn)工作時(shí)

16、鐘的基準(zhǔn)工作時(shí)鐘n時(shí)鐘輸出引腳時(shí)鐘輸出引腳XTAL2:基準(zhǔn)時(shí)鐘信號(hào)的輸出端基準(zhǔn)時(shí)鐘信號(hào)的輸出端n波特率輸出引腳波特率輸出引腳BAUDOUT*:基準(zhǔn)時(shí)鐘經(jīng):基準(zhǔn)時(shí)鐘經(jīng)8250內(nèi)部波特率發(fā)生器分頻后產(chǎn)生發(fā)送時(shí)鐘,為波特內(nèi)部波特率發(fā)生器分頻后產(chǎn)生發(fā)送時(shí)鐘,為波特率率16倍倍n接收時(shí)鐘引腳接收時(shí)鐘引腳RCLK:接收外部提供的接收時(shí)鐘接收外部提供的接收時(shí)鐘信號(hào);若采用發(fā)送時(shí)鐘作為接收時(shí)鐘,則只要將信號(hào);若采用發(fā)送時(shí)鐘作為接收時(shí)鐘,則只要將RCLK引腳和引腳和BAUDOUT*引腳直接相連引腳直接相連(4)輸出線(xiàn)nOUT1*和和OUT2*:n兩個(gè)一般用途的輸出信號(hào)兩個(gè)一般用途的輸出信號(hào)n由調(diào)制解調(diào)器控制寄存

17、器的由調(diào)制解調(diào)器控制寄存器的D2和和D3使其輸出使其輸出低電平有效信號(hào)低電平有效信號(hào)n復(fù)位使其恢復(fù)為高復(fù)位使其恢復(fù)為高8250的寄存器及編程方法的寄存器及編程方法n8250內(nèi)部有內(nèi)部有10個(gè)個(gè)可訪(fǎng)問(wèn)的寄存器,除數(shù)可訪(fǎng)問(wèn)的寄存器,除數(shù)寄存器是寄存器是16位的,占用兩個(gè)連續(xù)的位的,占用兩個(gè)連續(xù)的8位端位端口口n內(nèi)部寄存器用引腳內(nèi)部寄存器用引腳A0A2來(lái)尋址;同時(shí)還來(lái)尋址;同時(shí)還要利用通信線(xiàn)路控制寄存器的最高位,即要利用通信線(xiàn)路控制寄存器的最高位,即除數(shù)寄存器訪(fǎng)問(wèn)位除數(shù)寄存器訪(fǎng)問(wèn)位DLAB的的0和和1兩種狀態(tài),兩種狀態(tài),來(lái)區(qū)別公用來(lái)區(qū)別公用1個(gè)端口地址所訪(fǎng)問(wèn)的兩個(gè)寄個(gè)端口地址所訪(fǎng)問(wèn)的兩個(gè)寄存器存器8

18、250內(nèi)部寄存器端口地址適配器地址適配器地址DLAB A2A1A0訪(fǎng)問(wèn)寄存器名稱(chēng)訪(fǎng)問(wèn)寄存器名稱(chēng)3F8H00 0 0接收數(shù)據(jù)寄存器(讀)接收數(shù)據(jù)寄存器(讀)發(fā)送保持寄存器(寫(xiě))發(fā)送保持寄存器(寫(xiě))3F9H 00 0 1中斷允許寄存器中斷允許寄存器3F8H 10 0 0波特率除數(shù)鎖存寄存器(低字節(jié))波特率除數(shù)鎖存寄存器(低字節(jié))3F9H 10 0 1波特率除數(shù)鎖存寄存器(高字節(jié))波特率除數(shù)鎖存寄存器(高字節(jié))3FAH 0 1 0中斷識(shí)別寄存器中斷識(shí)別寄存器3FBH 0 1 1線(xiàn)路控制寄存器線(xiàn)路控制寄存器3FCH 1 0 0MODEM控制寄存器控制寄存器3FDH 1 0 1線(xiàn)路狀態(tài)寄存器線(xiàn)路狀態(tài)寄存

19、器3FEH 1 1 0MODEM狀態(tài)寄存器狀態(tài)寄存器(1) 發(fā)送保持寄存器THR(3F8H) :“寫(xiě)寫(xiě)”包含將要串行發(fā)送的并行數(shù)據(jù)包含將要串行發(fā)送的并行數(shù)據(jù) CPU發(fā)送保持寄存器發(fā)送保持寄存器發(fā)送移位寄存器發(fā)送移位寄存器同步控制同步控制8250SOUT(1) 接收緩沖寄存器RBR (3F8H) :“讀讀”存放串行接收后轉(zhuǎn)換成并行的數(shù)據(jù)存放串行接收后轉(zhuǎn)換成并行的數(shù)據(jù)CPU接收緩沖寄存器接收緩沖寄存器接收移位寄存器接收移位寄存器同步控制同步控制8250SIN(2)波特率除數(shù)寄存器BRD(3F8H,3F9H)除數(shù)寄存器保存設(shè)定的分頻系數(shù)除數(shù)寄存器保存設(shè)定的分頻系數(shù)BRD基準(zhǔn)時(shí)鐘頻率基準(zhǔn)時(shí)鐘頻率(16

20、波特率)波特率)起起 始始 位位時(shí)鐘時(shí)鐘(RCLK)數(shù)據(jù)線(xiàn)數(shù)據(jù)線(xiàn)(SIN)T16 T16 T8 T例:計(jì)算波特率為例:計(jì)算波特率為1200bps1200bps的波特率除的波特率除數(shù)。數(shù)。當(dāng)使用當(dāng)使用UARTUART的內(nèi)部時(shí)鐘為的內(nèi)部時(shí)鐘為1.8432MHz1.8432MHz時(shí)(或由外部通過(guò)時(shí)(或由外部通過(guò)XTALXTAL1 1引腳輸入),引腳輸入),BRD=1843200/BRD=1843200/(161612001200)=0060H=0060H(3) 通信線(xiàn)路控制寄存器LCR(3FBH)DLABD6 D5 D4 D3D2D1 D0寄存器選擇寄存器選擇0 正常值正常值1 除數(shù)寄存器除數(shù)寄存器

21、中止字符中止字符0 無(wú)作用無(wú)作用1 發(fā)送中止字發(fā)送中止字符符校驗(yàn)位設(shè)置校驗(yàn)位設(shè)置0 無(wú)校驗(yàn)無(wú)校驗(yàn)位位001 設(shè)置奇校設(shè)置奇校驗(yàn)驗(yàn)011 設(shè)置偶校驗(yàn)設(shè)置偶校驗(yàn)101 校驗(yàn)位為校驗(yàn)位為1111 校驗(yàn)位為校驗(yàn)位為0停止位個(gè)數(shù)停止位個(gè)數(shù)0 1位位1 1.5位(數(shù)據(jù)位為位(數(shù)據(jù)位為5位時(shí))位時(shí))1 2位(數(shù)據(jù)位為位(數(shù)據(jù)位為68位時(shí))位時(shí))數(shù)據(jù)位個(gè)數(shù)數(shù)據(jù)位個(gè)數(shù)00 5位位01 6位位10 7位位11 8位位指定串行異步通信的字符格式指定串行異步通信的字符格式例:通信線(xiàn)路控制寄存器(例:通信線(xiàn)路控制寄存器(LCRLCR)的編程,)的編程,設(shè)置發(fā)送數(shù)據(jù)字長(zhǎng)為設(shè)置發(fā)送數(shù)據(jù)字長(zhǎng)為8 8位,位,2 2位停止位,偶

22、校位停止位,偶校驗(yàn),其程序段為:驗(yàn),其程序段為:MOV DXMOV DX,3FBH 3FBH ;LCRLCR的地址的地址MOV ALMOV AL, 00011111B 00011111B ;LCRLCR內(nèi)容數(shù)內(nèi)容數(shù);據(jù)格式參數(shù);據(jù)格式參數(shù) OUT DXOUT DX,ALAL(4)通信線(xiàn)路狀態(tài)寄存器LSR(3FDH)0D6 D5 D4 D3D2D1 D0為為1,表示發(fā)送移位寄存器空;,表示發(fā)送移位寄存器空;當(dāng)數(shù)據(jù)由發(fā)送保持寄存器移入當(dāng)數(shù)據(jù)由發(fā)送保持寄存器移入發(fā)送移位寄存器時(shí),該位為發(fā)送移位寄存器時(shí),該位為0提供串行異步通信的當(dāng)前狀態(tài)提供串行異步通信的當(dāng)前狀態(tài)供供CPU讀取和處理讀取和處理為為1,

23、表示發(fā)送保持寄存器空,表示發(fā)送保持寄存器空,當(dāng)當(dāng)CPU將字符寫(xiě)入發(fā)送保持將字符寫(xiě)入發(fā)送保持寄存器后,該位為寄存器后,該位為0為為1,表示正在傳輸中止字符,表示正在傳輸中止字符為為1,表示出現(xiàn)幀錯(cuò)誤,表示出現(xiàn)幀錯(cuò)誤為為1,表示出現(xiàn)奇偶錯(cuò),表示出現(xiàn)奇偶錯(cuò)為為1,表示出現(xiàn)溢出錯(cuò),表示出現(xiàn)溢出錯(cuò)為為1,表示接收數(shù)據(jù)緩沖器收到,表示接收數(shù)據(jù)緩沖器收到一個(gè)數(shù)據(jù),既接收數(shù)據(jù)準(zhǔn)備好;一個(gè)數(shù)據(jù),既接收數(shù)據(jù)準(zhǔn)備好;當(dāng)當(dāng)CPU讀走數(shù)據(jù)后,該位為讀走數(shù)據(jù)后,該位為0為為1使使DTR*引腳為低引腳為低否則為高否則為高 (5)MODEM控制寄存器MCR(3FCH)設(shè)置設(shè)置8250與數(shù)據(jù)通信設(shè)備之間與數(shù)據(jù)通信設(shè)備之間聯(lián)絡(luò)應(yīng)

24、答的輸出信號(hào)聯(lián)絡(luò)應(yīng)答的輸出信號(hào)0 0 0LOOP OUT2OUT1RTS DTR為為1使使RTS*引腳為低引腳為低否則為高否則為高 為為1使使OUT1*引腳為低引腳為低否則為高否則為高 為為1使使OUT2*引腳為低引腳為低否則為高否則為高 為為1使使8250為循環(huán)工作方式為循環(huán)工作方式否則為正常工作方式否則為正常工作方式例:要使例:要使MCRMCR的的DTRDTR,RTSRTS有效,有效,OUTOUT1 1,OUTOUT2 2以及以及LOOPLOOP無(wú)效,則編程如下:無(wú)效,則編程如下:MOV DX,3FCH ;MCR的地址,的地址, MOV AL,00000011B ;MCR的控制字的控制字

25、OUT DX,AL例:要對(duì)例:要對(duì)82508250通過(guò)自發(fā)自收進(jìn)行診斷,則程序通過(guò)自發(fā)自收進(jìn)行診斷,則程序?yàn)闉? :MOV DX ,3FCH ;MCR的地址的地址MOV AL,00010011B ;LOOP位置位置“1”O(jiān)UT DX,AL(6)MODEM狀態(tài)寄存器MSR(3FEH)n反映反映4個(gè)控制輸入信號(hào)的當(dāng)前狀態(tài)及其變化個(gè)控制輸入信號(hào)的當(dāng)前狀態(tài)及其變化nMSR高高4位中某位為位中某位為1,說(shuō)明相應(yīng)輸入信號(hào)當(dāng)前,說(shuō)明相應(yīng)輸入信號(hào)當(dāng)前為低有效,否則為高電平為低有效,否則為高電平nMSR低低4位中某位為位中某位為1,則說(shuō)明從上次,則說(shuō)明從上次CPU讀取讀取該狀態(tài)字后,相應(yīng)輸入信號(hào)已發(fā)生改變,從高

26、變?cè)摖顟B(tài)字后,相應(yīng)輸入信號(hào)已發(fā)生改變,從高變低或反之低或反之nMCR低低4位任一位置位任一位置1,均產(chǎn)生調(diào)制解調(diào)器狀態(tài),均產(chǎn)生調(diào)制解調(diào)器狀態(tài)中斷,當(dāng)中斷,當(dāng)CPU讀取該寄存器或復(fù)位后,低讀取該寄存器或復(fù)位后,低4位被位被清零清零(7)中斷允許寄存器IER (3F9H)n8250設(shè)計(jì)有設(shè)計(jì)有2個(gè)中斷寄存器和個(gè)中斷寄存器和4級(jí)中斷級(jí)中斷n4級(jí)中斷的優(yōu)先權(quán),是按照串行通信過(guò)程級(jí)中斷的優(yōu)先權(quán),是按照串行通信過(guò)程中事件的緊迫程度安排的、是固定不變的中事件的緊迫程度安排的、是固定不變的n用戶(hù)可利用中斷允許或禁止進(jìn)行控制用戶(hù)可利用中斷允許或禁止進(jìn)行控制n中斷允許寄存器的低中斷允許寄存器的低4位控制位控制82

27、50這這4級(jí)中級(jí)中斷是否被允許斷是否被允許n某位為某位為1,則對(duì)應(yīng)的中斷被允許,則對(duì)應(yīng)的中斷被允許n否則,被禁止否則,被禁止8. 中斷識(shí)別IIR(3FAH)保存正在請(qǐng)求中斷的優(yōu)先權(quán)最高保存正在請(qǐng)求中斷的優(yōu)先權(quán)最高的中斷級(jí)別編碼的中斷級(jí)別編碼0 0 0 0 0ID1 ID0IP0 有中斷有中斷1 無(wú)中斷無(wú)中斷ID1ID0優(yōu)先權(quán)優(yōu)先權(quán)中斷類(lèi)型中斷類(lèi)型1 11 00 10 01234 接收線(xiàn)路狀態(tài)接收線(xiàn)路狀態(tài) 接收數(shù)據(jù)準(zhǔn)備好接收數(shù)據(jù)準(zhǔn)備好 發(fā)送保持寄存器空發(fā)送保持寄存器空 調(diào)制解調(diào)器狀態(tài)調(diào)制解調(diào)器狀態(tài)3. 8250應(yīng)用舉例寫(xiě)通信控制字寫(xiě)通信控制字D7=1寫(xiě)除數(shù)低寫(xiě)除數(shù)低8位位寫(xiě)通信控制字寫(xiě)通信控制字

28、寫(xiě)除數(shù)高寫(xiě)除數(shù)高8位位寫(xiě)寫(xiě)MODEM控制字控制字寫(xiě)中斷允許字寫(xiě)中斷允許字 結(jié)束結(jié)束n8250的初始化過(guò)程的初始化過(guò)程例:例:82508250端口地址為端口地址為3F8H3F8H3FFH3FFH,若,若82508250以波特率以波特率9600bps9600bps,進(jìn)行異步通信,每字符進(jìn)行異步通信,每字符8 8位,位,1 1位停止位,采用奇校驗(yàn),允位停止位,采用奇校驗(yàn),允許所有中斷,試編程初始化。許所有中斷,試編程初始化。解:解:MOVMOV DXDX,3FBH 3FBH ;82508250線(xiàn)路控制寄存器地址送線(xiàn)路控制寄存器地址送DXDX MOV ALMOV AL,80H80H;置;置DLAB=1

29、DLAB=1,設(shè)置除數(shù),設(shè)置除數(shù)寄存器寄存器 OUT DXOUT DX,ALALMOV DXMOV DX,3F8H 3F8H ;除數(shù)寄存器地址送;除數(shù)寄存器地址送DXDX MOV AL MOV AL,0CH0CH ;波特率為;波特率為9600bps 9600bps OUT DX OUT DX,ALAL ;送除數(shù)低;送除數(shù)低8 8位位 INC DXINC DXMOV ALMOV AL,00H00H ;送除數(shù)高;送除數(shù)高8 8位位OUT DXOUT DX,ALALMOVMOV DXDX,3FBH 3FBH ;82508250控制寄存器地址送控制寄存器地址送DXDXMOV ALMOV AL,0000

30、1011B 00001011B ;8 8位數(shù)據(jù),奇校驗(yàn),位數(shù)據(jù),奇校驗(yàn),1 1位停止位位停止位OUT DXOUT DX,AL AL MOVMOV DXDX,3F9H 3F9H ;中斷允許寄存器地址送;中斷允許寄存器地址送DXDX MOV ALMOV AL,0FH 0FH ;設(shè)置中斷允許控制字,允許所有中斷;設(shè)置中斷允許控制字,允許所有中斷OUT DXOUT DX,AL AL MOVMOV DXDX,3FCH 3FCH ;設(shè)置;設(shè)置MODEMMODEM控制字控制字 MOV ALMOV AL,0FH0FHOUT DXOUT DX,AL AL ;OUT1OUT1* *,OUT2,OUT2* *均為均

31、為0 0 n8250查詢(xún)方式發(fā)送查詢(xún)方式發(fā)送初始化初始化8250讀讀LSRD5=1?發(fā)送一個(gè)字符發(fā)送一個(gè)字符發(fā)完?發(fā)完?結(jié)束結(jié)束YYNNn查詢(xún)方式接收查詢(xún)方式接收初始化初始化82508250讀讀LSRD0=1?接收一個(gè)字符接收一個(gè)字符收完?收完?結(jié)束結(jié)束YYNN有錯(cuò)?有錯(cuò)?NY錯(cuò)誤處理錯(cuò)誤處理例:兩臺(tái)例:兩臺(tái)PCPC機(jī)用機(jī)用RS-232CRS-232C串口采用零串口采用零MODEMMODEM方式實(shí)現(xiàn)近方式實(shí)現(xiàn)近距離串行通信。數(shù)據(jù)傳送波特率為距離串行通信。數(shù)據(jù)傳送波特率為9600bps9600bps,數(shù)據(jù)格式,數(shù)據(jù)格式為為8 8位位/ /每字符,每字符,1 1位停止位,奇校驗(yàn),雙機(jī)位停止位,奇校

32、驗(yàn),雙機(jī)82508250端口地端口地址均為址均為2F8H2F8H2FFH2FFH。試編寫(xiě)發(fā)送和接收程序,其功能。試編寫(xiě)發(fā)送和接收程序,其功能如下:如下:通信雙方執(zhí)行程序后,均等待鍵盤(pán)輸入字符通信雙方執(zhí)行程序后,均等待鍵盤(pán)輸入字符雙方只要按下一個(gè)鍵,鍵值在本機(jī)當(dāng)前光標(biāo)處顯示,雙方只要按下一個(gè)鍵,鍵值在本機(jī)當(dāng)前光標(biāo)處顯示,而且傳送到對(duì)方,在對(duì)方當(dāng)前光標(biāo)處顯示出來(lái)而且傳送到對(duì)方,在對(duì)方當(dāng)前光標(biāo)處顯示出來(lái)雙方只要按下雙方只要按下ESCESC鍵,則停止程序的執(zhí)行,返回到鍵,則停止程序的執(zhí)行,返回到DOSDOS狀態(tài)狀態(tài)通信雙方如果出現(xiàn)通信錯(cuò)誤,則屏幕顯示通信雙方如果出現(xiàn)通信錯(cuò)誤,則屏幕顯示“?”,并繼續(xù)等

33、待鍵入新字符或接收新字符并繼續(xù)等待鍵入新字符或接收新字符MOV DX,2FBH ;82508250控制寄存器地址送控制寄存器地址送DXDXMOV AL,80H ;置;置DLAB=1DLAB=1,設(shè)置除數(shù)寄存器,設(shè)置除數(shù)寄存器OUT DX,ALMOV DX,2F8H ;除數(shù)寄存器地址送;除數(shù)寄存器地址送DXDXMOV AL,0CH;波特率為;波特率為9600bps9600bps OUT DX,AL ;送除數(shù)低;送除數(shù)低8 8位位INC DXMOV AL,00H;送除數(shù)高;送除數(shù)高8 8位位OUT DX,AL MOV DX,2FBH ;82508250控制寄存器地址送控制寄存器地址送DXDX MO

34、V AL,0BH ;8 8位數(shù)據(jù),奇校驗(yàn),位數(shù)據(jù),奇校驗(yàn),1 1位停止位位停止位 OUT DX,AL MOV DX,2FCH;設(shè)置;設(shè)置MODEM控制字控制字 MOV AL,03H;RTS,CTS有效有效 OUT DX,AL MOV DX,2F9H;禁止中斷;禁止中斷 MOV AL,00H OUT DX,ALFOREVER:MOV DX,2FDHIN AL,DX ;讀線(xiàn)路狀態(tài)寄存器;讀線(xiàn)路狀態(tài)寄存器TEST AL,1EH JNZ ERROR ;有錯(cuò),轉(zhuǎn)錯(cuò)誤處理程序有錯(cuò),轉(zhuǎn)錯(cuò)誤處理程序TEST AL,01H ;查接收緩沖器是否滿(mǎn)查接收緩沖器是否滿(mǎn)JNZ RECEIVETEST AL,20H ;查

35、發(fā)送緩沖器是否空查發(fā)送緩沖器是否空J(rèn)NZ FOREVER ;為空則發(fā)送字符;為空則發(fā)送字符MOV AH,01H ;讀鍵盤(pán)緩沖器內(nèi)容讀鍵盤(pán)緩沖器內(nèi)容;若有鍵按下,則;若有鍵按下,則ZF=0ZF=0,且,且AL=AL=字符碼字符碼INT 16HJZ FOREVERMOV AH,00H ;AL=字符字符ASCII碼碼 INT 16HMOV DX,2F8HOUT DX,ALMOV AH,02H ;顯示字符;顯示字符MOV DL,ALINT 21HCMP AL,27 ;若按下若按下ESCESC鍵,則退出鍵,則退出 JNZ NEXT MOV AH,4CH INC 21HNEXT:JMP FOREVERRE

36、CEIVE:MOV DX,2F8H ;接收數(shù)據(jù);接收數(shù)據(jù) IN AL,DX AND AL,7FH ;檢查是否;檢查是否ESC CMP AL,27 JNZ DISP ;不是;不是ESC,則顯示,則顯示 MOV AH,4CH ;是;是ESC,退出,退出 INT 21H DISP: PUSH AX MOV BX,0;顯示字符;顯示字符 MOV AH,14 INT 10H POP AX CMP AL,0DH ;處理回車(chē);處理回車(chē) JNZ FOREVER MOV AL,0AH MOV BX,0 MOV AH,14 INT 10H JMP FOREVER ERROR:MOV DX,3F8H IN AL,D

37、XMOVAL,? MOV BX,0 MOV AH,14 INT 10H JMP FOREVERn8250中斷方式通信中斷方式通信n中斷通信方式初始化中斷通信方式初始化n修改中斷向量:按使用的端口COM1或COM2,接管中斷0CH或中斷0BH(保存原中斷向量,將新的中斷向量替換上去,注意程序結(jié)束時(shí)恢復(fù)原中斷向量)n確定通信協(xié)議:設(shè)置波特率及數(shù)據(jù)傳輸格式,設(shè)置中斷允許寄存器相應(yīng)位的允許或禁止n開(kāi)放通信中斷:對(duì)8259A中斷控制器的屏蔽寄存器編程(OCW1),允許中斷IRQ4或IRQ3n通信中斷服務(wù)程序通信中斷服務(wù)程序n首先讀中斷識(shí)別寄存器IIR,判斷中斷源,然后轉(zhuǎn)向?qū)?yīng)的處理子過(guò)程(程序)。n當(dāng)中

38、斷識(shí)別寄存器D2D1=11時(shí),表明接收出錯(cuò)中斷,需要再讀取線(xiàn)路狀態(tài)寄存器,分析錯(cuò)誤原因,再進(jìn)行錯(cuò)誤處理n可能出現(xiàn)多個(gè)中斷源同時(shí)引發(fā)中斷。因此,每處理完一種中斷源后,應(yīng)繼續(xù)讀取中斷識(shí)別寄存器,檢測(cè)D0是否為“0”,當(dāng)D0=0時(shí),表明還有未決中斷,應(yīng)該繼續(xù)分析中斷源并進(jìn)行中斷處理。n中斷程序返回的條件是中斷識(shí)別寄存器的D0=1。可編程串行通信接口芯片可編程串行通信接口芯片8251A8251A基本性能:基本性能:n全雙工、雙緩沖器全雙工、雙緩沖器n兩種傳送方式:同步和異步傳送兩種傳送方式:同步和異步傳送n同步傳送:同步傳送:58位位/字符,內(nèi)部或外部同步,字符,內(nèi)部或外部同步,可自動(dòng)插人同步字符可自

39、動(dòng)插人同步字符n異步傳送:異步傳送:58位位/字符,時(shí)鐘速率為通信波字符,時(shí)鐘速率為通信波特率的特率的1、16或或64倍倍n可自動(dòng)產(chǎn)生、檢測(cè)和處理終止字符,可產(chǎn)生可自動(dòng)產(chǎn)生、檢測(cè)和處理終止字符,可產(chǎn)生1、1.5或或2位的停止位位的停止位n波特率在同步方式時(shí)為波特率在同步方式時(shí)為064Kbps,異步方,異步方式時(shí)為式時(shí)為019.2Kbpsn出錯(cuò)檢測(cè):具有奇偶、溢出和幀錯(cuò)誤等檢測(cè)出錯(cuò)檢測(cè):具有奇偶、溢出和幀錯(cuò)誤等檢測(cè)電路電路8251A的內(nèi)部結(jié)構(gòu):的內(nèi)部結(jié)構(gòu):(1) 8251A與與CPU接口信號(hào)接口信號(hào) 1 1、片選信號(hào)片選信號(hào) CSCS* *為低電平時(shí),為低電平時(shí),8251A8251A被選中被選中

40、2 2、數(shù)據(jù)信號(hào)數(shù)據(jù)信號(hào) D7D7D0D0與系統(tǒng)的數(shù)據(jù)總線(xiàn)相連與系統(tǒng)的數(shù)據(jù)總線(xiàn)相連 3 3、讀寫(xiě)控制信號(hào)讀寫(xiě)控制信號(hào) RDRD* *為讀信號(hào)為讀信號(hào)WRWR* *為寫(xiě)信號(hào)為寫(xiě)信號(hào)C/DC/D* *為控制為控制/ /數(shù)據(jù)信號(hào)數(shù)據(jù)信號(hào)RESETRESET復(fù)位復(fù)位CLKCLK時(shí)鐘時(shí)鐘8251A的接口信號(hào)的接口信號(hào)(2)8251A與外部設(shè)備之間的連接信號(hào)與外部設(shè)備之間的連接信號(hào) 1.發(fā)送器發(fā)送器1)TxRDY(Transmitter Ready):發(fā)送器準(zhǔn)備好,高電平有效):發(fā)送器準(zhǔn)備好,高電平有效2)TxEMPTY(Transmitter Empty):發(fā)送器空,高電平有效):發(fā)送器空,高電平有效3

41、)TxD:發(fā)送數(shù)據(jù)線(xiàn):發(fā)送數(shù)據(jù)線(xiàn)4)TxC:發(fā)送器輸入時(shí)鐘:發(fā)送器輸入時(shí)鐘2.接收器接收器1)RxD:接收數(shù)據(jù)線(xiàn):接收數(shù)據(jù)線(xiàn)2)RxRDY:接收器準(zhǔn)備好:接收器準(zhǔn)備好3)SYNDET:同步檢測(cè):同步檢測(cè)4)RxC:接收器輸入時(shí)鐘:接收器輸入時(shí)鐘3.與調(diào)制器的接口接號(hào)與調(diào)制器的接口接號(hào)1)DTR:數(shù)據(jù)終端準(zhǔn)備好:數(shù)據(jù)終端準(zhǔn)備好2)RTS:請(qǐng)求發(fā)送:請(qǐng)求發(fā)送3)DSR:數(shù)據(jù)裝置準(zhǔn)備好:數(shù)據(jù)裝置準(zhǔn)備好4)CTS:清除傳送:清除傳送8251A的編程的編程n8251A的編程模型(的編程模型(P312, 圖圖7-52)n8251A的讀寫(xiě)操作的讀寫(xiě)操作8251A的工作過(guò)程的工作過(guò)程(P315,圖圖7-56)

42、(1 1)方式命令字)方式命令字 (2 2)操作命令字)操作命令字( (用于控制發(fā)用于控制發(fā)/ /收,數(shù)據(jù)傳送方向收,數(shù)據(jù)傳送方向) )(3 3)狀態(tài)寄存器格式)狀態(tài)寄存器格式例:若要查詢(xún)例:若要查詢(xún)8251A8251A接收器是否準(zhǔn)備好,可用接收器是否準(zhǔn)備好,可用下列程序?qū)崿F(xiàn):下列程序?qū)崿F(xiàn): MOV DX,3F9H ;狀態(tài)口;狀態(tài)口NEXT: IN AL,DX ;讀狀態(tài)口;讀狀態(tài)口 AND AL,02H ;查詢(xún);查詢(xún)D D1 1=1=1? JZNEXT;未準(zhǔn)備好,轉(zhuǎn);未準(zhǔn)備好,轉(zhuǎn)NEXTNEXT等待等待 MOV DX,3F8H ;數(shù)據(jù)口地址送;數(shù)據(jù)口地址送DXDX IN AL,DX 8251A

43、應(yīng)用舉例應(yīng)用舉例1.異步方式下初始化程序例:設(shè)例:設(shè)8251A8251A工作于異步方式,波特率系數(shù)為工作于異步方式,波特率系數(shù)為1616,具有,具有7 7位數(shù)據(jù)位,位數(shù)據(jù)位,1 1 位停止位,偶校驗(yàn),位停止位,偶校驗(yàn),發(fā)送、接收允許,設(shè)端口地址為發(fā)送、接收允許,設(shè)端口地址為3F8H3F8H和和3F9H3F9H,試編程初始化。試編程初始化。分析:根據(jù)題目要求,可以確定方式命令字為:分析:根據(jù)題目要求,可以確定方式命令字為:01111010B01111010B,即,即7AH7AH。而操作命令字為。而操作命令字為00110111B00110111B,即,即37H37H初始化程序如下:初始化程序如下:

44、MOV DXMOV DX,3F9H 3F9H MOV ALMOV AL,7AH7AH;送方式命令字;送方式命令字OUT DXOUT DX,ALALMOV ALMOV AL,37H37H ;設(shè)操作命令字;設(shè)操作命令字OUT DXOUT DX,ALAL2.同步方式下初始化程序例:設(shè)例:設(shè)8251A8251A工作于同步方式,控制口的端口地址工作于同步方式,控制口的端口地址為為3F9H3F9H,采用雙同步字符,奇校驗(yàn),采用雙同步字符,奇校驗(yàn),7 7 位數(shù)據(jù)位,位數(shù)據(jù)位,試編程初始化。試編程初始化。分析:根據(jù)題目要求,可以確定方式命令字為分析:根據(jù)題目要求,可以確定方式命令字為00011000B,即,即

45、18H。而操作命令字為。而操作命令字為10110111B即即B7H。它使。它使8251A對(duì)同步字符進(jìn)行對(duì)同步字符進(jìn)行檢索;同時(shí)使?fàn)顟B(tài)寄存器中檢索;同時(shí)使?fàn)顟B(tài)寄存器中3個(gè)出錯(cuò)標(biāo)志復(fù)位;此外,個(gè)出錯(cuò)標(biāo)志復(fù)位;此外,使使8251A的發(fā)送器啟動(dòng),接收器也啟動(dòng);控制字還的發(fā)送器啟動(dòng),接收器也啟動(dòng);控制字還通知通知8251A,CPU當(dāng)前已經(jīng)準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。當(dāng)前已經(jīng)準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。 MOV DX,3F9H ;命令端口地址給命令端口地址給DXDXMOV AL,00011000B ;方式命令字;方式命令字OUT DX,AL MOV AL,16HOUT DX,AL ;送第一個(gè)同步字符;送第一個(gè)同步字符16

46、H16HOUT DX,AL ;送第二個(gè)同步字符;送第二個(gè)同步字符16H16HMOV AL,B7H ;設(shè)置操作命令字;設(shè)置操作命令字OUT DX,AL 3.3.兩臺(tái)微機(jī)之間進(jìn)行雙機(jī)串行通信的舉例兩臺(tái)微機(jī)之間進(jìn)行雙機(jī)串行通信的舉例例:通過(guò)例:通過(guò)8251A實(shí)現(xiàn)兩臺(tái)微機(jī)相互通信的實(shí)現(xiàn)兩臺(tái)微機(jī)相互通信的硬件連接圖如圖硬件連接圖如圖8-25所示。利用兩片所示。利用兩片8251A通過(guò)標(biāo)準(zhǔn)串行接口通過(guò)標(biāo)準(zhǔn)串行接口RS-232C實(shí)現(xiàn)實(shí)現(xiàn)兩臺(tái)兩臺(tái)8086微機(jī)之間的異步串行通信。設(shè)微機(jī)之間的異步串行通信。設(shè)兩臺(tái)微機(jī)中兩臺(tái)微機(jī)中8251A的命令端口地址為均的命令端口地址為均3F9H,數(shù)據(jù)端口地址均為,數(shù)據(jù)端口地址均為3F8H。 分析:設(shè)系統(tǒng)采用查詢(xún)方式控制串行通信的分析:設(shè)系統(tǒng)采用查詢(xún)方式控制串行通信的過(guò)程。過(guò)程。初始化程序由兩部分組成:初始化程序由兩部分組成:將一方定義為發(fā)送方,發(fā)送方將一方定義為發(fā)送方,發(fā)送方CPUCPU查詢(xún)查詢(xún)到到TxRDYTxRDY有效時(shí),則有效時(shí),則CPUCPU向向8251A8251A并行輸并行輸出一個(gè)待發(fā)送的字節(jié)數(shù)據(jù);出一個(gè)待發(fā)送的字節(jié)數(shù)據(jù);將對(duì)方定義為接收方,接收方將對(duì)方定義為接收方,接收方CPUCPU查詢(xún)查詢(xún)到到RxRDYRxR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論