




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.1 8.3 可編程接口芯片8251A 8251A是通用同步異步接收發(fā)送器USART(Universal Synchronous Asynchronous Receiver and Transmitter),適合作異步起止式數(shù)據(jù)格式和同步面向字符數(shù)據(jù)格式的接口,其功能很強(qiáng)。.28.3 可編程串行通信接口芯片可編程串行通信接口芯片8251一、基本功能一、基本功能 (1) 可工作在同步方式,也可工作在異步方式。同步方式下波特率為064 000波特,異步方式下波特率為019 200波特。 (2) 在同步方式時(shí),每個(gè)字符可定義為5、6、7或8位。兩種方法實(shí)現(xiàn)同步,由內(nèi)部自動(dòng)檢測(cè)同步字符或由外部給出同步
2、信號(hào)。允許同步方式下增加奇/偶校驗(yàn)位進(jìn)行校驗(yàn)。(3) 在異步方式下,每個(gè)字符可定義為5、6、7或8位,用1位作奇偶校驗(yàn)。時(shí)鐘速率可用軟件定義為波特率的l、16或64倍。另外,8251A在異步方式下能自動(dòng)為每個(gè)被輸出的數(shù)據(jù)增加1個(gè)起始位,并能根據(jù)軟件編程為每個(gè)輸出數(shù)據(jù)設(shè)置1位、1.5位或2位停止位。(4) 能進(jìn)行出錯(cuò)檢測(cè)。帶有奇偶、溢出和幀錯(cuò)誤等檢測(cè)電路,用戶可通過(guò)輸入狀態(tài)寄存器的內(nèi)容進(jìn)行查詢。()與Intel 8080、8085、8086、8088CPU兼容.3二、內(nèi)部結(jié)構(gòu)二、內(nèi)部結(jié)構(gòu)發(fā)送緩沖器數(shù)據(jù)總線緩沖器調(diào)制解調(diào)控制電路DB讀 / 寫(xiě)邏輯RESETCLKRDWRC/DCSDSRDTRCTS
3、RTS發(fā)送控制電路接收緩沖器接收控制電路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET狀態(tài)緩沖器、接收數(shù)據(jù)緩沖器、數(shù)據(jù)/命令緩沖器.4作用:接收器接收在RxD上的串行數(shù)據(jù)并按規(guī)定的格式轉(zhuǎn)換為并行數(shù)據(jù),存放在接收數(shù)據(jù)緩沖器中。RxD異或門(mén)內(nèi)部CLKDB檢測(cè)奇偶檢驗(yàn)結(jié)果接收緩沖寄存器接收移位寄存器奇偶位停止位 1波特率工作過(guò)程:(異步方式)當(dāng)8251允許接收并準(zhǔn)備好接收數(shù)據(jù)時(shí),監(jiān)測(cè)RxD端,當(dāng)檢測(cè)到起始位(低電平)后,使用16倍率的內(nèi)部CLK,連續(xù)檢測(cè)8個(gè)0確認(rèn)。然后按波特率移位、檢測(cè)RXD,直至停止位。內(nèi)部刪除起始、奇偶、停止位接收緩沖寄存器后,使RxRDY為高,向CPU提出中斷
4、申請(qǐng)。1、接收器.5啟動(dòng)檢測(cè)確定已檢測(cè)到啟動(dòng)位采樣數(shù)據(jù)檢測(cè)16T啟動(dòng)位DATACLOCK(內(nèi)同步方式)在CPU發(fā)出允許接收命令后,8251一直檢測(cè)RxD,把接收到的每一位數(shù)據(jù)送入移位寄存器,與同步字符寄存器的內(nèi)容進(jìn)行比較。若兩者不相同,則繼續(xù)接收數(shù)據(jù)和進(jìn)行移位比較操作;若相等,則8251將SYNDET置1,表示已找到同步字符。找到同步字符后,利用時(shí)鐘采樣和移位RxD線上的數(shù)據(jù)位,按規(guī)定的位數(shù)送接收數(shù)據(jù)緩沖器,同時(shí)RxRDY信號(hào)。16T.6 內(nèi)部產(chǎn)生起始、奇偶檢驗(yàn)、停止位,按約定的波特率從TxD輸出。數(shù)據(jù)發(fā)送緩沖器波特率發(fā)送移位寄存器奇偶位停止位 1起始位異或門(mén)TXDSOUT0內(nèi)部CLKDB C
5、PU執(zhí)行輸出指令,并行數(shù)據(jù)發(fā)送緩沖器。工作過(guò)程發(fā)送緩沖器發(fā)送移位寄存器,向CPU提出中斷申請(qǐng)(TxRDY=1)。 當(dāng)數(shù)據(jù)全部輸出結(jié)束,在TXD發(fā)出連續(xù)低電平(TxE=1)。2、發(fā)送器.7RxD(Receiver Data)接收數(shù)據(jù):從RxD端 串行輸入數(shù)據(jù)輸入RxRDY(Receiver Ready)接收數(shù)據(jù)準(zhǔn)備好:表示接收數(shù)據(jù)緩沖器已收到一個(gè)字符數(shù)據(jù),CPU可采用中斷或查詢方式讀取數(shù)據(jù)( RxRDY=0)。SYNDET/BRKDET(Sync Detecte/Break Detece)同步檢測(cè)/斷點(diǎn)檢測(cè) 同步方式(同步檢測(cè)):在內(nèi)同步方式,當(dāng)8251檢測(cè)到同步字符, SYNDET輸出為高點(diǎn)平
6、,表明8251A已處于同步狀態(tài)。CPU執(zhí)行一次讀操作后, SYNDET自動(dòng)復(fù)位; 1、與接收有關(guān)的信號(hào)3、外部引腳.8 異步方式(斷點(diǎn)檢測(cè)):當(dāng)8251從RxD端連續(xù)收到兩個(gè)由全“0”組成的字符時(shí),該引腳輸出為高電平,表示當(dāng)前線路上無(wú)數(shù)據(jù)可讀,只有當(dāng)RxD端收到1個(gè)“1”信號(hào)或8251復(fù)位時(shí), BRKDET變?yōu)榈碗娖?。RxC( Receiver Clock)接收時(shí)鐘外同步方式: 當(dāng)SYNDET引腳有一個(gè)正跳變脈沖,8251在下一個(gè)接收時(shí)鐘的上升沿開(kāi)始接收字符,一旦達(dá)到同步, SYNDET引腳的高電平即可撤除。.9TxE( Transmitter Empty)發(fā)送器空: TxE=1表示發(fā)送移位寄
7、存器中已無(wú)數(shù)據(jù)可以向外部發(fā)送。此時(shí),由TxD輸出空閑位(同步字符)。當(dāng)8251從CPU接收到一個(gè)數(shù)據(jù)后,TxE=“0”。TxC( Transmitter Clock)發(fā)送時(shí)鐘TxD(Transmitter Data)發(fā)送數(shù)據(jù):將CPU送入的并行數(shù)據(jù)轉(zhuǎn)換成串行格式后,從TxD端輸出TxRDY( Transmitter Ready)發(fā)送數(shù)據(jù)準(zhǔn)備好: TxRDY=1表示發(fā)送數(shù)據(jù)緩沖器已準(zhǔn)備好從CPU接收一個(gè)字符數(shù)據(jù),CPU可采用中斷或查詢方式輸出一個(gè)數(shù)據(jù)( RxRDY=0)。2、與發(fā)送有關(guān)的信號(hào).104、8251讀寫(xiě)操作表CSRDWRC/D操 作0010CPU 讀 8251 數(shù)據(jù)0100CPU 向
8、8251 寫(xiě)數(shù)據(jù)0011CPU 讀 8251 狀態(tài)字0101CPU 向 8251 寫(xiě)控制字011*數(shù)據(jù)總線浮空1*數(shù)據(jù)總線浮空.115、調(diào)制解調(diào)器控制電路在遠(yuǎn)程通信時(shí),可用8251與調(diào)制解調(diào)器相連,經(jīng)電話線傳輸數(shù)據(jù)RxDTxDDSRDTRCTSRTSRxCTxCDBCBAB8251A 波特率發(fā)生器MODEM電話線接口電話線數(shù)據(jù)通信設(shè)備DCE數(shù)據(jù)終端設(shè)備DTEDTR(Data Terminal Read y)數(shù)據(jù)終端準(zhǔn)備好(通知數(shù)據(jù)裝置)DSR(Data Set Ready)數(shù)據(jù)裝置準(zhǔn)備好(回應(yīng)DTR信號(hào))RTS(Request to Send)數(shù)據(jù)終端向MODEM發(fā)出請(qǐng)求表示數(shù)據(jù)已準(zhǔn)備好需要發(fā)
9、送CTS(Clear to Send) MODEM回應(yīng)終端,若TxEN有效8251可以發(fā)送數(shù)據(jù),發(fā)送結(jié)束CTS=“1”。.126、8251A與CPU的連接.13三、8251A的初始化方式字:確定8251A的工作方式;(異步,波特率,字符長(zhǎng)度,奇偶校驗(yàn))命令字:控制8251A按方式字所規(guī)定的方式工作;(允許,禁止收發(fā)數(shù)據(jù),啟動(dòng)搜索同步字符,8251復(fù)位)狀態(tài)字:了解8251A的工作狀態(tài)。復(fù)位操作輸出方式字傳送完輸出第一個(gè)同步字符輸出第二個(gè)同步字符輸出命令字傳送數(shù)據(jù)輸入狀態(tài)字同步方式雙同步復(fù)位YNYYYNNN.14注:對(duì)8251的控制口進(jìn)行一次寫(xiě)入操作,需有寫(xiě)恢復(fù)時(shí)間。(寫(xiě)恢復(fù)時(shí)間一般為16個(gè)時(shí)鐘
10、周期)DELAY1: MOV CX,02HD0: LOOP D0 RET8251復(fù)位電源上電,8251自動(dòng)進(jìn)入復(fù)位狀態(tài),為了確保在送方式字和命令字之前8251正確復(fù)位,可向8251的控制口連續(xù)寫(xiě)入3個(gè)“0”,然后再寫(xiě)入一個(gè)復(fù)位控制字(40H),用軟件使8251可靠復(fù)位。.152、方式字 用于CPU對(duì)8251編程,決定8251 的通信的格式。如數(shù)據(jù)長(zhǎng)度、奇偶檢驗(yàn)、停止位等。01 異步110 異步1611 異步6400 字符長(zhǎng)度為5位01 字符長(zhǎng)度為6位10 字符長(zhǎng)度為7位11 字符長(zhǎng)度為8位 0 無(wú)奇偶校驗(yàn)位01 奇校驗(yàn)11 偶校驗(yàn)無(wú)效 001個(gè)停止位 011.5個(gè)停止位 102個(gè)停止位 11
11、S2 S1 EP PEN L2 L1 B2 B1異步方式.16與異步方式相同1 SYND為輸入(外同步)0 SYND為輸出(內(nèi)同步)1 單字符同步0 雙字符同步SCS ESD EP PEN L2 L1 0 0 同步方式.17EHIR RST ER SBRK RxE DTR TxEN使DTR引腳為低電平1 啟動(dòng)搜索同步字符1 允許發(fā)送0 禁止發(fā)送1 允許接收0 禁止接收1 使TxD線變低,發(fā)送空白字符0 正常工作1 內(nèi)部復(fù)位,使8251回到方式選擇格式1 使RST引腳輸出低電平1 使錯(cuò)誤標(biāo)志PE,OE,F(xiàn)E復(fù)位3. 命令字.184、狀態(tài)字 DSR SYNDET/BRKDETFE OE PETxE
12、 RxRDY TxRDY發(fā)送器準(zhǔn)備好奇偶錯(cuò)誤溢出錯(cuò)誤幀錯(cuò)誤(異步)同引腳含義數(shù)據(jù)裝置準(zhǔn)備好.191異步模式下的初始化程序舉例例題:例題:設(shè)8251A工作在異步模式,波特率系數(shù)(因子)為16,7個(gè)數(shù)據(jù)位/字符,偶校驗(yàn),2個(gè)停止位,發(fā)送、接收允許,設(shè)端口地址為00E2H和00E4H。完成初始化程序。MOV AL,0FAH ;送模式字MOV DX,00E2HOUT DX,AL ;異步方式,7位/字符,偶校驗(yàn),2個(gè)停止位MOV AL, 37H;設(shè)置控制字,使發(fā)送、接收允許,清出錯(cuò)標(biāo)志OUT DX, AL ;有效.202同步模式下初始化程序舉例 設(shè)端口地址為52H,采用內(nèi)同步方式,2個(gè)同步字符(設(shè)同步字
13、符為16H),偶校驗(yàn),7位數(shù)據(jù)位/字符。MOV AL,38H ;設(shè)置模式字,同步模式,用2個(gè)同步字符OUT 52H,AL ; 7個(gè)數(shù)據(jù)位,偶校驗(yàn)MOV AL,16H OUT 52H,AL ;送同步字符16HOUT 52H,AL MOV AL, 97H ;設(shè)置控制字,使發(fā)送器和接收器啟動(dòng)OUT 52H, AL.21六、六、8251A應(yīng)用舉例應(yīng)用舉例 輸入字符要求異步方式下,輸入50個(gè)字符,波特率因子為16,8位數(shù)據(jù),1位停止位。設(shè)數(shù)據(jù)端口地址為30H,控制端口地址為31H。 .22 MOV AL,40HOUT31H,AL;復(fù)位8251AMOV AL,50H;OUT31H,AL;寫(xiě)入異步方式選擇字
14、MOV AL,37HOUT 31H,AL;控制字寫(xiě)入奇地址PortEMOV DI,0;變址寄存器置“0”MOV CX,32H;送入計(jì)數(shù)初值50個(gè)字符INPUT:INAL,31H ;讀取狀態(tài)字TEST AL,02H ;測(cè)試狀態(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 ;測(cè)試有無(wú)三種錯(cuò)誤JNZ ERROR;有錯(cuò)轉(zhuǎn)出錯(cuò)處理LOOP INPUT;沒(méi)
15、錯(cuò),又不夠50個(gè)字符,轉(zhuǎn)InputJMP EXIT;如已輸入50個(gè)字符,則轉(zhuǎn)結(jié)束ERROR:EXIT:.23兩臺(tái)微型計(jì)算機(jī)通過(guò)8251A相互通信的舉例 .24分析:初始化程序由兩部分組成:是將一方定義為發(fā)送器。發(fā)送端CPU每查詢到TXRDY有效,則向8251A并行輸出一個(gè)字節(jié)數(shù)據(jù);是將對(duì)方定義為接收器。接收端CPU每查詢到RXRDY有效,則從8251A輸入一個(gè)字節(jié)數(shù)據(jù),一直進(jìn)行到全部數(shù)據(jù)傳送完畢為止。.25發(fā)送端初始化程序與發(fā)送控制程序STT: MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL ;將825lA定義為異步方式,8位數(shù)據(jù),1位停止位MOV AL,11H ;
16、偶校驗(yàn),取波特率系數(shù)為64,允許發(fā)送。OUT DX,ALMOV DI,發(fā)送數(shù)據(jù)塊首地址 ;設(shè)置地址指針MOV CX,發(fā)送數(shù)據(jù)塊字節(jié)數(shù) ;設(shè)置計(jì)數(shù)器初值NEXT:MOV DX,8251A控制端口 IN AL,DX AND AL,01H ;查詢TXRDY有效否?JZ NEXT ;無(wú)效則等待MOV DX,8251A數(shù)據(jù)端口、 MOV AL,DI; ;向8251A輸出一個(gè)字節(jié)數(shù)據(jù)。OUT DX,AL INC DI ;修改地址指針 LOOP NEXT ;未傳輸完,則繼續(xù)下一個(gè)HLT.26接收端初始化程序和接收控制程序 SRR:MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL ;
17、初始化8251A,異步方式,8位數(shù)據(jù)MOV AL, 14H ;1位停止位,偶校驗(yàn),波特率系數(shù)64,允許接收。OUT DX,AL MOV DI,接收數(shù)據(jù)塊首地址 ;設(shè)置地址指針MOV CX,接收數(shù)據(jù)塊字節(jié)數(shù);設(shè)置計(jì)數(shù)器初值COMT:MOV DX,8251A控制端口 IN AL,DX ROR AL,1 ;查詢RXRDY有效否?ROR AL,1 JNC COMT ;無(wú)效則等待ROR AL,1 ROR AL,1 ;有效時(shí),進(jìn)一步查詢是否有奇偶校驗(yàn)錯(cuò)。JC ERR ;有錯(cuò)時(shí),轉(zhuǎn)出錯(cuò)處理MOV DX,8251A數(shù)據(jù)端口 IN AL,DX ;無(wú)錯(cuò)時(shí),輸入一個(gè)字節(jié)到接收數(shù)據(jù)塊。MOV DI,AL INC DI
18、 ;修改地址指針LOOP COMT ;未傳輸完,則繼續(xù)下一個(gè)HLTERR:CALL ERR-OUT.27練習(xí).28例:8251工作于異步方式,波特率系數(shù)為16,7位數(shù)據(jù)位,1個(gè)停止位,偶校驗(yàn),控制口地址3F2H。MOV DX,3F2HMOV AL,00HOUT DX,ALCALL DELAY1OUT DX,ALCALL DELAY1OUT DX,ALCALL DELAY1MOV AL,40H ;復(fù)位字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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 姐妹財(cái)產(chǎn)公證協(xié)議書(shū)
- 意向協(xié)議書(shū)范本代理
- 農(nóng)業(yè)種植合伙協(xié)議書(shū)
- 浴室承包協(xié)議書(shū)范本
- 政府資金補(bǔ)助協(xié)議書(shū)
- 活動(dòng)策劃經(jīng)費(fèi)協(xié)議書(shū)
- 家養(yǎng)寵物出售協(xié)議書(shū)
- 美術(shù)新店轉(zhuǎn)讓協(xié)議書(shū)
- 院校合作共建協(xié)議書(shū)
- 石材承包協(xié)議書(shū)范本
- 提高教學(xué)管理質(zhì)量校長(zhǎng)講話:“2574”工作實(shí)施思路!即兩大抓手五項(xiàng)重點(diǎn)任務(wù)七個(gè)落實(shí)環(huán)節(jié)四個(gè)質(zhì)量目標(biāo)
- 清理報(bào)廢漁船合同范本
- 《基于西門(mén)子S7-1200PLC的四層電梯控制系統(tǒng)設(shè)計(jì)》8900字
- 生產(chǎn)安全事故應(yīng)急演練評(píng)估報(bào)告模版
- 退伍軍人心理培訓(xùn)課件
- 2025年吉林鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)匯編
- “輕松前行壓力不再”-高中生壓力管理與情緒調(diào)節(jié) 課件-2024-2025學(xué)年高二下學(xué)期壓力管理與情緒調(diào)節(jié)班會(huì)
- 開(kāi)源社區(qū)治理模型-深度研究
- Unit5Amazing nature 說(shuō)課稿(6課時(shí)) -2024-2025學(xué)年外研版(2024)英語(yǔ)七年級(jí)下冊(cè)
- GB/T 44927-2024知識(shí)管理體系要求
- 2025年江蘇無(wú)錫市第九人民醫(yī)院招考聘用高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論