PC機(jī)雙機(jī)串行通信_(tái)第1頁
PC機(jī)雙機(jī)串行通信_(tái)第2頁
PC機(jī)雙機(jī)串行通信_(tái)第3頁
PC機(jī)雙機(jī)串行通信_(tái)第4頁
PC機(jī)雙機(jī)串行通信_(tái)第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

./信息科學(xué)與技術(shù)學(xué)院《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)報(bào)告題目名稱:PC機(jī)與PC機(jī)間進(jìn)行串行通信學(xué)生:吳森學(xué)號(hào):2009082203專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):09級(jí)〔01班指導(dǎo)教師:裘祖旗更新完成日期:20XX1月2日目錄一.設(shè)計(jì)任務(wù)與技術(shù)要求:-3-二.課程設(shè)計(jì)總結(jié)報(bào)告正文-3-1.PC機(jī)間串行通信測(cè)試-3-1.1設(shè)計(jì)思路-3-1.2程序框圖-4-1.3程序清單-5-2.PC機(jī)間進(jìn)行字符動(dòng)畫控制-6-2.1設(shè)計(jì)思路-6-2.2程序框圖-7-2.3從機(jī)程序清單-7-3.程序分析-7-4.調(diào)試步驟-7-5.開發(fā)心得-7-三.參考文獻(xiàn)-7-一.設(shè)計(jì)任務(wù)與技術(shù)要求:PC與PC機(jī)能進(jìn)行串行通信;一臺(tái)PC機(jī)能對(duì)另一臺(tái)PC機(jī)進(jìn)行字符動(dòng)畫控制擴(kuò)展功能:制定一定的通信協(xié)議本串行通信程序利用匯編語言通過BIOS中斷調(diào)用和DOS功能調(diào)用實(shí)現(xiàn)PC機(jī)雙機(jī)串行通信。其中,上位機(jī)和下位機(jī)串行口均為輔串口COM2〔口地址為2FXH,對(duì)外用9針連接器與令一臺(tái)PC機(jī)連接;BIOS通過"INT14H"4個(gè)中斷服務(wù)子程序,分別完成串口初始化編程、發(fā)送一幀數(shù)據(jù)、接受一幀數(shù)據(jù)以及測(cè)試通信線狀態(tài)。本程序分為PC機(jī)串口自動(dòng)測(cè)試程序〔目的是測(cè)試串口好壞和PC機(jī)全雙工雙機(jī)通信程序兩個(gè)部分。二.課程設(shè)計(jì)總結(jié)報(bào)告正文1.PC機(jī)間串行通信測(cè)試對(duì)PC機(jī)主串口進(jìn)行外環(huán)自動(dòng)測(cè)試,要求:〔1調(diào)用BIOS通信軟件,采用查詢方式編程,將下列測(cè)試電文10行由主串口發(fā)出,經(jīng)外環(huán)連接線再由主串口接受送屏幕顯示。測(cè)試電文如下: THEQUICKBROWNFOXJUMPSOVERLAZYDOG〔2通信速率為1200波特,一幀字符有8個(gè)數(shù)據(jù)位,1個(gè)停止位,無校驗(yàn)。1.1設(shè)計(jì)思路由于調(diào)用BIOS通信軟件發(fā)送和接受數(shù)據(jù),因此主串口RS-232C連接器必須按圖1〔a連線?!瞐有聯(lián)絡(luò)線自發(fā)自收〔b有聯(lián)絡(luò)線全雙工通信圖1串行通信RS-232C連接器連線方式測(cè)試電文譯為:狡猾的褐色狐貍越過懶狗的背。它是國際電報(bào)通信常用的測(cè)試電文,電文包含了26個(gè)字母,又稱狐貍電文。在一條報(bào)路上長時(shí)間的循環(huán)發(fā)送這條電文,接收方統(tǒng)計(jì)在一定時(shí)間的差錯(cuò)率,即可知道報(bào)路的通信質(zhì)量。1.2程序框圖程序框圖如圖2所示。圖2PC機(jī)間串行通信測(cè)試程序框圖1.3程序清單DATA SEGMENTTEXT DB ‘THEQUICKBROWNFOXJUMPSOVERLAZYDOG’,0DH,0AHLLL EQU $-TEXTERROR DB ‘COM2BAD!’,0DH,0AH,‘$’DATA ENDS;CODE SEGMENT ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AX CALL I8250 ;輔串口初始化 MOV CH,10 ;電文行數(shù)送CHAGAIN: MOV CL,LLL ;電文長度送CL MOV BX,OFFSETTEXTSEND: MOV AL,[BX] ;取數(shù)據(jù) MOV AH,1 ;BIOS調(diào)用 MOV DX,1 INT 14H ;發(fā)送一個(gè)數(shù)據(jù) TEST AH,80H ;發(fā)送成功否? JNZ DISPERR ;否,轉(zhuǎn)出錯(cuò)處理RECEIVE: MOV AH,2 ;BIOS調(diào)用 MOV DX,1 INT 14H ;接受一個(gè)數(shù)據(jù) TEST AH,80H ;接受成功否? JNZ DISPERR ;否,轉(zhuǎn)出錯(cuò)處理DISP: MOV AH,2 MOV DL,AL INT 21H ;接受字符送屏幕顯示 INC BX DEC CL ;電文長度計(jì)數(shù) JNZ SEND DEC CH ;行計(jì)數(shù) JNZ AGAIN JMP EXITDISPERR: MOV AH,9 MOV DX,OFFSETERROR INT 21H ;顯示出錯(cuò)信息EXIT: MOV AH,4CH INT 21H ;返回DOS;I8250 PROC MOV AX,0083H ;波特率1200,無校驗(yàn),8位 MOV DX,1 ;使用輔串口 INT 14H RETI8250 ENDPCODE ENDS END BEG如果輔串口是好的,程序執(zhí)行后自動(dòng)屏顯10行測(cè)試電文,否則將屏顯"COM2BAD!"。2.PC機(jī)間進(jìn)行字符動(dòng)畫控制利用匯編語言進(jìn)行編程,實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)間數(shù)據(jù)的異步串行發(fā)送和接受,要求:〔1上位機(jī)接收鍵盤輸入的a、b兩個(gè)參數(shù),將參數(shù)的值通過計(jì)算機(jī)的串行口傳輸?shù)较挛粰C(jī),同時(shí)接受下位機(jī)的計(jì)算結(jié)果;下位機(jī)接受到a、b值后,計(jì)算y=ax+b,同時(shí)將結(jié)果傳輸?shù)缴衔粰C(jī)?!?上位機(jī)在線修改a、b的值,下位機(jī)能隨之相應(yīng)?!?界面能夠清晰的反映操作步驟和操作結(jié)果。2.1設(shè)計(jì)思路〔1數(shù)據(jù)發(fā)送采用查詢方式,數(shù)據(jù)接受采用中斷方式,對(duì)端口直接操作編寫通信程序?!?上位機(jī)傳輸a、b兩個(gè)參數(shù)時(shí),回車后方為有效參數(shù)。〔3Esc為通信結(jié)束字符,當(dāng)雙方都鍵入Esc的時(shí)候結(jié)束通信,各自返回DOS。通信結(jié)束時(shí),雙方不可能同時(shí)按下Esc鍵,必然是有先有后,反送方必須保證通信字符能夠完整的傳送到對(duì)方,這些都必須在程序中考慮進(jìn)去?!?通信速率2400波特,一幀字符有8個(gè)數(shù)據(jù)位,1個(gè)停止位,無校驗(yàn)。2.2程序框圖程序框圖如圖3所示。圖3PC機(jī)間進(jìn)行字符動(dòng)畫控制從機(jī)程序框圖2.3從機(jī)程序清單DISP ACRO VAR MOV AH,9 MOV DX,OFFSETVAR INT 21H ENDM;DATA SEGMENT0LD0B DD ?MESG1 DB ‘Pleasewaitaminute…’,0DH,0AH,‘$’MESG2 DB ‘Communicationlinebad!’,0DH,0AH,‘$’MESG3 DB ‘Ok!’,0DH,0AH,‘$’TTT DD 1000000DATA ENDS;CODE SEGMENTBUF DB ? ASSUME S:CODE,DS:DATABEG MOV AX,DATA MOV DS,AX CLI CALL I8250 ;8250初始化 CALL I8259 ;開放輔串口中斷 CALL RW0B;置換0BH型中斷向量 STI MOV SI,10AGA: DISP MESG1 ;顯示等待信息 MOV DX,2FEH ;讀MODEM狀態(tài)寄存器 IN AL,DX AND AL,00110000B CMP AL,30H ;、引腳為邏輯0? JE OK ;聯(lián)絡(luò)成功,轉(zhuǎn)OK CALL DELAY ;延時(shí)1s DEC SI JNZ AGA DISP MESG2 ;顯示通信線路壞 JMP RETURNOK: DISP MESG3 ;顯示OKSCANT: MOV DX,2FDH ;讀通信線狀態(tài)寄存器 IN AL,DX TEST AL,20H ;發(fā)送保持寄存器空閑否? JZ SCANT ;否,轉(zhuǎn)SCANT MOV AH,1 INT 16H ;有鍵入否? JZ SCANT ;否,轉(zhuǎn)SCANT MOV AH,0 INT 16H ;取鍵入字符x的ASCII送AL SUB AL,60H ;將x變換為十六進(jìn)制數(shù) MUL CL ;計(jì)算a*x ADD AL,CH ;計(jì)算y=ax+b ADC AX,3030H ;將y變換為ASCII碼 MOV DX,2F8H OUT DX,AL ;發(fā)送y的低字節(jié) MOV AL,AH OUT DX,AL ;發(fā)送y的高字節(jié) CMP AL,1BH ;是Esc否? JNZ SCANT ;否,轉(zhuǎn)SCANTWWW: MOV DX,2FDH IN AL,DX ;讀通信狀態(tài)寄存器 TEST AL,40H ;發(fā)送移位寄存器是否為空? JZ WWW ;否,轉(zhuǎn)WWWLAST: CMP CS:BUF,1BH ;受到對(duì)方Esc否? JNZ LAST ;否,轉(zhuǎn)LASTRETURN: CALL RESET MOV AH,4CH INT 21H;RECEIVE PROC PUSH AX ;保護(hù)現(xiàn)場(chǎng) PUSH DX ;保護(hù)現(xiàn)場(chǎng) MOV DX,2F8H IN AL,DX ;接受數(shù)據(jù) MOV CX:BUF,AL ;送BUF單元保存NEXT: MOV AH,0EH INT 10H ;屏幕顯示 CMP AL,0DH ;是否回車? JNE EXIT ;否,轉(zhuǎn)EXIT MOV CH,CL ;是,參數(shù)a、b順次 MOV CL,AL ;存入CL、CH MOV AL,0AH INT 10H ;補(bǔ)送換行EXIT: MOV AH,20H ;中斷結(jié)束命令 OUT 20H,AL ;送8259命令寄存器 POP DX ;恢復(fù)現(xiàn)場(chǎng) POP AX ;恢復(fù)現(xiàn)場(chǎng) IRET ;中斷返回RECEIVE ENDP;I8250 PROC MOV AX,00A3H MOV DX,1 INT 14H MOV DX,2F9H MOV AL,01H OUT DX,AL ;允許接收中斷 MOV DX,2FCH MOV AL,00001011B OUT DX,AL ;令、端為邏輯0 RETI8250 ENDP;I8259 PROC ;開放輔串口中斷 IN AL,21H AND AL,11110111B OUT 21H,AL RETI8259 ENDP;RW0B PROC ;置換0BH型中斷向量 MOV AX,350HBH INT 21H MOV WORDPTR0LD0B,BX MOV WORDPTR0LD0B+2,ES PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSETRECEIVE MOV AX,250BH INT 21H POP DS RETRW0B ENDP;RESET PROC ;恢復(fù)0BH型中斷向量 MOV DX,WORDPTR0LD0B MOV DS,WORDPTR0LD0B+2 MOV AX,250BH INT 21H MOV DX,2FCH MOV AL,0 OUT DX,AL ;令、端為邏輯1 RETRESET ENDP;DELAY PROC MOV AH,86H ;延時(shí)1s MOV CX,WORDPTRTTT+2 MOV DX,WORDPTRTTT INT 15H RETDELAY ENDPCODE ENDS END BEG主機(jī)程序與從機(jī)程序類似,這里不再贅述。3.程序分析進(jìn)行通信聯(lián)絡(luò)要采取兩項(xiàng)措施:其一,在8250初始化子程序中,響MODEM控制寄存器寫入命令字時(shí),令D1位為1,D0位為1,從而使RS-232C的端子、端子輸出邏輯0,通知對(duì)方本端已經(jīng)做

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論