8251復(fù)習(xí)資料_第1頁(yè)
8251復(fù)習(xí)資料_第2頁(yè)
8251復(fù)習(xí)資料_第3頁(yè)
8251復(fù)習(xí)資料_第4頁(yè)
8251復(fù)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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、 8251A 是通用同步異步接收發(fā)送器,具有獨(dú)立的發(fā)送器和接收器,能以單工、半雙工和全雙工三種方式通信,可用同步和異步方式傳輸信息。通過初始化編程設(shè)置串行通信接口芯片的工作方式、波特因子、數(shù)據(jù)幀格式及8251A的工作狀態(tài)。1)與CPU連接信號(hào)D0D7(數(shù)據(jù)線):接至系統(tǒng)的D7D0,用于傳數(shù)據(jù)、控制和狀態(tài)信息。RD、WR(讀寫控制):接至IOR、IOW,控制 CPU與 I/O端口間的數(shù)據(jù)、命令和狀態(tài)信息的寫入與讀出。CS:(片選信號(hào)):可接至系統(tǒng)的片選譯碼器 CS=0,CPU可讀寫8251.C/D(地址線):可接系統(tǒng)的A0。 =1:CPU 訪問命令寄存器或狀態(tài)寄存器 =0:CPU訪問數(shù)據(jù)寄存器(

2、2)狀態(tài)信號(hào):供CPU查詢或向CPU申請(qǐng)。TxRDY:發(fā)送器準(zhǔn)備好。=1表示發(fā)送器已準(zhǔn)備好,通知CPU可以向8251發(fā)送數(shù)據(jù)。CPU寫入一個(gè)發(fā)送字符后, TxRDY=0TxRDY可用于查詢的條件,CPU可從狀態(tài)字的D0位讀出,判斷后可決定是否向8251寫入發(fā)送字符。TxRDY也可以用作中斷請(qǐng)求信號(hào),=1表示請(qǐng)求CPU向8251寫入發(fā)送的數(shù)據(jù)。RxRDY:接收器準(zhǔn)備好,=1表示 8251A已從它的串行輸入端接受了一個(gè)字符,通知CPU取走。CPU取走接收的字符后RxRDY=0。RxRDY可用于查詢的條件,CPU可從狀態(tài)字的D1位讀出,判斷后可決定是否讀8251接收的字符。RxRDY也可以用作中斷請(qǐng)

3、求信號(hào),=1表示請(qǐng)求CPU讀出8251接收的數(shù)據(jù)。TxE:發(fā)送器空,=1指示發(fā)生器中的數(shù)據(jù)已經(jīng)發(fā)送,在半雙工方式時(shí)可用于數(shù)據(jù)傳送方向的切換控制,SYNDET:同步字符檢出/間斷信號(hào)檢出BD。同步方式設(shè)為內(nèi)同步:輸出,表示8251檢出了同步字符。同步方式設(shè)為外同步:輸入,表示外部檢出同步字符后通知8251。異步方式時(shí)當(dāng)8251檢出間斷信號(hào)BD后,輸出為1.3)時(shí)鐘信號(hào)TxC:發(fā)送器時(shí)鐘,由外部波特率時(shí)鐘發(fā)生器提供。RxC:接收時(shí)鐘,由外部波特率時(shí)鐘發(fā)生器提供。 TxC、RxC用于控制8251的異步通信過程。 收發(fā)時(shí)鐘的頻率=K×波特率CLK:工作時(shí)鐘,由外部提供。 在同步方式下,CLK

4、TxC、RxC 30倍 異步下為45倍。(4)面向調(diào)制解調(diào)器信號(hào)DTR:數(shù)據(jù)終端準(zhǔn)備好輸出,CPU寫8251命令寄存器D1=1,反向后DTR=0DCE,表示8251A準(zhǔn)備好。DSR:數(shù)據(jù)裝置準(zhǔn)備好,DCE就緒后置DSR=0,反向后8251狀態(tài)寄存器D7=1.CPU讀取后可知DCE(調(diào)制解調(diào)器)已準(zhǔn)備好RTS:請(qǐng)求發(fā)送,CPU需要發(fā)送時(shí),可設(shè)置工作命令寄存器的D5=1,反向后RTS=0 DCE(MODEM),表示8251A需要發(fā)送。 CTS:允許傳送,是DCE(MODEM)對(duì)8251A RTS信號(hào)的響應(yīng) , CTS=0表示8251A可以發(fā)送數(shù)據(jù)。TxD:發(fā)送數(shù)據(jù)線RxD:接收數(shù)據(jù)線(1)數(shù)據(jù)總線

5、緩沖器:負(fù)責(zé)與系統(tǒng)總線D7D0連接,可以傳送CPU寫8251的方式字和命令字,也可以傳送8251的狀態(tài)到CPU。(2)發(fā)送器:將待發(fā)送的并行數(shù)據(jù)轉(zhuǎn)換成所要求的幀格式并加上校驗(yàn)位,然后在TxC的作用下,由TxD引腳一位一位地串行發(fā)送出去。發(fā)送一幀后,TxRDY=1,通知CPU發(fā)下一個(gè)數(shù)據(jù)。(3)接收器:在接收時(shí)鐘RxC作用下接收RxD引腳上的幀格式化串行數(shù)據(jù)并把轉(zhuǎn)換為并行數(shù)據(jù)。同時(shí)將檢錯(cuò)信息存于狀態(tài)寄存器,供CPU處理。若無錯(cuò)時(shí),將并行數(shù)據(jù)存入數(shù)據(jù)緩沖器,RxRDY=1,通知CPU取數(shù)。D1D0:設(shè)置8251的同步方式。 =00 8251為同步方式。 00 8251為異步方式,在異步方式時(shí):D1

6、D0=01設(shè)置K=1 D1D0=10 設(shè)置K=16 D1D0=11設(shè)置K=64D3D2:設(shè)定字符中的數(shù)據(jù)位數(shù)。D3D2=00 數(shù)據(jù)為5位, D3D2=01 數(shù)據(jù)為6位D3D2=10 數(shù)據(jù)為7位, D3D2=11 數(shù)據(jù)為8位D4:設(shè)置是否要用奇偶校驗(yàn)位。D5:設(shè)置要用奇或偶校驗(yàn)。D4=0 不用奇偶校驗(yàn)位(此時(shí)D5無效)D4=1 要用奇偶校驗(yàn)位,D5=0 為奇校驗(yàn) D5=1 為偶校驗(yàn)D7D6:在同步方式時(shí)用于同步字符方式的設(shè)置。D7D6=×0 8251設(shè)為內(nèi)同步D7D6=×1 8251設(shè)為外同步D7D6=0× 8251設(shè)為雙同步字符方式D7D6=1× 825

7、1設(shè)為單同步字符方式在異步方式時(shí)用于停止位方式的設(shè)置。D7D6=00 無效D7D6=01 設(shè)為1位停止位D7D6=10 設(shè)為1.5位停止位D7D6=11 設(shè)為2位停止位例:在某異步通信中,數(shù)據(jù)格式采用8位數(shù)據(jù)位,1位起始位,2位停止位,偶校驗(yàn),波特因子為 64,端口地址為 210H和211H,將方式命令字寫入端口中。程序?yàn)椋篗OV AL , 11111111B MOV DX , 211H OUT DX , AL例:允許8251A的發(fā)送器和接收器工作,并實(shí)現(xiàn)差錯(cuò)復(fù)位的功能。 寫出8251A的工作命令字D0:設(shè)置允許發(fā)送TXEN。 D0=1 允許8251做發(fā)送操作。 D0=0 禁止8251做發(fā)送操

8、作。相當(dāng)于發(fā)送中斷的屏蔽。D1:數(shù)據(jù)終端準(zhǔn)備就緒DTR. CPU設(shè)8251的D1=1反向=0 引腳DTR=0 MODEM,表示DTE就緒。D2:設(shè)置允許接收RXE。 D2=1 允許8251做接收操作。 D2=0 禁止8251做接收操作。相當(dāng)于接收中斷的屏蔽D3:設(shè)置是否發(fā)送中止字符SBRK.D3=1要發(fā)送中止字符,強(qiáng)迫TXD為低電平,輸出連續(xù)的空號(hào)(0)。D3=0不發(fā)送中止字符,出現(xiàn)空閑時(shí)TXD輸出連續(xù)的傳號(hào)(1)。D4:設(shè)置錯(cuò)誤標(biāo)志復(fù)位ER。D4=1設(shè)置錯(cuò)誤標(biāo)志復(fù)位ER有效,清除出錯(cuò)標(biāo)志(PE/OE/FE)復(fù)位,在每次接收之前需要設(shè)置為清除,以便識(shí)別新的出錯(cuò)情況。D5:設(shè)置請(qǐng)求發(fā)送RTS.C

9、PU設(shè)8251的D5=1反向=0 引腳RTS=0 MODEM,表示請(qǐng)求發(fā)送。D6:設(shè)置內(nèi)部復(fù)位命令I(lǐng)R。CPU設(shè)8251的D6=1,8251進(jìn)入內(nèi)部復(fù)位狀態(tài),清除原先設(shè)置的通信方式,等待CPU重新初始化,D6=1后必須對(duì)8251重新做初始化。D6=0,該字為正常通信的命令字。D7:在同步方式時(shí)啟動(dòng)搜索同步字符。例:設(shè)置對(duì)8251做內(nèi)部復(fù)位,設(shè)端口地址為308H(數(shù)據(jù)口)、309H(控制口)程序?yàn)椋篗OV DX , 309H MOV AL ,01000000B ; D6=1 OUT DX , AL例:檢查8251A是否接收到一個(gè)字符,若接收到,存于BL寄存器。 寫出完成上述功能的程序段(210H

10、、211H)D0(TXRDY):發(fā)送器準(zhǔn)備好狀態(tài)。當(dāng)發(fā)送器空的時(shí)候,D0=1,CPU在查詢方式時(shí)可以通過查詢D0的狀態(tài)決定是否可以發(fā)送數(shù)據(jù)。D0與引腳TXRDY功能相同,但產(chǎn)生的條件稍微有點(diǎn)不同。引腳TXRDY可用作中斷請(qǐng)求信號(hào),=1表示請(qǐng)求CPU向8251寫入需要發(fā)送的數(shù)據(jù)。D1(RXRDY):接收器準(zhǔn)備好,=1表示 8251A已從它的串行輸入端接受了一個(gè)字符,RxRDY可用于查詢的條件,CPU可從狀態(tài)字的D1位讀出,判斷后可決定是否讀8251接收的字符。D1與引腳RxRDY功能相同,但引腳用作中斷請(qǐng)求信號(hào),=1表示請(qǐng)求CPU讀出8251接收的數(shù)據(jù)。D2(TXE):發(fā)送器空狀態(tài),與引腳功能相

11、同。D3(PE):奇偶校驗(yàn)錯(cuò)狀態(tài)。 當(dāng)8251接收的通信字符出現(xiàn)丟1時(shí),D3=1.D4(OE):溢出錯(cuò)狀態(tài)。 當(dāng)8251接收了通信字符而上一次接收的數(shù)據(jù)CPU還沒有取走,出現(xiàn)覆蓋錯(cuò)時(shí)出現(xiàn)D4=1。D5(FE):幀錯(cuò)狀態(tài)。 當(dāng)8251接收的通信字符出現(xiàn)無停止位1時(shí),D5=1。 D5D4D3的出錯(cuò)狀態(tài)在8251接收前必須用命令字D4=1清除,在8251接收后CPU可讀取D5D4D3的出錯(cuò)狀態(tài),發(fā)現(xiàn)有錯(cuò)時(shí)需要做相應(yīng)的處理。D6(SYNDET):8251工作在同步方式時(shí),當(dāng)檢出同步字符后,D6=1,可供CPU檢測(cè)。D7(DSR):DCE就緒狀態(tài)。DCE就緒后置8051引腳DSR=0,反向后8251狀態(tài)

12、寄存器D7=1.CPU讀取后可知DCE(調(diào)制解調(diào)器)已準(zhǔn)備好。例:檢查8251A是否接收到一個(gè)字符,若接收到, 存于BL寄存器。寫出完成上述功能的程序段SCAN: IN AL ,211H TEST AL ,02H JZ SCAN IN AL , 210H MOV BL ,AL例:CPU檢測(cè)TXRDY是否為1. L: MOV DX , 309H ; 指向狀態(tài)口 IN AL , DX ;讀狀態(tài)字 TEST AL , 00000001B ;測(cè)D0 JZ L ; D0=0,轉(zhuǎn)L繼續(xù)測(cè) .; D0=1,發(fā)送器準(zhǔn)備好例:在接收程序中檢查出錯(cuò)信息。 L: MOV DX , 309H ; 指向狀態(tài)口 IN A

13、L , DX ;讀狀態(tài)字 TEST AL , 00111000B ;測(cè)D5 D4 D3 JNZ ERROR ; D5D4D3 0,轉(zhuǎn)出錯(cuò)處理 .; D5 D4 D3 =0,無錯(cuò)8251A初始化編程步驟:1)向控制口寫入40H,使芯片內(nèi)部復(fù)位;(2)向控制口寫入方式命令字,設(shè)工作方式、波特因子和幀數(shù)據(jù)結(jié)構(gòu);(3)向控制口寫入工作命令字。(4)讀取8251狀態(tài),與命令字結(jié)合控制數(shù)據(jù)收發(fā)。(查詢方式上圖所示電路利用8251實(shí)現(xiàn)CPU與 I/O 的操作,下面程序完成的功能是:連續(xù)地從RS-232C接口讀取串行字符,將接收的字符取反,然后將其送回RS-232C接口。接收和發(fā)送的每個(gè)字符的長(zhǎng)度為8位,使用

14、2個(gè)停止位,無奇偶校驗(yàn)。INT8251: MOV AL , 01000000 ;寫工作命令字 MOV DX, 211H OUT DX , AL;復(fù)位 MOV AL , 11001110 ;寫方式命令字 OUT DX, AL; 2個(gè)停止位,8數(shù)據(jù),K=16 MOV AL,00010101 ;寫工作命令字 OUT DX,AL; CHRRX: IN AL , DX ;檢查是否接收到一個(gè)字符 ROR AL , 1 ROR AL , 1;RXRDYCF JNC CHKRX; RXRDY=0 未收到,轉(zhuǎn)CHKRXMOV DX,210H ;RXRDY=1 已收到,數(shù)據(jù)口 IN AL , DX ;讀接收的數(shù)據(jù)

15、 NOT AL ;把接收到的字符求反 MOV BL , AL ;暫存CHKTX: MOV DX,211H ;指向控制口 IN AL , DX ;檢查是否能發(fā)送字符 ROR AL , 1 ; TXRDYCF JNC CHKTX ; TXRDY=0,不能發(fā)送返回 MOV AL , BL ; TXRDY=1發(fā)送已求反的字符 MOV DX,210H OUT DX, AL ;發(fā)送的字符送數(shù)據(jù)口 JMP CHKRX1)要求甲發(fā)乙收,2DH個(gè)字節(jié),異步方式,8位數(shù)據(jù)位,2位停止位,無校驗(yàn),波特因子64,查詢方式,零MODEM連接,甲機(jī)首址SRC,乙機(jī)首址DST,8251A地址308H、309H(2)硬件連接

16、(3)軟件編程甲、乙機(jī)方式命令:0CFH =11001111 2個(gè)停止位,不校驗(yàn),8個(gè)數(shù)據(jù)位,K=64甲機(jī)發(fā)送工作命令:23H=00100011RTS=1(請(qǐng)求發(fā)送)DTR=1(DTE就緒)TXEN=1(發(fā)送允許)乙機(jī)接收工作命令:16H=00010110ER=1(復(fù)位出錯(cuò)標(biāo)志)RXE=1(允許接收) DTR=1(DTE就緒)(甲機(jī)發(fā)送程序段)MOV DX,309H MOV AL,01H ;空操作OUT DX,AL MOV AL,40H 內(nèi)部復(fù)位OUT DX,AL MOV AL,0CFH ;方式命令OUT DX,AL MOV AL,23H 工作命令OUT DX,AL LEA SI,SRC ;指

17、向發(fā)送緩沖區(qū) MOV CX,2DH ;數(shù)據(jù)個(gè)數(shù)L:MOV DX,309H ;指向控制口 IN AL,DX ;讀狀態(tài)字 AND AL,01H ;測(cè)TxRDY JZ L ; TxRDY=0,返回等待 MOV DX,308H ;TxRDY=1,發(fā)送,指向數(shù)據(jù)口 MOV AL,SI;取發(fā)送數(shù)據(jù) OUT DX,AL;送數(shù)據(jù)口輸出 INC SI ;指向下一單元 LOOP L ;循環(huán) ;發(fā)送完畢;以下為乙機(jī)接收程序段 MOV DX,309H ;指向控制口 MOV AL,01H ;空操作 OUT DX,AL MOV AL,40H ;內(nèi)部復(fù)位 OUT DX,AL MOV AL,0CFH ;寫入方式命令 OUT

18、DX,AL MOV AL,16H;寫入工作命令字 OUT DX,AL LEA DI,DST ;指向接收緩沖區(qū) MOV CX,2DH ;數(shù)據(jù)個(gè)數(shù) L:MOV DX,309H ;控制口 IN AL,DX ;讀狀態(tài)字 TEST AL,38H;測(cè)出錯(cuò)標(biāo)志 JNZ ERR ;出錯(cuò),轉(zhuǎn)錯(cuò)誤處理 AND AL,02H ;測(cè)RxRDY JNZ L ;RxRDY=0,未收到字符,等待 MOV DX,308H ; RxRDY=1指向數(shù)據(jù)口 IN AL,DX ;接收 MOV DI,AL ;存入輸入緩沖區(qū) INC DI ;指向下一單元 LOOP L ;循環(huán);接收完畢START: MOV AX,DATA MOV DS,AX MOV DX,20BH ; MOV AL,96H OUT DX,AL ( 設(shè)置8253計(jì)數(shù)器2工作方式,計(jì)數(shù)器0工作在方式3, 只寫計(jì)數(shù)初始值低8位,二進(jìn)制計(jì)數(shù)。MOV DX , 20AH ;( MOV AL ,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論