2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩9頁(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、<p><b>  課 程 設(shè) 計(jì)</b></p><p>  課程名稱 接口與通信 </p><p>  題目名稱 雙機(jī)通信 </p><p>  學(xué)生學(xué)院 </p><p>  專業(yè)班級(jí) </p><p>

2、;  學(xué) 號(hào) </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師 </p><p><b>  一、設(shè)計(jì)目的</b></p><p>  了解PC機(jī)串行口的使用和編程。</p><p><b>  二、設(shè)計(jì)所

3、需設(shè)備</b></p><p>  PC機(jī),RS-232C插座及連線。</p><p><b>  三、設(shè)計(jì)任務(wù)</b></p><p>  1、用RS-232C的零MODEM的連接法連好兩機(jī)的連線;</p><p>  2、編一程序,將一臺(tái)機(jī)的鍵盤輸入的鍵值通過RS-232C口送到另一臺(tái)機(jī)上;</p&

4、gt;<p>  3、編一程序,通過RS-232C口進(jìn)行一臺(tái)機(jī)到另一臺(tái)機(jī)的文件復(fù)制。</p><p>  了解PC機(jī)串行口的使用方法,編程使得PC機(jī)內(nèi)的COM1和COM2或者PC機(jī)之間利用COM口實(shí)現(xiàn)通訊。</p><p>  四、串行口的有關(guān)硬件資料</p><p>  RS-232-C詳解</p><p>  串行通信接口標(biāo)

5、準(zhǔn)經(jīng)過使用和發(fā)展,目前已經(jīng)有幾種。但都是在RS-232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過改進(jìn)而形成的。所以,以RS-232C為主來(lái)討論。RS-323C 標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開發(fā)的1969 年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000b/s 范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問題,如信號(hào)線功能、電器特性都作了明確規(guī)定。由于通行設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在

6、微機(jī)通信接口中廣泛采用。</p><p>  RS-232C 標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C 標(biāo)準(zhǔn),其中EIA(Electronic IndustryAssociation)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(ecommeded standard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS232 的最新一次修改(1969),在這之前,有RS232B、RS232A。。它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送

7、過程。常用物理標(biāo)準(zhǔn)還有有EIA&#0;RS-232-C、EIA&#0;RS-422-A、EIA&#0;RS-423A、EIA&#0;RS-485。這里只介紹EIA&#0;RS-232-C(簡(jiǎn)稱232,RS232)。例如,目前在IBM PC 機(jī)上的COM1、COM2 接口,就是RS-232C接口。</p><p>  1. 9芯RS-232C接口標(biāo)準(zhǔn)</p>&

8、lt;p>  引腳1:CD, 載體檢測(cè);</p><p>  引腳2:RXD,接收數(shù)據(jù);</p><p>  引腳3:TXD,發(fā)送數(shù)據(jù);</p><p>  引腳4:DTR,終端準(zhǔn)備好;</p><p><b>  引腳5:信號(hào)地;</b></p><p>  引腳6:DSR,MODEM準(zhǔn)備

9、好;</p><p>  引腳7:RTS,請(qǐng)求發(fā)送;</p><p>  引腳8:CTS,消除發(fā)送;</p><p>  引腳9:RI,響鈴指示;</p><p>  2. 9芯RS-232C的零MODEM的連接方法</p><p>  3. Intel 8250可編程異步通信接口內(nèi)部寄存器</p>&

10、lt;p>  (1) 線路控制寄存器</p><p>  (2) 線路狀態(tài)寄存器</p><p>  (3) 中斷識(shí)別寄存器</p><p>  (4) 中斷允許寄存器</p><p>  (5) MODEM控制寄存器</p><p>  (6) MODEM狀態(tài)寄存器</p><p>  

11、(7) 可編程波特率發(fā)生器</p><p>  DLAB=1時(shí), 向3F9H/2F9H(高八位),3F8H/2F8H(低八位)寫入—16位數(shù),即可對(duì)1.8432MHz的時(shí)鐘分頻,使得串行口的波特率.</p><p>  公式為:波特率=1843200÷(分頻值×16) (輸入頻率為1.8432MHz)</p><p><b>  五.

12、方案設(shè)計(jì)</b></p><p>  用串口電纜將兩臺(tái)機(jī)算機(jī)的COM2連接起來(lái),把計(jì)算機(jī)設(shè)置成空MODEM方式,并為此編制了兩個(gè)匯編語(yǔ)言程序:其一為數(shù)據(jù)發(fā)送程序;其二為數(shù)據(jù)接收程序。為了確保每個(gè)字符發(fā)送出去,并且被接收,發(fā)送接收雙方的波特率設(shè)置一致,并且均采取查詢方式進(jìn)行下一步操作。接收數(shù)據(jù)程序只需執(zhí)行一次,即駐留在內(nèi)存中,此后,只要Ⅱ號(hào)計(jì)算機(jī)有數(shù)據(jù)要發(fā)送,則Ⅰ號(hào)機(jī)隨時(shí)接收并顯示在屏幕上。</p

13、><p>  本次設(shè)計(jì)中信息的傳送采取查詢方式,并且兩臺(tái)計(jì)算機(jī)是單工工作方式(一方發(fā)送,一方接收),這樣簡(jiǎn)化了程序設(shè)計(jì)過程。</p><p><b>  六、實(shí)現(xiàn)與測(cè)試</b></p><p><b>  程序框圖:</b></p><p>  主程序 輸入子過程

14、 </p><p><b> ??;發(fā)送方</b></p><p>  DATA SEGMENT</p><p>  MESS1 DB 0DH,0AH,'PLEASE INPUT THE MESSEGE YOU WANT TO SENT:',0DH,0AH,'$'</p

15、><p>  MESS2 DB 0DH,0AH,'1.SENT A MESSEGE',0DH,0AH,'2.EXIT',0DH,0AH,0DH,0AH,0DH,0AH,'PLEASE MAKE A CHOICE:' ,"$"</p><p>  MESS3 DB 0d

16、h,0ah,'error! please select again:', "$"</p><p>  DATA ENDS</p><p>  STACK SEGMENT</p><p>  DW 100 DUP(?)</p><p>  STACK ENDS</p><

17、p>  CODE SEGMENT</p><p>  ASSUME DS:DATA,SS:STACK,CS:CODE</p><p>  MAIN: MOV AX,DATA</p><p>  MOV DS,AX</p><p>  ;設(shè)置傳輸率,采用1200bps--寫入除數(shù)寄存器</p><p> 

18、 MOV AL,80H</p><p>  MOV DX,3FBH</p><p>  OUT DX,AL ;寫入通信線路控制寄存器,使DLAB=1</p><p>  MOV AX,12 ;分頻系數(shù):1.8432MHZ/(9600*16)=12</p><p>

19、  MOV DX,3F8H</p><p>  OUT DX,AL ;寫入除數(shù)寄存器低8位</p><p>  MOV AL,AH</p><p><b>  INC DX</b></p><p>  OUT DX,AL</p><p>  ;寫入通信

20、線路控制寄存器,使DLAB=0</p><p>  ;假設(shè)有一個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,奇校驗(yàn)</p><p>  MOV AL,00001011B</p><p>  MOV DX,3FBH</p><p>  OUT DX,AL</p><p><b>  ;禁止所有中斷</b>

21、</p><p><b>  MOV AL,0</b></p><p>  MOV DX,3F9H</p><p>  OUT DX,AL</p><p>  TISHI: LEA DX,MESS2 ;顯示提示信息</p><p>  MOV AH,09H

22、</p><p><b>  INT 21H</b></p><p>  WAIT0: MOV AH,0BH ;等待鍵盤輸入</p><p>  INT 21H ;DOS功能調(diào)用,檢驗(yàn)鍵盤狀態(tài)</p><p>  CMP AL,0FFH

23、 ;AL=FF時(shí)無(wú)輸入,AL=00時(shí)有輸入</p><p>  JE WAIT0 ;無(wú)輸入,返回等待</p><p>  MOV AH,0 </p><p>  INT 16H ;BIOS中斷功能調(diào)用,從鍵盤讀字符</p>

24、<p><b>  PUSH AX</b></p><p>  MOV AH,02H</p><p>  MOV DL,AL</p><p>  INT 21H ;DOS功能調(diào)用,顯示輸出,DL=輸出字符</p><p><b>  POP AX</

25、b></p><p>  CMP AL,31H ;是否選1?是,發(fā)送字符,否則繼續(xù)</p><p>  JE CHOICE1</p><p>  CMP AL,32H ;是否選2?是,退出dos,否則繼續(xù)</p><p>  JE CHOICE2</p>

26、<p>  LEA DX, MESS3 ;選擇其他項(xiàng),顯示錯(cuò)誤信息</p><p>  MOV AH,09H</p><p><b>  INT 21H</b></p><p>  JMP TISHI</p><p>  CHOICE1: CALL SENTCHAR&l

27、t;/p><p>  JMP TISHI </p><p>  CHOICE2: MOV AX,4C00H ;退出系統(tǒng)返回dos </p><p>  INT 21H </p><p><b>  ;傳輸字符</b></p><p>  ;從本機(jī)向?qū)Ψ桨l(fā)送字符

28、串,同時(shí)在兩個(gè)屏幕上都顯示</p><p>  ;按回車鍵,則雙方都換行,按esc鍵,雙方都退出。</p><p>  SENTCHAR PROC NEAR</p><p><b>  PUSH AX</b></p><p><b>  PUSH DS</b></p><

29、;p>  MOV AX,DATA</p><p>  MOV DS,AX</p><p><b>  PUSH BX</b></p><p><b>  PUSH CX</b></p><p><b>  PUSH DX</b></p><

30、;p>  LEA DX,MESS1</p><p>  MOV AH,09H</p><p>  INT 21H ;顯示提示信息</p><p>  ;讀取通信線路狀態(tài),查詢工作</p><p>  STATUE: MOV DX,3FDH ;讀通信

31、線路狀態(tài)寄存器</p><p>  IN AL,DX</p><p>  AND AL,20H ;檢測(cè)保存寄存器為空嗎?</p><p>  CMP AL,20H</p><p>  JNZ STATUE ;不能輸出,循環(huán)查詢,能則繼續(xù)執(zhí)行</p>&

32、lt;p>  KEYBOARD: MOV AH,0BH </p><p>  INT 21H ;檢測(cè)鍵盤是否有輸入</p><p>  CMP AL,0</p><p>  JZ KEYBOARD ;無(wú)字符輸入,循環(huán)等待</p>

33、<p>  MOV AH,0 ;有則讀取字符</p><p>  INT 16H ;如果采用01號(hào)dos功能調(diào)用(INT 21H),則有回顯</p><p>  MOV DX,3F8H ;否則將字符輸出給發(fā)送保持寄存器</p><p>

34、;  OUT DX,AL ;串行發(fā)送數(shù)據(jù)</p><p>  CMP AL,1BH</p><p>  JZ DONE1 ;是ESC鍵,則退出程序返回dos,同時(shí)對(duì)方也返回dos</p><p>  PUSH AX ;AX入棧,保護(hù)數(shù)據(jù)<

35、;/p><p>  MOV DL,AL </p><p>  MOV AH,02H</p><p>  INT 21H ;dos功能調(diào)用,顯示輸出內(nèi)容</p><p>  POP AX ;AX出棧</p><p>  CMP

36、 AL,0DH ;繼續(xù)檢查是否是ENTER鍵</p><p>  JNZ STATUE ;不是則繼續(xù)輸入下一個(gè)數(shù)</p><p>  MOV DL,0AH</p><p>  MOV AH,02H ;是,則換行</p><p> 

37、 INT 21H</p><p>  JMP STATUE ;換行后繼續(xù)輸入下一個(gè)數(shù)</p><p>  DONE1: POP DX</p><p><b>  POP CX</b></p><p><b>  POP BX</b></p

38、><p><b>  POP DS</b></p><p><b>  POP AX</b></p><p><b>  RET</b></p><p>  SENTCHAR ENDP </p><p>  CODE ENDS</p>

39、<p>  END MAIN </p><p><b> ??;接收方</b></p><p>  DATA SEGMENT </p><p>  MESS DB 0DH,0AH,'WELCOME,THE DATA YOU INPUT ARE:',0DH,0AH,"$"<

40、;/p><p>  DATA ENDS</p><p>  STACK SEGMENT</p><p>  DW 100 DUP(?)</p><p>  STACK ENDS</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,SS:ST

41、ACK,DS:DATA</p><p>  START: MOV AX,DATA</p><p>  MOV DS,AX</p><p>  ;設(shè)置傳輸率——寫入除數(shù)寄存器</p><p>  MOV AL,80H</p><p>  MOV DX,2FBH</p><p>  OU

42、T DX,AL ;寫入通信線路控制寄存器,使DLAB=1</p><p>  MOV AX,12 ;分頻系數(shù):1.8432MHZ/(9600*16)=12</p><p>  MOV DX,2F8H</p><p>  OUT DX,AL ;寫入除

43、數(shù)寄存器低八位</p><p>  MOV AL,AH</p><p><b>  INC DX</b></p><p>  OUT DX,AL ;寫入除數(shù)寄存器高八位</p><p>  ;寫入通信線路控制寄存器,使DLAB=0</p><p>  ;

44、假設(shè)有一個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,奇校驗(yàn)</p><p>  MOV AL,00001011B</p><p>  MOV DX,2FBH</p><p>  OUT DX,AL</p><p><b>  ;禁止所有中斷</b></p><p><b>  MOV AL

45、,0</b></p><p>  MOV DX,2F9H</p><p>  OUT DX,AL</p><p>  CALL RECEIVE</p><p>  MOV AX,4C00H</p><p>  INT 21H</p><p>  RECEIVE PR

46、OC NEAR</p><p><b>  PUSH AX</b></p><p><b>  PUSH BX</b></p><p><b>  PUSH DX</b></p><p><b>  ; 屏幕顯示信息 </b></p>

47、<p>  LEA DX,MESS</p><p>  MOV AH,09H</p><p>  INT 21H </p><p>  DDD: MOV DX,2FDH ;讀通信線路狀態(tài)寄存器</p><p>  IN AL,DX</p><p>  TEST

48、AL,14H ;接收有錯(cuò)誤否?</p><p>  JNZ ERROR ;有錯(cuò),則轉(zhuǎn)錯(cuò)誤處理</p><p>  TEST AL,01H ;接收到數(shù)據(jù)嗎?</p><p>  JNZ DONE0 ;是,轉(zhuǎn)接收處處理 </p><p&

49、gt;  JMP DDD ;繼續(xù)讀取下個(gè)數(shù)</p><p>  DONE0: MOV DX,2F8H ;從輸入緩沖寄存器讀數(shù)據(jù)</p><p><b>  IN AL,DX</b></p><p>  AND AL,7FH ;傳送標(biāo)準(zhǔn)ASCII碼,采用

50、7個(gè)數(shù)據(jù)位,所以僅取低7位</p><p>  PUSH AX ;保存數(shù)據(jù)</p><p>  MOV DL,AL ;屏幕顯示該數(shù)據(jù)</p><p>  MOV AH,02H</p><p>  INT 21H</p><p>  POP

51、AX ;恢復(fù)數(shù)據(jù)</p><p>  CMP AL,1BH ;數(shù)據(jù)是ESC鍵嗎?</p><p>  JZ DONE1 ;是則退出dos</p><p>  CMP AL,0DH ;數(shù)據(jù)是回車符嗎?</p><p>  

52、JNZ DDD ;不是,則循環(huán)</p><p>  MOV DL,0AH ;是則換行</p><p>  MOV AH,02H</p><p>  INT 21H ;循環(huán),檢測(cè)下個(gè)數(shù)</p><p><b>  JMP DDD&

53、lt;/b></p><p>  ERROR: MOV DX,2F8H ;讀出接收有誤的數(shù)據(jù),丟掉</p><p>  IN AL,DX</p><p>  MOV DL,'?' ;顯示問號(hào)</p><p>  MOV AH,02H</p>

54、<p>  INT 21H</p><p>  JMP DDD ;繼續(xù)查詢</p><p>  DONE1: POP DX</p><p><b>  POP BX</b></p><p><b>  POP AX</b></p>

55、;<p><b>  RET</b></p><p>  RECEIVE ENDP</p><p>  CODE ENDS </p><p>  END START</p><p><b>  分析與總結(jié)</b></p><p>  通過此次

56、課程設(shè)計(jì),對(duì)匯編語(yǔ)言的認(rèn)識(shí),掌握都提高到一個(gè)新的水平,熟悉了8088基本指令的使用,掌握了用masm進(jìn)行編譯、連接并模擬運(yùn)行,對(duì)課堂知識(shí)起到了很好的補(bǔ)充和鞏固。</p><p>  實(shí)驗(yàn)心得有以下幾個(gè)方面:</p><p>  1、對(duì)程序結(jié)構(gòu)有了更深刻的了解,知道程序運(yùn)行的基本順序,對(duì)程序的三個(gè)部分以及它們之間的連續(xù)性理解更加透徹。</p><p>  2、對(duì)匯編語(yǔ)

57、言的運(yùn)用和認(rèn)識(shí)上:匯編語(yǔ)言的代碼雖然簡(jiǎn)潔,但是程序結(jié)構(gòu)不夠清晰,語(yǔ)句使用比較煩,程序可讀性不如高級(jí)語(yǔ)言。一個(gè)簡(jiǎn)單的操作可能在匯編里面要用好幾條語(yǔ)句才能實(shí)現(xiàn)。匯編語(yǔ)言的文件操作很難,調(diào)試?yán)щy,主要是其不具有可視化,內(nèi)部發(fā)生的錯(cuò)誤并不可見,而必須通過查看內(nèi)存來(lái)發(fā)現(xiàn)。</p><p>  3、通過對(duì)程序的編寫,知道只有親身動(dòng)手編寫程序、了解程序、讀懂程序才能對(duì)程序編寫過程中出現(xiàn)的問題有所了解,才能更好的解決問題,完善程

58、序的編寫。</p><p>  4、在這次實(shí)驗(yàn)中,學(xué)會(huì)了堅(jiān)持和耐心的做事。和同學(xué)們的交流也得到進(jìn)一步的提高,在某些問題上還借助互聯(lián)網(wǎng)上的幫助,并在老師的指導(dǎo)下最終完成實(shí)驗(yàn).通過這次的設(shè)計(jì),使我更進(jìn)一步認(rèn)識(shí)中斷服務(wù)程序的應(yīng)用及其編制,更加深的體會(huì)到所編制程序的擴(kuò)展性的重要性</p><p><b>  參考書目:</b></p><p>  [1

59、]余永權(quán),湯榮江.《計(jì)算機(jī)接口與通信》,華南理工大學(xué)出版社,2005年.</p><p>  [2]譚浩強(qiáng),《C程序設(shè)計(jì)》,清華大學(xué)出版社,2005年。</p><p>  [3]沈美明,溫東嬋?!禝BM-PC匯編語(yǔ)言程序設(shè)計(jì)》,清華大學(xué)出版社,2008年。</p><p>  [4]鄭阿奇,丁有和?!禫ISUAL C++教程》,機(jī)械工業(yè)出版社,2008年。<

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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)論