標準全雙工查詢方式異步串行通信_第1頁
標準全雙工查詢方式異步串行通信_第2頁
標準全雙工查詢方式異步串行通信_第3頁
標準全雙工查詢方式異步串行通信_第4頁
標準全雙工查詢方式異步串行通信_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、RS-232 標準全雙工查詢方式異步串行通信實驗報 告實驗題目 :RS-232 標準全雙工查詢方式異步通信實驗專業(yè):計算機科學與技術學生姓名 :班級學號 :分組序號 :指導教師 :2011 年5 月27 日RS-232標準全雙工查詢方式異步串行通信實驗一、實驗時間2011 5/27二、實驗地點三、實驗小組人員四、指導老師五、實驗目的熟學習 RS-232C標準的串行通信接口電路及串行通信收 / 發(fā)程序的設計原理與方法六、實驗內(nèi)容甲乙兩臺微機之間,按 RS-232C標準協(xié)議,進行零 MODEM方式,全雙工串行通信。所謂全雙工是雙方通過各自的鍵盤按鍵發(fā)送,同時接收對方發(fā)來的字符。發(fā)送與接收的字符均在

2、屏幕上顯示。通信數(shù)格式為起止式:1 位停止位,7 位數(shù)據(jù)位,無校驗,波特率因子為 16。波特率為 1200bps。按 ESC鍵,退出七、試驗要求采用兩臺 MFID平臺板上的串行接口電路進行硬件連接, 分別編寫甲乙兩機各自的發(fā)送與接收程序,并進行調(diào)試,直至程序正常運行八、實驗原理1. RS-232 標準串行通信接口電路原理如圖 2.1.17 所示。接口電路以 8251 為核心, 8253 提供發(fā) / 收時鐘, 8255 控制 8253 的 Gate 門。另外,還有MAX232作電平轉(zhuǎn)換, MAX491作 RS-232 與 RS-485的轉(zhuǎn)換、用 RxRDY作中斷申請開關等。 因此,該接口電路可實

3、現(xiàn)兩種接口標準和查詢 / 中斷兩種方式的串行通信2. RS-232C 標準串行通信接口電路設計原理和方法的詳細闡述,參考計算機接口技術相關參考書 .九、實驗流程圖空操作內(nèi)部復位方式命令工作命令返回( a)開始輸入所選的波特率計數(shù)初值計算與裝入call set-bps8251 初始化call init51打開 8253查鍵盤Y有鍵按下?是 ESC 鍵?YRxRDY=1?N顯示發(fā)送字符N發(fā)送準備好?計數(shù)初值計算8253-5 初始化計數(shù)初值裝入返回( b)N接收準備好?Y接收一個字符顯示接收字符N十、實驗源YTxRDY=1?Y發(fā)送 1 個字符關閉 8253返回 DOS結(jié)束是 ESC 鍵?N全雙工查詢

4、方式串行通信程(c)序datasegmenttempdw (?)messagedb please input some informations,0dh,0ahdb quit with esc,0dh,0ah,$input_message db 0:110 1:150 2:300 3:600,0dh,0ahdb 4:1200 5:2400 6:4800 7:9600,0dh,0ahdbpleasetakeabaud_rate:,0dh,0ah,$error_message db input error! try again,0dh,0ah,$dataendschoice(07)ofcodese

5、gmentassume cs:code, ds:dataint51 proc near;8251A初始化子程movdx,309h;8251A命令口xorax,ax;空操作callcharout;送數(shù)子程delay:loop delaymoval,40h;內(nèi)部復位callcharoutmoval,4ah;8251A方式命令callcharoutmoval,27h;8251A工作命令callcharoutretint51endpcharout proc nearoutdx,al;送數(shù)子程push cxmovcx,10000;延時gg: loop gg pop cxret;返回charoutendp

6、set_bps proc near;8253計數(shù)初值計算與裝入子程mov dx,1dh;取 8253 輸入時鐘頻率 clk 作被除數(shù)mov ax,4b54hmov bx,temp;取所選波特率作第一個除數(shù)div bx;除法運算,商數(shù)送 axmov dx,0;余數(shù)清零mov bx,16;取波特率因子作第二個除數(shù)div bx;除法運算,得計數(shù)初值(商數(shù))送 axmov bx,ax;保存計數(shù)初值至 bxmov dx,307h;8253命令口mov al,0b6h;8253初始化命令out dx,almov dx,306h;8253計數(shù)器 2 的端口mov ax,bx;取計數(shù)初值out dx,al;裝

7、計數(shù)初值低字節(jié)mov al,ah;裝計數(shù)初值高字節(jié)out dx,alret;返回set_bps endpmainproc far;通信主程序movax,datamovds,axmovah,9;提示選擇波特率movdx,seg input_messagemovds,dxmovdx,offset input_messageint21hinput:mov ah,8;輸入波特率int 21hcmpal,0;輸入 0,表示選擇 110baudjnenext1mov temp,110;存入 bps00jmpbegin;跳轉(zhuǎn)開始 begin 處next1:cmp al,1jne next2mov temp,

8、150;1表示150b/sjmp beginnext2:cmp al,2jne next3mov temp,300;2表示300b/sjmp beginnext3:cmp al,3jne next4mov temp,600;3表示600b/sjmp beginnext4:cmp al,4jne next5mov temp,1200;4表示1200b/sjmp beginnext5:cmp al,5jne next6mov temp,2400;5表示2400b/sjmp beginnext6:cmp al,6jne next7mov temp,4800;6表示150b/sjmp beginnex

9、t7:cmp al,7jne error;若波特率選擇有錯,則重新輸入mov temp,9600;7表示9600b/sjmp beginerror:mov ah,9;mov dx,seg error_messagemov ds,dxmov dx,offset error_messageint 21hjmp input提示波特率選擇出錯, 則重新輸入begin:call置所選波特率的set_bps 8253-5;調(diào)用8253 的set_bps子程序,設call int51;調(diào)用8251A 子程序,初始化8251Alea dx,messagemov ah,09int 21hmov dx,303h;

10、初始化8255Amov al,80hout dx,almov al,0dh;置 PC6=1,打開8253 的 GATE2,開始輸出方波out dx,alcheckkey:mov ah,0bh;按鍵發(fā)送int 21hcmp al,0;有鍵按下?Je receiv; 若無鍵按下,則轉(zhuǎn)接收mov ah,01;若有鍵按下,則從 KB讀入,并在 CRT上顯示int 21hmov bl,al;保存鍵值,以備發(fā)送cmp al,1bh;是 ESC?je quit;是,則退出,并返回 DOSmov dx,309h;不是,則發(fā)送數(shù)據(jù)transm: in al,dxtest al,01;發(fā)送準備好? TXRDY=1

11、?jz transm;未準備好,則等待mov dx,308h;已準備好,則將鍵入的字符發(fā)送出去mov al,blout dx,aljmp checkkey;發(fā)送 1 個字符后 00,再轉(zhuǎn)按鍵發(fā)送receiv:mov dx,309h;接收數(shù)據(jù)inal,dxtest al,02;接收數(shù)據(jù)準備好? RXRDY=1?jzcheckkey;未準備好,即無數(shù)據(jù)接收, 則轉(zhuǎn)按鍵發(fā)送mov dx,308h ;已準備好,即有數(shù)據(jù)傳送過來, 則接收 1 個字符inal,dxmov dl,al;顯示接收的字符mov ah,02hint 21hmov ah,0bhint 21hcmp al,00hjecheckkey

12、mov ah,08hint 21hcmp al,1bh;是 ESC?jequit;是,則退出,返回DOSjmp checkkey;不是,則接收1 個字符后,再轉(zhuǎn)按鍵發(fā)送quit:mov al,0ch;置 PC6=0,關閉8253 的 GATE2,停止輸出方波mov dx,303hout dx,almov ax,4c00h;程序退出int 21hmainendpcodeendsend main十、實驗步驟步驟一: 硬件連線跳線設置:跳接說明JP12-3零 MODEMN方式JP22-3選擇 RS232協(xié)議JP3空 / 跳接(RXD-TXD)雙機通信 / 自發(fā)自收JP4跳接/ 空收發(fā)時鐘由 OUT2提供 / 用戶自定義JP11(1-2) 跳接用 PC6接 Gate2 口使用 3 芯屏蔽電纜線,直接將甲乙兩機MFID平臺板上的 RS-232C串行接口插座 J7 連接起來。平平臺臺乙甲J7J7連接線E 區(qū)K 區(qū)F 區(qū)CLK21.19318MPC6Gate2步驟二: 將平臺的電源開關拔到“內(nèi)”的位置上。在配套集成環(huán)境下進行硬件檢測 , 達到初始化芯片的目的。步驟三:(演示實驗步驟)打開集成環(huán)境在“演示實驗”菜單下點開“基本接口實驗”。在“基本接口實驗”中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論