芯片PPT精品文檔_第1頁(yè)
芯片PPT精品文檔_第2頁(yè)
芯片PPT精品文檔_第3頁(yè)
芯片PPT精品文檔_第4頁(yè)
芯片PPT精品文檔_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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è)同步字符或由外部給出同步信號(hào)

2、。允許同步方式下增加奇/偶校驗(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è)電路,用戶可通過輸入狀態(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讀 / 寫邏輯RESETCLKRDWRC/DCSDSRDTRCTSRTS

3、發(fā)送控制電路接收緩沖器接收控制電路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET狀態(tài)緩沖器、接收數(shù)據(jù)緩沖器、數(shù)據(jù)/命令緩沖器4作用:接收器接收在RxD上的串行數(shù)據(jù)并按規(guī)定的格式轉(zhuǎn)換為并行數(shù)據(jù),存放在接收數(shù)據(jù)緩沖器中。RxD異或門內(nèi)部CLKDB檢測(cè)奇偶檢驗(yàn)結(jié)果接收緩沖寄存器接收移位寄存器奇偶位停止位 1波特率工作過程:(異步方式)當(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提出中斷申請(qǐng)。1

4、、接收器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)。16T6 內(nèi)部產(chǎn)生起始、奇偶檢驗(yàn)、停止位,按約定的波特率從TxD輸出。數(shù)據(jù)發(fā)送緩沖器波特率發(fā)送移位寄存器奇偶位停止位 1起始位異或門TXDSOUT0內(nèi)部CLKDB CPU執(zhí)行輸出

5、指令,并行數(shù)據(jù)發(fā)送緩沖器。工作過程發(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)平,表明8251

6、A已處于同步狀態(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í)鐘的上升沿開始接收字符,一旦達(dá)到同步, SYNDET引腳的高電平即可撤除。9TxE( Transmitter Empty)發(fā)送器空: TxE=1表示發(fā)送移位寄存器中已無(wú)數(shù)據(jù)可以

7、向外部發(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讀寫操作表CSRDWRC/D操 作0010CPU 讀 8251 數(shù)據(jù)0100CPU 向 8251 寫數(shù)據(jù)00

8、11CPU 讀 8251 狀態(tài)字0101CPU 向 8251 寫控制字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ā)送CTS(Clear

9、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ù)位YNYYYNNN14注:對(duì)8251的控制口進(jìn)行一次寫入操作,需有寫恢復(fù)時(shí)間。(寫恢復(fù)時(shí)間一般為16個(gè)時(shí)鐘周期)DELAY1: MOV

10、 CX,02HD0: LOOP D0 RET8251復(fù)位電源上電,8251自動(dòng)進(jìn)入復(fù)位狀態(tài),為了確保在送方式字和命令字之前8251正確復(fù)位,可向8251的控制口連續(xù)寫入3個(gè)“0”,然后再寫入一個(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 S2 S1 EP PEN L2

11、 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 RxRDY TxRDY發(fā)送器準(zhǔn)備好

12、奇偶錯(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è)同步字符為16H),偶校驗(yàn),7位數(shù)據(jù)位/字符。

13、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, AL21六、六、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;寫入異步方式選擇字MOV AL,37HOUT 31H,AL;控

14、制字寫入奇地址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;沒錯(cuò),又不夠50個(gè)字符,轉(zhuǎn)InputJMP E

15、XIT;如已輸入50個(gè)字符,則轉(zhuǎn)結(jié)束ERROR:EXIT:23兩臺(tái)微型計(jì)算機(jī)通過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 ;偶校驗(yàn),取波特率系數(shù)為64,允許發(fā)送。OUT DX

16、,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è)HLT26接收端初始化程序和接收控制程序 SRR:MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL ;初始化8251A,異步方式,8位數(shù)據(jù)MOV AL,

17、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 ;修改地址指針LOOP COMT ;未傳輸完,則繼

18、續(xù)下一個(gè)HLTERR:CALL ERR-OUT27練習(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,AL29BEG-T: MOV DX,1F2H MOV AL,7AH OUT

19、 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ā)送完YYNN30BEG-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ú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論