第八章 串行輸入輸出接口_第1頁(yè)
第八章 串行輸入輸出接口_第2頁(yè)
第八章 串行輸入輸出接口_第3頁(yè)
第八章 串行輸入輸出接口_第4頁(yè)
第八章 串行輸入輸出接口_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第八章第八章 串行輸入串行輸入/ /輸出接口輸出接口 8.1 概述二、二、 串行通信的實(shí)現(xiàn)串行通信的實(shí)現(xiàn)計(jì)算機(jī)外設(shè)TXDRXDTXDRXDD QD QCLKD QCLKD0D6并入串出移位寄存器D QD QCLKD QCLKD7D1并出串入移位寄存器 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 D7D0D7 D6 D5 D4 D3 D2 D1 D0同步脈沖波特率波特率1/波特波特率因子率因子接收時(shí)鐘接收時(shí)鐘12001619200 12008.2 8.2 串行通信的基本技術(shù)串行通信的基本技術(shù)a. 奇偶錯(cuò)誤奇偶錯(cuò)誤如上所述,在接收時(shí),

2、如上所述,在接收時(shí),UARTUART檢查接收到的每一個(gè)字符的檢查接收到的每一個(gè)字符的“1 1”的個(gè)數(shù)這個(gè)標(biāo)志,發(fā)出奇偶校驗(yàn)出錯(cuò)信息。的個(gè)數(shù)這個(gè)標(biāo)志,發(fā)出奇偶校驗(yàn)出錯(cuò)信息。b. 幀錯(cuò)誤幀錯(cuò)誤若接收到的字符格式不符合規(guī)定(如缺少停止位等),則置位該標(biāo)志,發(fā)出幀出錯(cuò)信息。c. 丟失丟失(溢出溢出)錯(cuò)誤錯(cuò)誤UART是一種雙緩沖器結(jié)構(gòu)。例如,在接收時(shí),接收的數(shù)據(jù)先由移位寄存器移位,把串行數(shù)據(jù)變成并行數(shù)據(jù),然后送到接收數(shù)據(jù)寄存器,由輸入指令將數(shù)據(jù)送到CPU中。由于數(shù)據(jù)送到接收數(shù)據(jù)寄存器,所以即使CPU還沒(méi)取走這個(gè)數(shù)據(jù),UART也可以接收另一個(gè)新的字符。但若UABT接收到第二個(gè)字符的停止位,且要把第二個(gè)字符

3、傳送到接收數(shù)據(jù)寄存器時(shí),CPU還沒(méi)取走上一個(gè)數(shù)據(jù),于是第一個(gè)數(shù)據(jù)會(huì)被丟失。如果UART出現(xiàn)這種情況就置位丟失(溢出)標(biāo)志,發(fā)出丟失出錯(cuò)信息。 8.3 8.3 可編程串行通訊接口芯片可編程串行通訊接口芯片8251A8251A簡(jiǎn)介簡(jiǎn)介 發(fā)送和接發(fā)送和接收電路收電路調(diào)制解調(diào)調(diào)制解調(diào)控制電路控制電路 總線接總線接口部分口部分 1發(fā)送器發(fā)送器 a. 數(shù)據(jù)輸出線數(shù)據(jù)輸出線TxD b. 發(fā)送時(shí)鐘發(fā)送時(shí)鐘 TxC c. 發(fā)送器準(zhǔn)備好發(fā)送器準(zhǔn)備好 TxRDY d. 發(fā)送器空信號(hào)發(fā)送器空信號(hào) TxEMPY 過(guò)程過(guò)程 TxRDY有效有效CPU寫數(shù)據(jù)到寫數(shù)據(jù)到82518251發(fā)數(shù)據(jù)發(fā)數(shù)據(jù) 發(fā)送完畢,發(fā)送完畢,TxEM

4、PY有效有效2接收器接收器 a. 數(shù)據(jù)輸入線數(shù)據(jù)輸入線RxD b. 接收時(shí)鐘接收時(shí)鐘 RxC c. 接收器準(zhǔn)備好接收器準(zhǔn)備好 RxRDY 過(guò)程過(guò)程 8251接數(shù)據(jù)接數(shù)據(jù) RxRDY有效有效 CPU讀讀82513調(diào)制解調(diào)控制電路調(diào)制解調(diào)控制電路 /DTR/DTR數(shù)據(jù)終端準(zhǔn)備好信號(hào)。是由數(shù)據(jù)終端準(zhǔn)備好信號(hào)。是由825IA825IA送往送往外設(shè)的,表示外設(shè)的,表示CPUCPU當(dāng)前已經(jīng)準(zhǔn)備就緒。當(dāng)前已經(jīng)準(zhǔn)備就緒。 /DSR/DSR數(shù)據(jù)設(shè)備準(zhǔn)備好。是外設(shè)送往數(shù)據(jù)設(shè)備準(zhǔn)備好。是外設(shè)送往825lA825lA的,的,表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)。表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)。8251Modem/DTR/DTR/D

5、SR/DSR /RTS/RTS請(qǐng)求發(fā)送信號(hào)。是請(qǐng)求發(fā)送信號(hào)。是8251A8251A送往外設(shè)的,送往外設(shè)的,表示表示C CP PU U已經(jīng)準(zhǔn)備好發(fā)送。已經(jīng)準(zhǔn)備好發(fā)送。 /CTS/CTS清除請(qǐng)求發(fā)送信號(hào)。由外設(shè)送往清除請(qǐng)求發(fā)送信號(hào)。由外設(shè)送往825lA825lA的,當(dāng)為低電平時(shí),允許的,當(dāng)為低電平時(shí),允許825lA825lA執(zhí)行發(fā)送操作。執(zhí)行發(fā)送操作。 8251Modem/RTS/RTS/CTS/CTS4讀讀/寫控制電路寫控制電路 三、8251編程 三、8251編程 RxCTxCOUT CLK GATE+5v1MHz82518253如果波特率為如果波特率為1200,波特,波特率因子為率因子為16,

6、問(wèn)計(jì)數(shù)初值?,問(wèn)計(jì)數(shù)初值?1200162. 控制寄存器的格式控制寄存器的格式 接收接收發(fā)射發(fā)射3. 狀態(tài)寄存器的格式(狀態(tài)控制字狀態(tài)寄存器的格式(狀態(tài)控制字(讀)(讀) 四、舉例RxCTxCOUT CLK GATE+5v1.8432M 82518253解:解:1 1、82538253工作方式及計(jì)數(shù)初值工作方式及計(jì)數(shù)初值工作方式工作方式 mode3mode382538253輸出頻率:輸出頻率: foutfout96009600* *16=153600=153.6K16=153600=153.6K fclk fclk=1M N=1000/153.6=6.51=1M N=1000/153.6=6.5

7、1( (不能用!不能用!) ) fclk fclk=1.8432M N=12=1.8432M N=122 2、82518251工作方式工作方式方式選擇控制字方式選擇控制字0 1 0 0 1 1 1 0 4EH操作命令控制字操作命令控制字0 0 1 1 0 1 1 1 37H3 3、程序、程序 82518251初始化設(shè)置:初始化設(shè)置: a a、先對(duì)、先對(duì)825lA825lA軟件復(fù)位,一般采用先送軟件復(fù)位,一般采用先送3 3個(gè)個(gè)0 0, 再送再送1 1個(gè)個(gè)40H40H的方法,這也是的方法,這也是8251A8251A的編程的編程 約定,約定,40H40H可以看成是使可以看成是使8251A8251A執(zhí)

8、行復(fù)位操執(zhí)行復(fù)位操 作的實(shí)際代碼。作的實(shí)際代碼。 b b、對(duì)、對(duì)8251A8251A進(jìn)行工作方式及操作命令設(shè)置進(jìn)行工作方式及操作命令設(shè)置MOV AL,00H MOV AL,00H ;復(fù)位;復(fù)位82518251OUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYOUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYOUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYMOV AL,40HMOV AL,40HOUT 92H,ALOUT 92H,ALCALL DELAY CALL DELAY ;等待;等待82518251

9、復(fù)位復(fù)位MOV AL,4EH MOV AL,4EH ;置工作方式;置工作方式OUT 92H,AL OUT 92H,AL MOV AL,37H MOV AL,37H ;操作命令操作命令OUT 92H,AL OUT 92H,AL 發(fā)送:發(fā)送:SENDDATSENDDATPROCPROC;DL:DL:要發(fā)送的數(shù)據(jù)要發(fā)送的數(shù)據(jù)CHKTXR:CHKTXR:IN ALIN AL,92H92H;輸入;輸入狀態(tài)字狀態(tài)字AND ALAND AL,01H01H;查;查TXRDYTXRDYJZ CHKTXRJZ CHKTXRMOV AL,DLMOV AL,DLOUT 90HOUT 90H,ALAL;發(fā)送;發(fā)送RET

10、RETSENDDATSENDDATENDPENDP接收接收:RECIDATRECIDATPROCPROC;AL:AL:接收的數(shù)據(jù)接收的數(shù)據(jù)CHKRXD:CHKRXD:IN ALIN AL,92H92H;輸入;輸入狀態(tài)字狀態(tài)字AND ALAND AL 02H02H;查;查RXRDYRXRDY?JZ CHKRXDJZ CHKRXDIN 90HIN 90H,ALAL;發(fā)送;發(fā)送RETRETRECIDATRECIDATENDPENDP五、8250和16550速度 8250:509600 16550:115200RxCTxCOUT CLK GATE+5v1.8432M 82518253A0A1A2數(shù)據(jù)口

11、數(shù)據(jù)口/波波特率因子特率因子低字節(jié)低字節(jié)波特率因波特率因子高字節(jié)子高字節(jié)線路控制線路控制寄存器寄存器線路狀態(tài)線路狀態(tài)寄存器寄存器16550單元386系統(tǒng)總線XD7XD6XD5XD4XD3XD2XD1XD0XA3XA2XA1IOW#IOR#IOY0D7D6D5D4D3D2D1D0A2A1A0WRRDCSRS-23216550單元RS-232D7D6D5D4D3D2D1D0A2A1A0WRRDCSXD7XD6XD5XD4XD3XD2XD1XD0XA3XA2XA1IOW#IOR#IOY0發(fā)送機(jī)接收機(jī)CLK_INCLK_IN386系統(tǒng)總線PCLKPIT+ 32位系統(tǒng)總線單元PCLKPIT+ 32位系統(tǒng)

12、總線單元 ;允許訪問(wèn)除數(shù)寄存器允許訪問(wèn)除數(shù)寄存器MOV DX,MY16550_3 MOV AL,80H OUT DX,AL CALL DALLY;波特率波特率9600;波特率;波特率1.8432/(波特率因子波特率因子16) MOV DX,MY16550_0 ;波特率低波特率低8位位 MOV AL,0CH OUT DX,AL CALL DALLY MOV DX,MY16550_1;波特率高波特率高8位位 MOV AL,00H OUT DX,AL CALL DALLY ; 工作方式選擇工作方式選擇 MOV DX,MY16550_3 MOV AL,1BH;偶校驗(yàn)偶校驗(yàn), 1位停止位位停止位, 8位

13、數(shù)據(jù)位數(shù)據(jù) OUT DX,AL CALL DALLY ; modem設(shè)置設(shè)置 MOV DX,MY16550_4;MCR MOV AL,03H;RTS, DTR有效有效 OUT DX,AL CALL DALLY; 中斷設(shè)置中斷設(shè)置MOV DX,MY16550_1; 中斷允許寄存器中斷允許寄存器 MOV AL,00H;中斷屏蔽中斷屏蔽 OUT DX,AL CALL DALLY0 0 0 1 1 0 1 1 ;發(fā)送發(fā)送TR: MOV DX,MY16550_5;發(fā)送保持寄存器檢查發(fā)送保持寄存器檢查L(zhǎng)SR IN AL,DX AND AL,20H JZ TRMOV DX,MY16550_0 MOV AL,TXD_data;發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù) OUT DX,ALRET ;接收接收REV: MOV DX,MY16550_5;查詢接收查詢接收 IN A

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論