第八章 串行通訊._第1頁
第八章 串行通訊._第2頁
第八章 串行通訊._第3頁
第八章 串行通訊._第4頁
第八章 串行通訊._第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 第九章 串行通信接口一、串行傳送的特點(diǎn):一、串行傳送的特點(diǎn):1、數(shù)據(jù)在一根數(shù)據(jù)線上傳送。、數(shù)據(jù)在一根數(shù)據(jù)線上傳送。2、數(shù)據(jù)格式又要求。、數(shù)據(jù)格式又要求。3、對(duì)信號(hào)的邏輯定義與、對(duì)信號(hào)的邏輯定義與TTL電平不同。電平不同。4、數(shù)據(jù)傳送速率需要控制。、數(shù)據(jù)傳送速率需要控制。9.1、串行通信的基本概念二、串行數(shù)據(jù)傳送方向全雙工方式全雙工方式站站A站站B站站A站站B站站A站站B半雙工方式半雙工方式單工方式單工方式三.波特率與收/發(fā)時(shí)鐘n串行傳輸速率也稱串行傳輸速率也稱波特率波特率(Baud Rate)n每秒傳輸?shù)亩M(jìn)制位數(shù)每秒傳輸?shù)亩M(jìn)制位數(shù)bpsn字符中每個(gè)二進(jìn)制位持續(xù)的時(shí)間長度都一樣,為數(shù)據(jù)字符

2、中每個(gè)二進(jìn)制位持續(xù)的時(shí)間長度都一樣,為數(shù)據(jù)傳輸速率的倒數(shù)傳輸速率的倒數(shù)n過去,串行異步通信的數(shù)據(jù)傳輸速率限制在過去,串行異步通信的數(shù)據(jù)傳輸速率限制在50 bps到到9600 bps之間?,F(xiàn)在,可以達(dá)到之間?,F(xiàn)在,可以達(dá)到115200 bps或更高或更高(1)串行傳輸速率)串行傳輸速率字符速率與波特率兩者關(guān)系字符速率與波特率兩者關(guān)系 字符速率:每秒鐘傳輸?shù)淖址麛?shù)。字符速率:每秒鐘傳輸?shù)淖址麛?shù)。波特率:指單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的波特率:指單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的位數(shù)。單位為:位數(shù)。單位為:b/s例例: : 異步傳輸過程異步傳輸過程 設(shè)每個(gè)字符對(duì)應(yīng)設(shè)每個(gè)字符對(duì)應(yīng)1 1個(gè)起始位、個(gè)起始位、7 7個(gè)

3、信息位、個(gè)信息位、1 1個(gè)個(gè)奇偶校驗(yàn)位和奇偶校驗(yàn)位和1 1個(gè)停止位,如果波特率為個(gè)停止位,如果波特率為12001200bpsbps,那么,每秒鐘能傳輸?shù)淖畲笞址麛?shù)為那么,每秒鐘能傳輸?shù)淖畲笞址麛?shù)為1200/101200/10120120個(gè)個(gè)例例2:2:同步傳輸同步傳輸 用用12001200bpsbps的波特率工作,用的波特率工作,用4 4個(gè)同步字個(gè)同步字符作為信息幀頭部,但不用奇偶校驗(yàn),那符作為信息幀頭部,但不用奇偶校驗(yàn),那么 , 傳 輸么 , 傳 輸 1 0 01 0 0 個(gè) 字 符 所 用 的 時(shí) 間 為個(gè) 字 符 所 用 的 時(shí) 間 為7(100+4)/12007(100+4)/1200

4、0.60670.6067s s,這就是說,每,這就是說,每秒鐘能傳輸?shù)淖址麛?shù)可達(dá)到秒鐘能傳輸?shù)淖址麛?shù)可達(dá)到100/0.6067100/0.6067165165個(gè)。個(gè)??梢姡梢?,在同樣的傳輸率下,同步傳輸時(shí)在同樣的傳輸率下,同步傳輸時(shí)實(shí)際字符傳輸率要比異步傳輸時(shí)高實(shí)際字符傳輸率要比異步傳輸時(shí)高。 (2) 發(fā)送發(fā)送/接收時(shí)鐘接收時(shí)鐘發(fā)送發(fā)送/接收時(shí)鐘頻率與接收時(shí)鐘頻率與波特率之間的關(guān)系為:波特率之間的關(guān)系為:發(fā)送發(fā)送/接收時(shí)鐘頻率接收時(shí)鐘頻率=n 發(fā)送發(fā)送/接收接收波特率波特率例:要求傳輸速率為例:要求傳輸速率為1200 bps當(dāng)選擇當(dāng)選擇n=16時(shí),時(shí),表明一位數(shù)字信號(hào)中有表明一位數(shù)字信號(hào)中有

5、16個(gè)時(shí)個(gè)時(shí)鐘脈沖,故發(fā)送鐘脈沖,故發(fā)送/接收時(shí)鐘頻率為:接收時(shí)鐘頻率為: 1200 16=19.2kHz其中其中n稱為波特因子,一般稱為波特因子,一般n=1,16,32,64 四四.串行通信的兩種基本方式串行通信的兩種基本方式在串行通信中,有兩種最基本的通信在串行通信中,有兩種最基本的通信方式:方式:同步通信(同步通信(Synchronous Data Communication)異步通信(異步通信(Asynchronous Data Communication) 異步通信以一個(gè)字符為傳輸單位,用起始位表示異步通信以一個(gè)字符為傳輸單位,用起始位表示字符的開始,用停止位表示字符結(jié)束字符的開始,

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

7、以數(shù)據(jù)塊(字符塊)為單位傳送的,每個(gè)數(shù)據(jù)塊經(jīng)過格式化之后,形成一幀數(shù)的,每個(gè)數(shù)據(jù)塊經(jīng)過格式化之后,形成一幀數(shù)據(jù),作為一個(gè)整體進(jìn)行發(fā)送與接收,因此,傳據(jù),作為一個(gè)整體進(jìn)行發(fā)送與接收,因此,傳送一旦開始,要求每幀數(shù)據(jù)內(nèi)部的每一位都要送一旦開始,要求每幀數(shù)據(jù)內(nèi)部的每一位都要同步同步 二、可編程串行通信接口芯片8251A 1.1.82518251A A基本性能基本性能(1)(1)兩種傳送方式:同步和異步傳送兩種傳送方式:同步和異步傳送(2)(2)同步傳送:同步傳送:5858位位/ /字符,內(nèi)部或外部同步可字符,內(nèi)部或外部同步可自動(dòng)插人同步字符自動(dòng)插人同步字符(3)(3)異步傳送:異步傳送:5858位位

8、/ /字符,時(shí)鐘速率為通信波字符,時(shí)鐘速率為通信波特率的特率的1 1、1616或或6464倍倍(4)(4)可自動(dòng)產(chǎn)生、檢測和處理終止字符,可自動(dòng)產(chǎn)生、檢測和處理終止字符,可產(chǎn)生可產(chǎn)生1 1、1.51.5或或2 2位的停止位位的停止位(5)(5)波特率在同步方式時(shí)為波特率在同步方式時(shí)為0 06464KbpsKbps,異步方式時(shí)為異步方式時(shí)為0 019.219.2KbpsKbps(6)(6)全雙工、雙緩沖器發(fā)送器和接收器全雙工、雙緩沖器發(fā)送器和接收器(7)(7)出錯(cuò)檢測:具有奇偶、溢出和幀錯(cuò)出錯(cuò)檢測:具有奇偶、溢出和幀錯(cuò)誤等檢測電路誤等檢測電路2.8251A2.8251A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 3.

9、8251A3.8251A的接口信號(hào)的接口信號(hào) (1) 8251A與與CPU接口信號(hào)接口信號(hào) 片選信號(hào)片選信號(hào) CSCS* *為低電平時(shí),為低電平時(shí),82518251A A被選中被選中數(shù)據(jù)信號(hào)數(shù)據(jù)信號(hào) D7D7D0D0與系統(tǒng)的數(shù)據(jù)總線相連與系統(tǒng)的數(shù)據(jù)總線相連 讀寫控制信號(hào)讀寫控制信號(hào) RDRD* *為讀信號(hào)為讀信號(hào)WRWR* *為寫信號(hào)為寫信號(hào)C/DC/D* *為為控制控制/ /數(shù)據(jù)信號(hào)數(shù)據(jù)信號(hào)收發(fā)聯(lián)絡(luò)信號(hào)收發(fā)聯(lián)絡(luò)信號(hào)T TX XRDYRDY為為發(fā)送器準(zhǔn)備好信號(hào)發(fā)送器準(zhǔn)備好信號(hào)T TX XE E 發(fā)送器空信號(hào)發(fā)送器空信號(hào)R RX XRDY RDY 接收器準(zhǔn)備好信號(hào)接收器準(zhǔn)備好信號(hào)SYNDET/B

10、D SYNDET/BD 同步檢測信號(hào)同步檢測信號(hào)(2)8251A與外部設(shè)備之間的連接信號(hào)與外部設(shè)備之間的連接信號(hào) 收發(fā)聯(lián)絡(luò)信號(hào)收發(fā)聯(lián)絡(luò)信號(hào) DTRDTR* * 數(shù)據(jù)終端準(zhǔn)備好信號(hào)數(shù)據(jù)終端準(zhǔn)備好信號(hào) DSRDSR* *數(shù)據(jù)設(shè)備準(zhǔn)備好信號(hào)數(shù)據(jù)設(shè)備準(zhǔn)備好信號(hào) RTSRTS* *請(qǐng)求發(fā)送信號(hào)請(qǐng)求發(fā)送信號(hào) CTSCTS* * 清除請(qǐng)求發(fā)送信號(hào)清除請(qǐng)求發(fā)送信號(hào) 數(shù)據(jù)信號(hào)數(shù)據(jù)信號(hào) T TX XD D 發(fā)送器數(shù)據(jù)輸出信號(hào)發(fā)送器數(shù)據(jù)輸出信號(hào) R RX XD D 接收器數(shù)據(jù)輸入信號(hào)接收器數(shù)據(jù)輸入信號(hào) (3)時(shí)鐘、電源和地)時(shí)鐘、電源和地 CLKCLK:工作時(shí)鐘,由外部時(shí)鐘源提供。為:工作時(shí)鐘,由外部時(shí)鐘源提供。為

11、芯片內(nèi)部電路提供定時(shí),它不等于發(fā)送和芯片內(nèi)部電路提供定時(shí),它不等于發(fā)送和接收數(shù)據(jù)的時(shí)鐘。接收數(shù)據(jù)的時(shí)鐘。VccVcc:電源輸入:電源輸入GNDGND:地:地4.8251A的編程的編程8251A的初始化流程圖的初始化流程圖 82518251A A的編程包括兩個(gè)方面的內(nèi)容:的編程包括兩個(gè)方面的內(nèi)容:由由CPU發(fā)出控制字,即方式命令字和發(fā)出控制字,即方式命令字和操作命令控制字操作命令控制字 由由8251A向向CPU送出的狀態(tài)字送出的狀態(tài)字 (1 1)方式命令字)方式命令字 (2 2)操作命令字)操作命令字( (用于控制發(fā)用于控制發(fā)/ /收即數(shù)據(jù)傳送方向收即數(shù)據(jù)傳送方向) )(3 3)狀態(tài)寄存器格式)

12、狀態(tài)寄存器格式 ( (用于確定用于確定8251A8251A的工作方式的工作方式) )例:若要查詢例:若要查詢82518251A A接收器是否準(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 ;查詢;查詢D D1 1=1=1?JZ NEXT ;未準(zhǔn)備好,;未準(zhǔn)備好, ;轉(zhuǎn)轉(zhuǎn)NEXTNEXT等待等待 MOV DX,3F8H ;數(shù)據(jù)口地址;數(shù)據(jù)口地址 ;送送DXDX IN AL,DX 三、8251A應(yīng)用舉例1.異步方式下初始化程序例【例【8-88-8】設(shè)】設(shè)82518251A

13、 A工作于異步方式,波特率系工作于異步方式,波特率系數(shù)為數(shù)為1616,具有,具有7 7位數(shù)據(jù)位,位數(shù)據(jù)位,1 1 位停止位,偶校位停止位,偶校驗(yàn),發(fā)送、接收允許,設(shè)端口地址為驗(yàn),發(fā)送、接收允許,設(shè)端口地址為3 3F8HF8H和和3 3F9HF9H,試編程初始化。,試編程初始化。分析:根據(jù)題目要求,可以確定方式命令字為:分析:根據(jù)題目要求,可以確定方式命令字為:0111101001111010B B,即,即7 7AHAH。而操作命令字為。而操作命令字為0011011100110111B B,即,即3737H H初始化程序如下:初始化程序如下:MOV DXMOV DX,3F9H 3F9H MOV

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

15、字為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è)同步字符1616H HOUT DX,AL ;送

16、第二個(gè)同步字符;送第二個(gè)同步字符1616H HMOV AL,B7H ;設(shè)置操作命令字;設(shè)置操作命令字OUT DX,AL 3.3.兩臺(tái)微機(jī)之間進(jìn)行雙機(jī)串行通信的舉例兩臺(tái)微機(jī)之間進(jìn)行雙機(jī)串行通信的舉例例【例【8-108-10】通過】通過8251A實(shí)現(xiàn)兩臺(tái)微機(jī)相實(shí)現(xiàn)兩臺(tái)微機(jī)相互通信的硬件連接圖如圖互通信的硬件連接圖如圖8-25所示。利所示。利用兩片用兩片8251A通過標(biāo)準(zhǔn)串行接口通過標(biāo)準(zhǔn)串行接口RS-232C實(shí)現(xiàn)兩臺(tái)實(shí)現(xiàn)兩臺(tái)8086微機(jī)之間的異步串微機(jī)之間的異步串行通信。設(shè)兩臺(tái)微機(jī)中行通信。設(shè)兩臺(tái)微機(jī)中8251A的命令端的命令端口地址為均口地址為均3F9H,數(shù)據(jù)端口地址均為,數(shù)據(jù)端口地址均為3F8H

17、。 分析:設(shè)系統(tǒng)采用查詢方式控制串行通信的分析:設(shè)系統(tǒng)采用查詢方式控制串行通信的過程。過程。初始化程序由兩部分組成:初始化程序由兩部分組成:將一方定義為發(fā)送方,發(fā)送方將一方定義為發(fā)送方,發(fā)送方CPUCPU查詢查詢到到TxRDYTxRDY有效時(shí),則有效時(shí),則CPUCPU向向82518251A A并行輸并行輸出一個(gè)待發(fā)送的字節(jié)數(shù)據(jù);出一個(gè)待發(fā)送的字節(jié)數(shù)據(jù);將對(duì)方定義為接收方,接收方將對(duì)方定義為接收方,接收方CPUCPU查詢查詢到到RxRDYRxRDY有效時(shí),則從有效時(shí),則從82518251A A輸入一個(gè)已輸入一個(gè)已接收到的字節(jié)數(shù)據(jù),直到全部數(shù)據(jù)傳送完畢接收到的字節(jié)數(shù)據(jù),直到全部數(shù)據(jù)傳送完畢為止。為

18、止。發(fā)送程序如下:發(fā)送程序如下:STARTSTART:MOV MOV DXDX,3F9H3F9HMOV MOV ALAL,7FH7FH;異步方式,;異步方式,8 8位數(shù)據(jù),位數(shù)據(jù), ;一位停止位,偶校驗(yàn);一位停止位,偶校驗(yàn)OUT OUT DXDX,ALAL ;波特率因子為;波特率因子為6464,允許,允許 ;發(fā)送;發(fā)送MOV MOV ALAL,11H11H;操作命令字;操作命令字OUTOUT DXDX,ALALMOV MOV DIDI,1000H1000H ;設(shè)置地址指針;設(shè)置地址指針MOV MOV CXCX,40H40H ;設(shè)置計(jì)數(shù)器初值;設(shè)置計(jì)數(shù)器初值L1L1: MOVMOV DXDX,3

19、F9H3F9H ININ ALAL,DXDX AND ALAND AL,01H 01H ;查詢;查詢TxRDYTxRDY是否有效是否有效 JZ L1 JZ L1 ;無效則等待;無效則等待 MOV MOV DXDX,3F8H3F8H MOVMOV ALAL,DIDI ;向;向82518251A A輸出一個(gè)字節(jié)數(shù)據(jù)輸出一個(gè)字節(jié)數(shù)據(jù) OUTOUT DXDX,ALAL INCINC DI DI ;修改地址指針;修改地址指針 LOOP L1LOOP L1 ;未傳送完,則繼續(xù)下一個(gè);未傳送完,則繼續(xù)下一個(gè) HLTHLT接收程序如下:接收程序如下:BEGINBEGIN:MOVMOV DXDX,3F9H3F9

20、HMOV MOV ALAL,7FH7FH ;異步方式,;異步方式,8 8位數(shù)據(jù),位數(shù)據(jù),1 1位停止位位停止位OUTOUT DXDX,AL AL ;偶校驗(yàn),波特率因子;偶校驗(yàn),波特率因子6464,允許接收,允許接收MOV MOV ALAL,14H14H ;操作命令字(置;操作命令字(置ERER,RxE RxE 為為1 1) MOVMOV DXDX,AL AL MOV MOV SISI, 2000H2000H;設(shè)置地址指針;設(shè)置地址指針MOVMOV CXCX,40H40H;設(shè)置計(jì)數(shù)器初值;設(shè)置計(jì)數(shù)器初值L2L2:MOV MOV DXDX,3F9H3F9HININ ALAL,DX DX ;讀取狀態(tài)

21、字;讀取狀態(tài)字TESTTEST ALAL,38H 38H ;查詢接收器是否有錯(cuò)。;查詢接收器是否有錯(cuò)。JNZ JNZ ERR ERR ;有錯(cuò)則轉(zhuǎn)錯(cuò)誤處理;有錯(cuò)則轉(zhuǎn)錯(cuò)誤處理AND AND ALAL,02H 02H ;無誤則查狀態(tài)位;無誤則查狀態(tài)位D D1 1(RxRDYRxRDY)JZ JZ L2 L2 ;接收未準(zhǔn)備好則等待;接收未準(zhǔn)備好則等待MOVMOV DXDX,3F8H3F8HIN IN ALAL,DX DX ;接受準(zhǔn)備好,則接收;接受準(zhǔn)備好,則接收1 1個(gè)字個(gè)字;節(jié)數(shù)據(jù);節(jié)數(shù)據(jù)MOVMOVSISI,ALALINCINC SI SI ;修改接收數(shù)據(jù)區(qū)地址;修改接收數(shù)據(jù)區(qū)地址LOOP L2L

22、OOP L2JMP JMP L3L3ERRERR:CALL CALL ERR-OUTERR-OUT(略)(略)L3L3:MOV MOV AXAX,4C00H4C00H;已接收完,返回;已接收完,返回DOSDOSINTINT21H21H8.4通用的異步接收發(fā)送芯片82508250是一種可編程的串行異步通信接是一種可編程的串行異步通信接口芯片,它支持異步通信規(guī)程;芯片內(nèi)口芯片,它支持異步通信規(guī)程;芯片內(nèi)設(shè)置時(shí)鐘發(fā)生電路,可通過編程改變傳設(shè)置時(shí)鐘發(fā)生電路,可通過編程改變傳送數(shù)據(jù)的波特率;它提供送數(shù)據(jù)的波特率;它提供MODEM的狀態(tài)的狀態(tài)信息,極易通過信息,極易通過MODEM實(shí)現(xiàn)遠(yuǎn)程通信;實(shí)現(xiàn)遠(yuǎn)程通信

23、;它具有數(shù)據(jù)回送功能,為調(diào)試自檢提供它具有數(shù)據(jù)回送功能,為調(diào)試自檢提供方便方便1. 8250的寄存器及編程方法n8250內(nèi)部有內(nèi)部有10個(gè)個(gè)可訪問的寄存器,除數(shù)可訪問的寄存器,除數(shù)寄存器是寄存器是16位的,占用兩個(gè)連續(xù)的位的,占用兩個(gè)連續(xù)的8位端位端口口n內(nèi)部寄存器用引腳內(nèi)部寄存器用引腳A0A2來尋址;同時(shí)還來尋址;同時(shí)還要利用通信線路控制寄存器的最高位,即要利用通信線路控制寄存器的最高位,即除數(shù)寄存器訪問位除數(shù)寄存器訪問位DLAB的的0和和1兩種狀態(tài),兩種狀態(tài),來區(qū)別公用來區(qū)別公用1個(gè)端口地址所訪問的兩個(gè)寄個(gè)端口地址所訪問的兩個(gè)寄存器存器8250內(nèi)部寄存器端口地址適配器地址適配器地址DLAB

24、 A2A1A0訪問寄存器名稱訪問寄存器名稱3F8H00 0 0接收數(shù)據(jù)寄存器(讀)接收數(shù)據(jù)寄存器(讀)發(fā)送保持寄存器(寫)發(fā)送保持寄存器(寫)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線路控制寄存器線路控制寄存器3FCH 1 0 0MODEM控制寄存器控制寄存器3FDH 1 0 1線路狀態(tài)寄存器線路狀態(tài)寄存器3FEH 1 1 0MODEM狀態(tài)寄存器狀態(tài)寄存器

25、(1) 發(fā)送保持寄存器THR(3F8H) :“寫寫”包含將要串行發(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波特率)波特率)起起 始始 位位時(shí)鐘時(shí)鐘(RCLK)

26、數(shù)據(jù)線數(shù)據(jù)線(SIN)T16 T16 T8 T例【例【8-118-11】計(jì)算波特率為】計(jì)算波特率為12001200bpsbps的波的波特率除數(shù)。特率除數(shù)。當(dāng)使用當(dāng)使用UARTUART的內(nèi)部時(shí)鐘為的內(nèi)部時(shí)鐘為1.84321.8432MHzMHz時(shí)(或由外部通過時(shí)(或由外部通過XTALXTAL1 1引腳輸入),引腳輸入),BRD=1843200/BRD=1843200/(161612001200)=0060H=0060H(3) 通信線路控制寄存器LCR(3FBH)DLABD6 D5 D4 D3D2D1 D0寄存器選擇寄存器選擇0 正常值正常值1 除數(shù)寄存器除數(shù)寄存器中止字符中止字符0 無作用無作用

27、1 發(fā)送中止字發(fā)送中止字符符校驗(yàn)位設(shè)置校驗(yàn)位設(shè)置0 無校驗(yàn)無校驗(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位位指定串行異步通信的字符格式指定串行異步通信的字符格式例【例【8-138-13】通信線路控制寄存器(】通信線路控制寄存器(LCRLCR)的)的編程,設(shè)置發(fā)送數(shù)據(jù)字長為編程,設(shè)置發(fā)送數(shù)據(jù)字長為8 8位,位,2 2位停止位,位停止位,偶校

28、驗(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)通信線路狀態(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,表示發(fā)送保持

29、寄存器空,表示發(fā)送保持寄存器空,當(dāng)當(dāng)CPU將字符寫入發(fā)送保持將字符寫入發(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)答的輸出信號(hào)

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

31、控制字 OUT DX,AL例【例【8-158-15】要對(duì)】要對(duì)82508250通過自發(fā)自收進(jìn)行診斷,通過自發(fā)自收進(jìn)行診斷,則程序?yàn)閯t程序?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,說明相應(yīng)輸入信號(hào)當(dāng)前,說明相應(yīng)輸入信號(hào)當(dāng)前為低有效,否則為高電平為低有效,否則為高電平nMSR低低4位中某位為位中某位為1,則說明從上次,則說明從上次CPU讀取讀取該狀態(tài)字后,

32、相應(yīng)輸入信號(hào)已發(fā)生改變,從高變?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),是按照串行通信過程級(jí)中斷的優(yōu)先權(quán),是按照串行通信過程中事件的緊迫程度安排的、是固定不變的中事件的緊迫程度安排的、是固定不變的n用戶可利用中斷允許或禁止進(jìn)行控制用戶可利用中斷允許或禁止進(jìn)行控制n中斷允許寄存器的低中斷允許

33、寄存器的低4位控制位控制8250這這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 無中斷無中斷ID1ID0優(yōu)先權(quán)優(yōu)先權(quán)中斷類型中斷類型1 11 00 10 01234 接收線路狀態(tài)接收線路狀態(tài) 接收數(shù)據(jù)準(zhǔn)備好接收數(shù)據(jù)準(zhǔn)備好 發(fā)送保持寄存器空發(fā)送保持寄存器空 調(diào)制解調(diào)器狀態(tài)調(diào)制解調(diào)器狀態(tài)2. 8250的內(nèi)部結(jié)構(gòu)3. 8250芯片引腳定義與功能(1)面向CPU

34、一側(cè)的引腳(1)n數(shù)據(jù)線數(shù)據(jù)線D7 D0 :在:在CPU與與8250之間交換信息之間交換信息n地址線地址線A0A2:尋址:尋址8250內(nèi)部寄存器內(nèi)部寄存器n片選線:片選線:8250設(shè)計(jì)了設(shè)計(jì)了3個(gè)片選輸入信號(hào)個(gè)片選輸入信號(hào)CS0、CS1、CS2*和一個(gè)片選輸出信號(hào)和一個(gè)片選輸出信號(hào)CSOUT。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í),鎖存上述地址線和片選線的輸入狀態(tài),保證讀寫期間上述地址線和片選線的輸入狀態(tài),保證讀寫期間的地址穩(wěn)定的地址

35、穩(wěn)定(1)處理器接口引腳(2)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寫控制線寫控制線n數(shù)據(jù)輸出選通數(shù)據(jù)輸出選通DOSTR(高有效)和(高有效)和DOSTR*(低有(低有效)有一個(gè)有效,效)有一個(gè)有效,CPU就將數(shù)據(jù)寫入就將數(shù)據(jù)寫入8250內(nèi)部寄存器內(nèi)部寄存器n相當(dāng)于相當(dāng)于I/O寫信號(hào)寫信號(hào)n8250讀寫控制信號(hào)有兩對(duì),每對(duì)信號(hào)作用完全相讀寫控制信號(hào)有兩對(duì),每對(duì)信號(hào)作用完全相同,只不過有效電平不同而己同,只

36、不過有效電平不同而己(1)處理器接口引腳(3)n驅(qū)動(dòng)器禁止信號(hào)驅(qū)動(dòng)器禁止信號(hào)DDIS:CPU從從8250讀取數(shù)讀取數(shù)據(jù)時(shí),據(jù)時(shí),DDIS引腳輸出低電平,用來禁止外引腳輸出低電平,用來禁止外部收發(fā)器對(duì)系統(tǒng)總線的驅(qū)動(dòng);其它時(shí)間,部收發(fā)器對(duì)系統(tǒng)總線的驅(qū)動(dòng);其它時(shí)間,DDIS為高電平為高電平n主復(fù)位線主復(fù)位線MR:硬件復(fù)位信號(hào):硬件復(fù)位信號(hào)RESETn中斷請(qǐng)求線中斷請(qǐng)求線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)求中斷(1) 輸出線(4)nOUT1*和和OUT2*:

37、n兩個(gè)一般用途的輸出信號(hào)兩個(gè)一般用途的輸出信號(hào)n由調(diào)制解調(diào)器控制寄存器的由調(diào)制解調(diào)器控制寄存器的D2和和D3使其輸出使其輸出低電平有效信號(hào)低電平有效信號(hào)n復(fù)位使其恢復(fù)為高復(fù)位使其恢復(fù)為高(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載波檢測載波檢測RLSD*振鈴指示振鈴指示RI*(3)時(shí)鐘信號(hào)n時(shí)鐘輸入引腳時(shí)鐘輸入引腳XTAL1:8250的基準(zhǔn)工作時(shí)鐘的基準(zhǔn)工作時(shí)鐘n時(shí)鐘輸出引腳時(shí)鐘輸出引腳XTAL2:基準(zhǔn)時(shí)鐘信號(hào)的輸出端基準(zhǔn)時(shí)

38、鐘信號(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í)鐘n接收時(shí)鐘引腳接收時(shí)鐘引腳RCLK:接收外部提供的接收時(shí)鐘接收外部提供的接收時(shí)鐘信號(hào);若采用發(fā)送時(shí)鐘作為接收時(shí)鐘,則只要將信號(hào);若采用發(fā)送時(shí)鐘作為接收時(shí)鐘,則只要將RCLK引腳和引腳和BAUDOUT*引腳直接相連引腳直接相連3. 8250應(yīng)用舉例寫通信控制字寫通信控制字D7=1寫除數(shù)低寫除數(shù)低8位位寫通信控制字寫通信控制字寫除數(shù)高寫除數(shù)高8位位寫寫MODE控制字控制字寫中斷允許字寫中斷允許字 結(jié)束結(jié)束 8250的初始化過程的初始化過程例

39、【例【8-178-17】82508250端口地址為端口地址為3F8H3F8H3FFH3FFH,若,若82508250以波特率以波特率9600bps9600bps,進(jìn)行異步通信,每字符,進(jìn)行異步通信,每字符8 8位,位,1 1位停止位,采用奇位停止位,采用奇校驗(yàn),允許所有中斷,試編程初始化。校驗(yàn),允許所有中斷,試編程初始化。解:解:MOVMOV DXDX,3FBH3FBH;82508250控制寄存器地址送控制寄存器地址送DXDX MOV ALMOV AL,80H80H;置;置DLAB=1DLAB=1,設(shè)置除數(shù)寄存器,設(shè)置除數(shù)寄存器 OUT DXOUT DX,ALALMOV DXMOV DX,3F

40、8H 3F8H ;除數(shù)寄存器地址送;除數(shù)寄存器地址送DXDX MOV AL MOV AL,0CH0CH ;波特率為;波特率為96009600bps bps 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,0BH 0BH ;8 8位數(shù)據(jù),奇校驗(yàn),位數(shù)據(jù),奇校驗(yàn),1 1位停止位位停止位OUT DXOUT DX,AL AL M

41、OVMOV 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* *均為均為0 0 例【例【8-188-18】兩臺(tái)】兩臺(tái)PCPC機(jī)用機(jī)用RS-232CRS-232C串口采用零串口采用零MODEMMODEM方式

42、方式實(shí)現(xiàn)近距離串行通信。數(shù)據(jù)傳送波特率為實(shí)現(xiàn)近距離串行通信。數(shù)據(jù)傳送波特率為9600bps9600bps,數(shù),數(shù)據(jù)格式為據(jù)格式為8 8位位/ /每字符,每字符,1 1位停止位,奇校驗(yàn),雙機(jī)位停止位,奇校驗(yàn),雙機(jī)82508250端口地址均為端口地址均為2F8H2F8H2FFH2FFH。試編寫發(fā)送和接收程序,。試編寫發(fā)送和接收程序,其功能如下:其功能如下:通信雙方執(zhí)行程序后,均等待鍵盤輸入字符通信雙方執(zhí)行程序后,均等待鍵盤輸入字符雙方只要按下一個(gè)鍵,鍵值在本機(jī)當(dāng)前光標(biāo)處顯示,雙方只要按下一個(gè)鍵,鍵值在本機(jī)當(dāng)前光標(biāo)處顯示,而且傳送到對(duì)方,在對(duì)方當(dāng)前光標(biāo)處顯示出來而且傳送到對(duì)方,在對(duì)方當(dāng)前光標(biāo)處顯示出來雙方只要按下雙方只要按下ESCESC鍵,則停止程序的執(zhí)行,返回到鍵,則停止程序的執(zhí)行,返回到DOSDOS狀態(tài)狀態(tài)通信雙方如果出現(xiàn)通信錯(cuò)誤,則屏幕顯示通信雙方如果出現(xiàn)通信錯(cuò)誤,則屏幕顯示“?”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論