


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、信息科學與技術學院微機原理與接口技術課程設計報告題目名稱:PC機與PC機間進行串行通信學生:吳森學號:2009082203專業:計算機科學與技術班級:09級(01)班指導教師:裘祖旗更新完成日期:2012年1月2日目錄一設計任務與技術要求: - 3 -二課程設計總結報告正文 - 3 -1. PC機間串行通信測試 -3 -1.1 設計思路 - 3 -1.2 程序框圖 - 4 -1.3 程序清單 - 5 -2. PC機間進行字符動畫控制 -6 -2.1 設計思路 - 7 -2.2 程序框圖 - 7 -2.3 從機程序清單 - 8 -3. 程序分析 -10 -4. 調試步驟 -10 -5. 開發心得
2、 -10 -三參考文獻 -11 -設計任務與技術要求:A. PC與PC機能進行串行通信;B. 臺PC機能對另一臺PC機進行字符動畫控制 擴展功能:制定一定的通信協議本串行通信程序利用匯編語言通過 BIOS中斷調用和DOS功能調用實現PC機雙機 串行通信。其中,上位機和下位機串行口均為輔串口COM2 (口地址為2FXH),對外用9針連接器與令一臺PC機連接;BIOS通過“INT 14H” 4個中斷服務子程序,分別完 成串口初始化編程、發送一幀數據、接受一幀數據以及測試通信線狀態。本程序分為 PC機串口自動測試程序(目的是測試串口好壞)和PC機全雙工雙機通信程序兩個部 分。.課程設計總結報告正文1
3、. PC機間串行通信測試對PC機主串口進行外環自動測試,要求:(1)調用BIOS通信軟件,采用查詢方式編程,將下列測試電文10行由主串口發出, 經外環連接線再由主串口接受送屏幕顯示。測試電文如下:THE QUICK BROWN FOX JUMPS OVER LAZY DOG( 2) 通信速率為 1200 波特,一幀字符有 8 個數據位, 1 個停止位,無校驗。1.1 設計思路由于調用BIOS通信軟件發送和接受數據,因此主串口 RS-232C連接器必須按圖1 (a) 連線。233LXJ234445556662042020777(a)有聯絡線自發自收(b)有聯絡線全雙工通信圖1串行通信RS-232
4、C連接器連線方式測試電文譯為:狡猾的褐色狐貍越過懶狗的背。它是國際電報通信常用的測試電文, 電文包含了 26個字母,又稱狐貍電文。在一條報路上長時間的循環發送這條電文,接 收方統計在一定時間的差錯率,即可知道報路的通信質量。1.2程序框圖程序框圖如圖2所示軸冷口初始化” ii咐-Xu1.3程序清單DATASEGMENTTEXTDBTHE QUICK BROWN FOX JUMPS OVER LAZY DOG',0DH,0AHLLLEQU $ - TEXTERRORDBCOM2 BAD! ',0DH,0AH,$'DATAENDSCODESEGMENTASSUMECS: C
5、ODE, DS: DA TABEG:MOVAX, DATAMOVDS, AXCALL18250;輔串口初始化MOVCH,10;電文行數送CHAGAIN:MOVMOVCL,LLLBX, OFFSET TEXT;電文長度送 CLSEND:MOVAL, BX;取數據MOVAH, 1;BIOS 調用MOVDX, 1INT14H;發送一個數據TESTAH, 80H;發送成功否?JNZDISPERR;否,轉出錯處理RECEIVE:MOVAH, 2;BIOS 調用MOVDX, 1INT14H;接受一個數據TESTAH, 80H;接受成功否?JNZDISPERR;否,轉出錯處理DISP:MOVAH, 2MOV
6、DL, ALINT21H;接受字符送屏幕顯示INCBXDECCL;電文長度計數JNZSENDDECCH;行計數JNZAGAINJMPEXITDISPERR:MOVAH, 9MOVDX, OFFSET ERRORINT21H;顯示出錯信息EXIT:MOVAH, 4CHINT21H;返回 DOSJI8250PROCMOVAX, 0083H;波特率 1200 ,無校驗, 8 位MOVDX, 1;使用輔串口INT14HRETI8250ENDPCODEENDSENDBEG如果輔串口是好的,程序執行后自動屏顯10行測試電文,否則將屏顯“COM2 BAD !2. PC機間進行字符動畫控制利用匯編語言進行編程
7、,實現兩臺計算機間數據的異步串行發送和接受,要求:(1 )上位機接收鍵盤輸入的 a、b 兩個參數, 將參數的值通過計算機的串行口傳輸到 下位機,同時接受下位機的計算結果;下位機接受到 a、b值后,計算y = ax+b,同時將 結果傳輸到上位機。(2)上位機在線修改 a、 b 的值,下位機能隨之相應。(3)界面能夠清晰的反映操作步驟和操作結果。2.1設計思路(1) 數據發送采用查詢方式,數據接受采用中斷方式,對端口直接操作編寫通信程 序。(2) 上位機傳輸a b兩個參數時,回車后方為有效參數。(3) Esc為通信結束字符,當雙方都鍵入 Esc的時候結束通信,各自返回 DOS。通 信結束時,雙方不
8、可能同時按下 Esc鍵,必然是有先有后,反送方必須保證通信字符能 夠完整的傳送到對方,這些都必須在程序中考慮進去。(4) 通信速率2400波特,一幀字符有8個數據位,1個停止位,無校驗。2.2程序框圖程序框圖如圖3所示。圖3 PC機間進行字符動畫控制從機程序框圖2.3從機程序清單DISPACROMOV MOVINT ENDMVARAH, 9DX, OFFSET VAR21HDataSEGMENToldobDD?MESG1DBPlease wait a minute,ODH, 0AH, $'MESG2DBCommunication line bad!:0DH, 0AH, $'ME
9、SG3DBOk!: ODH, 0AH, $'IIIDD1000000DATAENDSCODESEGMENTBUFDB?ASSUMES: CODE, DS: DA TABEGMOVAX, DATAMOVDS, AXCLICALLI8250;8250初始化CALLI8259;開放輔串口中斷CALLRW0B;置換0BH型中斷向量STIMOVSI, 10AGA:DISPMESG1;顯示等待信息MOVDX, 2FEH;讀MODEM狀態寄存器INAL, DXANDAL, 00110000BCMPAL,30H;DSR、CTS引腳為邏輯0?JEOK;聯絡成功,轉OKCALLDELAY;延時1sDECS
10、IJNZAGADISPMESG2;顯示通信線路壞JMPRETURNOK:DISPMESG3;顯示OKSCANT:MOVDX, 2FDH;讀通信線狀態寄存器INAL, DXTESTAL, 20H;發送保持寄存器空閑否?JZSCANT;否,轉 SCANTMOVAH, 1INT16H;有鍵入否?JZSCANT;否,轉 SCANTMOVAH, 0INT16H;取鍵入字符x的ASCII送ALSUBAL, 60H;將x變換為十六進制數MULCL;計算a*xADDAL, CH;計算 y=ax+bADCAX, 3030H;將y變換為ASCII碼MOVDX, 2F8HOUTDX, AL;發送y的低字節MOVAL
11、, AHOUTDX, AL;發送y的高字節CMPAL, 1BH;是Esc否?JNZSCANT;否,轉 SCANTWWW:MOVDX, 2FDHINAL, DX;讀通信狀態寄存器TESTAL, 40H;發送移位寄存器是否為空?JZWWW;否,轉WWWLAST:CMPCS: BUF, 1BH;受到對方Esc否?JNZLAST;否,轉LASTRETURN:CALLRESETMOVAH, 4CHINT21HReceivePROCPUSHAX;保護現場PUSHDX;保護現場MOVDX, 2F8HINAL, DX;接受數據MOVCX: BUF, AL;送BUF單元保存NEXT:MOVAH, 0EHINT1
12、0H;屏幕顯示CMPAL, 0DH;是否回車?JNEEXIT;否,轉EXITMOVCH, CL;是,參數a、b順次MOVCL, AL;存入CL、CHMOVAL, 0AHINT10H;補送換行EXIT:MOVAH, 20H;中斷結束命令OUT20H, AL;送8259命令寄存器POPDX;恢復現場POPAX;恢復現場IRET;中斷返回RECEIVEENDP18250PROCMOVAX, 00A3HMOVDX, 1INT14HMOVDX, 2F9HMOVAL, 01HOUTDX, AL;允許接收中斷MOVDX, 2FCHMOVAL, 00001011BOUTDX, AL;令RTS、DTR端為邏輯R
13、ET18250ENDPI8259PROC;開放輔串口中斷INAL, 21HANDAL, 11110111BOUT21H, ALRETI8259ENDPRW0BPROC;置換0BH型中斷向量MOVAX, 350HBHINT21HMOVWORD PTR 0LD0B, BXMOVWORD PTR 0LD0B+2, ESPUSHDSMOVAX, CODEMOVDS, AXMOVDX, OFFSET RECEIVEMOVAX, 250BHINT21HPOPDSRETRW0BENDPRESETPROC;恢復0BH型中斷向量MOVDX, WORD PTR 0LD0BMOVDS, WORD PTR 0LD0B
14、+2MOVAX, 250BHINT21HMOVDX, 2FCHMOVAL, 0OUTDX, AL;令RTS、DTR端為邏輯1RETRESETENDPDELAYPROCMOVAH,86H;延時1sMOVCX, WORD PTR TTT+2MOVDX, WORD PTR TTTINT15HRETDELAYENDPCODEENDS ENDBEG主機程序與從機程序類似,這里不再贅述。3. 程序分析進行通信聯絡要采取兩項措施:其一,在 8250初始化子程序中,響 MODEM控制 寄存器寫入命令字時,令 Di位為1,Do位為1,從而使RS-232C的RTS端子、DTR端 子輸出邏輯0,通知對方本端已經做好
15、了數據發送和數據接受的準備工作;其二,對方 在程序執行后,讀取 MODEM狀態寄存器的容,檢查D5、D4位,這兩位都為1,說明 線路暢通,可以運行通信程序。4. 調試步驟程序調試要分兩步進行,首先在單機上調試,按照圖 1( a)連線,使輔串口具有自 發自收的外部環境,在這個環境下調試“ PC機間串行通信測試程序”,調試成功后,再 在雙機連同的環境下調試“ PC機間進行字符動畫控制程序”。雙機連通實驗時,先在一 端執行程序,令一端暫不運行,以便觀察屏幕的錯誤信息。5. 開發心得通過這次課程設計,我拓寬了知識面,鍛煉了能力,綜合素質得到較大提高。安排課 程設計的基本目的,在于通過理論與實際的結合,人與人的溝通,尤其是觀察、分析和 解決問題的實際工作能力。作為整個學習體系的有機組成部分,課程設計并不是獨立的 它的一個重要功能,在于運用學習成果,檢驗學習成果,把
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年現代制造業管理考試試卷及答案
- 2025年市場研究與分析師職業考試試題及答案
- 2025年水資源管理專業考試試卷及答案
- 2025年教師招聘考試試題及答案
- 2025年工程造價與管理知識考試卷及答案
- 物資清查盤點管理制度
- 物資采購支付管理制度
- 特技培訓日常管理制度
- 特殊人員窗口管理制度
- 特殊區域垃圾管理制度
- 2025年初中學業水平考試地理試卷(地理學科核心素養)含答案解析
- 《重大電力安全隱患判定標準(試行)》解讀與培訓
- 《人工智能基礎與應用》課件-實訓任務18 構建智能體
- 人工智能筆試題及答案
- 紅木文化知到智慧樹期末考試答案題庫2025年廣西大學
- 山西省臨汾市侯馬市部分學校2025年中考二模化學試題(原卷版+解析版)
- 海洋牧場建設項目可行性研究報告
- 香港專才移民合同協議
- 貓咪借配合同協議
- 2024版壓力容器設計審核機考題庫-多選3-3
- 2025年中考地理熱點素材題(含答案)
評論
0/150
提交評論