8251芯片(課堂PPT)_第1頁
8251芯片(課堂PPT)_第2頁
8251芯片(課堂PPT)_第3頁
8251芯片(課堂PPT)_第4頁
8251芯片(課堂PPT)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.1 8.3 可編程接口芯片8251A 8251A是通用同步異步接收發(fā)送器USART(Universal Synchronous Asynchronous Receiver and Transmitter),適合作異步起止式數(shù)據(jù)格式和同步面向字符數(shù)據(jù)格式的接口,其功能很強。.28.3 可編程串行通信接口芯片可編程串行通信接口芯片8251一、基本功能一、基本功能 (1) 可工作在同步方式,也可工作在異步方式。同步方式下波特率為064 000波特,異步方式下波特率為019 200波特。 (2) 在同步方式時,每個字符可定義為5、6、7或8位。兩種方法實現(xiàn)同步,由內部自動檢測同步字符或由外部給出同步

2、信號。允許同步方式下增加奇/偶校驗位進行校驗。(3) 在異步方式下,每個字符可定義為5、6、7或8位,用1位作奇偶校驗。時鐘速率可用軟件定義為波特率的l、16或64倍。另外,8251A在異步方式下能自動為每個被輸出的數(shù)據(jù)增加1個起始位,并能根據(jù)軟件編程為每個輸出數(shù)據(jù)設置1位、1.5位或2位停止位。(4) 能進行出錯檢測。帶有奇偶、溢出和幀錯誤等檢測電路,用戶可通過輸入狀態(tài)寄存器的內容進行查詢。()與Intel 8080、8085、8086、8088CPU兼容.3二、內部結構二、內部結構發(fā)送緩沖器數(shù)據(jù)總線緩沖器調制解調控制電路DB讀 / 寫邏輯RESETCLKRDWRC/DCSDSRDTRCTS

3、RTS發(fā)送控制電路接收緩沖器接收控制電路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET狀態(tài)緩沖器、接收數(shù)據(jù)緩沖器、數(shù)據(jù)/命令緩沖器.4作用:接收器接收在RxD上的串行數(shù)據(jù)并按規(guī)定的格式轉換為并行數(shù)據(jù),存放在接收數(shù)據(jù)緩沖器中。RxD異或門內部CLKDB檢測奇偶檢驗結果接收緩沖寄存器接收移位寄存器奇偶位停止位 1波特率工作過程:(異步方式)當8251允許接收并準備好接收數(shù)據(jù)時,監(jiān)測RxD端,當檢測到起始位(低電平)后,使用16倍率的內部CLK,連續(xù)檢測8個0確認。然后按波特率移位、檢測RXD,直至停止位。內部刪除起始、奇偶、停止位接收緩沖寄存器后,使RxRDY為高,向CPU提出中斷

4、申請。1、接收器.5啟動檢測確定已檢測到啟動位采樣數(shù)據(jù)檢測16T啟動位DATACLOCK(內同步方式)在CPU發(fā)出允許接收命令后,8251一直檢測RxD,把接收到的每一位數(shù)據(jù)送入移位寄存器,與同步字符寄存器的內容進行比較。若兩者不相同,則繼續(xù)接收數(shù)據(jù)和進行移位比較操作;若相等,則8251將SYNDET置1,表示已找到同步字符。找到同步字符后,利用時鐘采樣和移位RxD線上的數(shù)據(jù)位,按規(guī)定的位數(shù)送接收數(shù)據(jù)緩沖器,同時RxRDY信號。16T.6 內部產生起始、奇偶檢驗、停止位,按約定的波特率從TxD輸出。數(shù)據(jù)發(fā)送緩沖器波特率發(fā)送移位寄存器奇偶位停止位 1起始位異或門TXDSOUT0內部CLKDB C

5、PU執(zhí)行輸出指令,并行數(shù)據(jù)發(fā)送緩沖器。工作過程發(fā)送緩沖器發(fā)送移位寄存器,向CPU提出中斷申請(TxRDY=1)。 當數(shù)據(jù)全部輸出結束,在TXD發(fā)出連續(xù)低電平(TxE=1)。2、發(fā)送器.7RxD(Receiver Data)接收數(shù)據(jù):從RxD端 串行輸入數(shù)據(jù)輸入RxRDY(Receiver Ready)接收數(shù)據(jù)準備好:表示接收數(shù)據(jù)緩沖器已收到一個字符數(shù)據(jù),CPU可采用中斷或查詢方式讀取數(shù)據(jù)( RxRDY=0)。SYNDET/BRKDET(Sync Detecte/Break Detece)同步檢測/斷點檢測 同步方式(同步檢測):在內同步方式,當8251檢測到同步字符, SYNDET輸出為高點平

6、,表明8251A已處于同步狀態(tài)。CPU執(zhí)行一次讀操作后, SYNDET自動復位; 1、與接收有關的信號3、外部引腳.8 異步方式(斷點檢測):當8251從RxD端連續(xù)收到兩個由全“0”組成的字符時,該引腳輸出為高電平,表示當前線路上無數(shù)據(jù)可讀,只有當RxD端收到1個“1”信號或8251復位時, BRKDET變?yōu)榈碗娖健xC( Receiver Clock)接收時鐘外同步方式: 當SYNDET引腳有一個正跳變脈沖,8251在下一個接收時鐘的上升沿開始接收字符,一旦達到同步, SYNDET引腳的高電平即可撤除。.9TxE( Transmitter Empty)發(fā)送器空: TxE=1表示發(fā)送移位寄

7、存器中已無數(shù)據(jù)可以向外部發(fā)送。此時,由TxD輸出空閑位(同步字符)。當8251從CPU接收到一個數(shù)據(jù)后,TxE=“0”。TxC( Transmitter Clock)發(fā)送時鐘TxD(Transmitter Data)發(fā)送數(shù)據(jù):將CPU送入的并行數(shù)據(jù)轉換成串行格式后,從TxD端輸出TxRDY( Transmitter Ready)發(fā)送數(shù)據(jù)準備好: TxRDY=1表示發(fā)送數(shù)據(jù)緩沖器已準備好從CPU接收一個字符數(shù)據(jù),CPU可采用中斷或查詢方式輸出一個數(shù)據(jù)( RxRDY=0)。2、與發(fā)送有關的信號.104、8251讀寫操作表CSRDWRC/D操 作0010CPU 讀 8251 數(shù)據(jù)0100CPU 向

8、8251 寫數(shù)據(jù)0011CPU 讀 8251 狀態(tài)字0101CPU 向 8251 寫控制字011*數(shù)據(jù)總線浮空1*數(shù)據(jù)總線浮空.115、調制解調器控制電路在遠程通信時,可用8251與調制解調器相連,經電話線傳輸數(shù)據(jù)RxDTxDDSRDTRCTSRTSRxCTxCDBCBAB8251A 波特率發(fā)生器MODEM電話線接口電話線數(shù)據(jù)通信設備DCE數(shù)據(jù)終端設備DTEDTR(Data Terminal Read y)數(shù)據(jù)終端準備好(通知數(shù)據(jù)裝置)DSR(Data Set Ready)數(shù)據(jù)裝置準備好(回應DTR信號)RTS(Request to Send)數(shù)據(jù)終端向MODEM發(fā)出請求表示數(shù)據(jù)已準備好需要發(fā)

9、送CTS(Clear to Send) MODEM回應終端,若TxEN有效8251可以發(fā)送數(shù)據(jù),發(fā)送結束CTS=“1”。.126、8251A與CPU的連接.13三、8251A的初始化方式字:確定8251A的工作方式;(異步,波特率,字符長度,奇偶校驗)命令字:控制8251A按方式字所規(guī)定的方式工作;(允許,禁止收發(fā)數(shù)據(jù),啟動搜索同步字符,8251復位)狀態(tài)字:了解8251A的工作狀態(tài)。復位操作輸出方式字傳送完輸出第一個同步字符輸出第二個同步字符輸出命令字傳送數(shù)據(jù)輸入狀態(tài)字同步方式雙同步復位YNYYYNNN.14注:對8251的控制口進行一次寫入操作,需有寫恢復時間。(寫恢復時間一般為16個時鐘

10、周期)DELAY1: MOV CX,02HD0: LOOP D0 RET8251復位電源上電,8251自動進入復位狀態(tài),為了確保在送方式字和命令字之前8251正確復位,可向8251的控制口連續(xù)寫入3個“0”,然后再寫入一個復位控制字(40H),用軟件使8251可靠復位。.152、方式字 用于CPU對8251編程,決定8251 的通信的格式。如數(shù)據(jù)長度、奇偶檢驗、停止位等。01 異步110 異步1611 異步6400 字符長度為5位01 字符長度為6位10 字符長度為7位11 字符長度為8位 0 無奇偶校驗位01 奇校驗11 偶校驗無效 001個停止位 011.5個停止位 102個停止位 11

11、S2 S1 EP PEN L2 L1 B2 B1異步方式.16與異步方式相同1 SYND為輸入(外同步)0 SYND為輸出(內同步)1 單字符同步0 雙字符同步SCS ESD EP PEN L2 L1 0 0 同步方式.17EHIR RST ER SBRK RxE DTR TxEN使DTR引腳為低電平1 啟動搜索同步字符1 允許發(fā)送0 禁止發(fā)送1 允許接收0 禁止接收1 使TxD線變低,發(fā)送空白字符0 正常工作1 內部復位,使8251回到方式選擇格式1 使RST引腳輸出低電平1 使錯誤標志PE,OE,F(xiàn)E復位3. 命令字.184、狀態(tài)字 DSR SYNDET/BRKDETFE OE PETxE

12、 RxRDY TxRDY發(fā)送器準備好奇偶錯誤溢出錯誤幀錯誤(異步)同引腳含義數(shù)據(jù)裝置準備好.191異步模式下的初始化程序舉例例題:例題:設8251A工作在異步模式,波特率系數(shù)(因子)為16,7個數(shù)據(jù)位/字符,偶校驗,2個停止位,發(fā)送、接收允許,設端口地址為00E2H和00E4H。完成初始化程序。MOV AL,0FAH ;送模式字MOV DX,00E2HOUT DX,AL ;異步方式,7位/字符,偶校驗,2個停止位MOV AL, 37H;設置控制字,使發(fā)送、接收允許,清出錯標志OUT DX, AL ;有效.202同步模式下初始化程序舉例 設端口地址為52H,采用內同步方式,2個同步字符(設同步字

13、符為16H),偶校驗,7位數(shù)據(jù)位/字符。MOV AL,38H ;設置模式字,同步模式,用2個同步字符OUT 52H,AL ; 7個數(shù)據(jù)位,偶校驗MOV AL,16H OUT 52H,AL ;送同步字符16HOUT 52H,AL MOV AL, 97H ;設置控制字,使發(fā)送器和接收器啟動OUT 52H, AL.21六、六、8251A應用舉例應用舉例 輸入字符要求異步方式下,輸入50個字符,波特率因子為16,8位數(shù)據(jù),1位停止位。設數(shù)據(jù)端口地址為30H,控制端口地址為31H。 .22 MOV AL,40HOUT31H,AL;復位8251AMOV AL,50H;OUT31H,AL;寫入異步方式選擇字

14、MOV AL,37HOUT 31H,AL;控制字寫入奇地址PortEMOV DI,0;變址寄存器置“0”MOV CX,32H;送入計數(shù)初值50個字符INPUT:INAL,31H ;讀取狀態(tài)字TEST AL,02H ;測試狀態(tài)字第2位RXRDYJZINPUT;8251A未收到字符則重新取狀態(tài)字INAL,30H ;RXRDY有效,從偶地址口PortO輸入數(shù)據(jù)MOV DX,Buffer;緩沖區(qū)首址送DXMOV DX十DI,AL;將字符送入緩沖區(qū)INCDI;緩沖區(qū)指針加1IN AL,31H ;再讀狀態(tài)字TEST AL,38H ;測試有無三種錯誤JNZ ERROR;有錯轉出錯處理LOOP INPUT;沒

15、錯,又不夠50個字符,轉InputJMP EXIT;如已輸入50個字符,則轉結束ERROR:EXIT:.23兩臺微型計算機通過8251A相互通信的舉例 .24分析:初始化程序由兩部分組成:是將一方定義為發(fā)送器。發(fā)送端CPU每查詢到TXRDY有效,則向8251A并行輸出一個字節(jié)數(shù)據(jù);是將對方定義為接收器。接收端CPU每查詢到RXRDY有效,則從8251A輸入一個字節(jié)數(shù)據(jù),一直進行到全部數(shù)據(jù)傳送完畢為止。.25發(fā)送端初始化程序與發(fā)送控制程序STT: MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL ;將825lA定義為異步方式,8位數(shù)據(jù),1位停止位MOV AL,11H ;

16、偶校驗,取波特率系數(shù)為64,允許發(fā)送。OUT DX,ALMOV DI,發(fā)送數(shù)據(jù)塊首地址 ;設置地址指針MOV CX,發(fā)送數(shù)據(jù)塊字節(jié)數(shù) ;設置計數(shù)器初值NEXT:MOV DX,8251A控制端口 IN AL,DX AND AL,01H ;查詢TXRDY有效否?JZ NEXT ;無效則等待MOV DX,8251A數(shù)據(jù)端口、 MOV AL,DI; ;向8251A輸出一個字節(jié)數(shù)據(jù)。OUT DX,AL INC DI ;修改地址指針 LOOP NEXT ;未傳輸完,則繼續(xù)下一個HLT.26接收端初始化程序和接收控制程序 SRR:MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL ;

17、初始化8251A,異步方式,8位數(shù)據(jù)MOV AL, 14H ;1位停止位,偶校驗,波特率系數(shù)64,允許接收。OUT DX,AL MOV DI,接收數(shù)據(jù)塊首地址 ;設置地址指針MOV CX,接收數(shù)據(jù)塊字節(jié)數(shù);設置計數(shù)器初值COMT:MOV DX,8251A控制端口 IN AL,DX ROR AL,1 ;查詢RXRDY有效否?ROR AL,1 JNC COMT ;無效則等待ROR AL,1 ROR AL,1 ;有效時,進一步查詢是否有奇偶校驗錯。JC ERR ;有錯時,轉出錯處理MOV DX,8251A數(shù)據(jù)端口 IN AL,DX ;無錯時,輸入一個字節(jié)到接收數(shù)據(jù)塊。MOV DI,AL INC DI

18、 ;修改地址指針LOOP COMT ;未傳輸完,則繼續(xù)下一個HLTERR:CALL ERR-OUT.27練習.28例:8251工作于異步方式,波特率系數(shù)為16,7位數(shù)據(jù)位,1個停止位,偶校驗,控制口地址3F2H。MOV DX,3F2HMOV AL,00HOUT DX,ALCALL DELAY1OUT DX,ALCALL DELAY1OUT DX,ALCALL DELAY1MOV AL,40H ;復位字OUT DX,ALCALL DELAY1MOV AL,01111010B ;方式字OUT DX,ALCALL DELAY1MOV AL,00010101B ;命令字OUT DX,AL.29BEG-

19、T: MOV DX,1F2H MOV AL,7AH OUT DX,AL MOV CX,02H D1: LOOP D1 MOV AL,11H OUT DX,AL MOV CX,02H D2: LOOP D2 LEA DI,BUFF-T MOV CX,COUNT-TNEXT-T: IN AL,DX TEST AL,01H JZ NEXT-T PUSH DX MOV DX,1F0H MOV AL,DI OUT DX,AL INC DI POP DX LOOP NEXT-T置方式字置命令字置發(fā)送緩沖區(qū)首址置發(fā)送數(shù)據(jù)數(shù)讀入8251狀態(tài)TxRDY=1 從發(fā)送緩沖區(qū)取數(shù)送8251修改指針發(fā)送完YYNN.30BEG-R: MOV DX,1F2H MOV AL,7AH OUT DX,AL MOV CX,02H D3: LOOP D3 MOV AL,14H OUT DX,AL MOV CX,02H D4: LOOP D4 LEA DI,BUFF-R MOV CX,COUNT-RNEXT-R: IN AL,DX TEST AL,02H JZ NEXT-R TEST AL,38H JNZ ERROR MOV DX,1F0H IN AL,DX MOV DI,AL INC DI LOOP NEXT-R置方式字置命令字置接收

溫馨提示

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

評論

0/150

提交評論