微機系統(tǒng)與接口實驗-利用兩臺TPC-ZK微機原理實驗平臺實現(xiàn)兩機之間通信_第1頁
微機系統(tǒng)與接口實驗-利用兩臺TPC-ZK微機原理實驗平臺實現(xiàn)兩機之間通信_第2頁
微機系統(tǒng)與接口實驗-利用兩臺TPC-ZK微機原理實驗平臺實現(xiàn)兩機之間通信_第3頁
微機系統(tǒng)與接口實驗-利用兩臺TPC-ZK微機原理實驗平臺實現(xiàn)兩機之間通信_第4頁
微機系統(tǒng)與接口實驗-利用兩臺TPC-ZK微機原理實驗平臺實現(xiàn)兩機之間通信_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z.微機系統(tǒng)與接口實驗報告班級:組員:實驗目的通過本實驗了解串行通信原理;理解計算機軟件、硬件如何配合工作,如何對計算機進展功能擴展;學會一般接口電路設計過程和驅動代碼編寫方法;學會如何進展軟件、硬件調(diào)試。二、實驗內(nèi)容〔1〕實驗任務利用兩臺TPC-ZK微機原理實驗平臺實現(xiàn)兩機之間通信。〔2〕實驗要求在實驗臺實現(xiàn):設計硬件電路并在實驗臺上完成連接;雙機通信時,一方用鍵盤或AD采集模擬信號,在另一方機器展示;完成程序的編寫、調(diào)試工作。三、實驗原理分析設計思想,繪制實驗原理圖、流程圖?!?〕.實驗原理圖鍵盤掃描原理圖按上圖接線,8255C口接鍵盤〔8255的C0~C3接鍵盤的列0~列3,C4~C7接鍵盤的行0~行3〕,片選CS接大板上地址譯碼輸出的288h~28fh。識別鍵盤上的閉合鍵,通過采用行掃描法〔行掃描法是使鍵盤上*一行線為低電平,而其余行接高電平,然后讀取列值;如果列值中有*位為低電平,則說明行列交點處的鍵被按下;否則掃描下一行,直到掃完全部的行線為止〕。數(shù)碼管顯示原理圖電路原理如上圖。8255CS接地址譯碼輸出的288h~28fh。用20芯扁平電纜連接實驗板與主實驗臺上的20芯擴展插座。8255的A口(PA0~PA6)與七段數(shù)碼管的段碼輸入端a~g,8255的B口(PB0~PB5)與位碼驅動輸入端已連好,不用再接線?!?〕.流程圖開場開場初始化8251、8254和8255芯片置8255A控制字為81H:PC0~PC3輸入,PC4~PC7輸出讀入C口數(shù)據(jù),判斷小鍵盤上是否有鍵按下調(diào)用鍵盤掃描子程序,讀入小鍵盤的按鍵值向8251數(shù)據(jù)口寫入數(shù)據(jù)并發(fā)送讀串行接口芯片8251狀態(tài)口數(shù)據(jù),判斷其是否可以傳送數(shù)據(jù)讀8251狀態(tài)口數(shù)據(jù),判斷其是否收到數(shù)據(jù)調(diào)數(shù)碼管顯示子程序,輸出數(shù)據(jù)是是是否否否四、實驗程序程序清單及相關注釋:DATA SEGMENTDATA ENDSSTACK SEGMENTSTACKDW 100HDUP(")STACK ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATA;;實驗機器指定的端口地址PORTA EQU 288H ;8255端口地址PORTB EQU 289HPORTC EQU 28AHTIMEREQU 280H ;8254的端口地址START: ;初始化8251 MOV D*,2B9H ;控制口地址為2B9H MOV AL,0 OUT D*,AL OUT D*,AL OUT D*,AL MOV AL,40H ;IR(D6)置1〔40H:01000000〕使8251A復位〔內(nèi)部復位〕OUT D*,AL ;方式控制字必須在復位后首先寫入MOV AL,0CFH ;異步傳送;幀的格式,8位字符,2個停頓位,無校驗;1200Baud/s,波特率因子64 OUT D*,AL MOV AL,27H ;寫入命令控制字,允許發(fā)送和承受,并使RTS輸出為低OUT D*,AL ;初始化8254計數(shù)器MOV AL,00110110B ;方式3,作為方波發(fā)生器MOV D*,TIMER+3 OUT D*,AL MOV A*,52 ;頻率19.2Khz MOV D*,TIMER OUT D*,AL ;寫入計數(shù)器初值的低字節(jié)MOV AL,AH OUT D*,AL ;寫入計數(shù)器初值的高字節(jié);初始化8255,工作方式0,A口輸出,C口高位輸出,低位輸入,B口輸出;A口輸出段碼;C口用于檢測鍵盤輸入MOV D*,PORTA+3 MOV AL,81H;10000001 OUT D*,AL ;從鍵盤獲取輸入*1: MOV AL,00h MOV D*,PORTCOUT D*,AL ;00->C口,PC0置0WAIT: IN AL,D* ;讀入列線值AND AL,0FH ;只要低四位CMP AL,0FH ;無按鍵按下,則跳轉至*2,判斷是否收到數(shù)據(jù)JZ *2 CALLDELAY MOV BL,4 ;行數(shù)MOV BH,4 ;列數(shù)MOV AL,0EFH ;掃描碼MOV CL,0FH MOV CH,0FFH ;鍵值-1ROW: OUT D*,AL ROL AL,1 ;左移生成下一個掃描碼MOV AH,AL INAL,D* ;讀入列線值AND AL,0FH CMP AL,0FH JNZ COL ;有鍵按下轉COL ADD CH,BH ;指向*列按鍵號,開場編號MOV AL,AH DEC BL JNZ ROW JMP *1COL: INC CH RCRAL,1 ;根據(jù)接口可能需要改為SHL JCCOL MOVAL,CH ;AL為鍵號 CALL INPUT MOVBL,AL ;;在屏幕上顯示 ;;發(fā)送輸入的字符SEND: MOV D*,2B9H IN AL,D* ;讀狀態(tài)口AND AL,01H ;T*RDY=1?是否可以傳送JZ SEND DEC D* MOVAL,BL OUT D*,AL ;;*2: MOV D*,2B9H IN AL,D* ;讀狀態(tài)口AND AL,02H ;R*RDY=1?是否收到新消息JZ *1 ;未接收到跳轉到*1 DEC D* IN AL,D* CALL QDM*3: MOV D*,PORTA OUT D*,AL JMP *1E: MOV A*,4C00H INT 21HDELAY PROC NEAR PUSH C* MOV C*,7FFFH ;有按鍵按下LP0: LOOP LP0 ;延時POP C* RETDELAY ENDP ;;子程序INPUT,將小鍵盤輸入的鍵號,轉換成相對應的ASCII碼;;輸入的存儲在AL中,轉換結果成儲存在AL中INPUT PROC NEAR PUSH B* CMP AL,6 IN1 MOV BL,0FH SUB BL,AL MOVAL,BL ADDAL,'0' JMP INENDIN1: MOV BL,'f' SUB BL,AL MOVAL,BLINEND:POP B* RET INPUT ENDP ;;子程序QDM,將數(shù)字轉換成七段碼在數(shù)碼管上顯示;;AL儲存要轉換的字符的ASCII碼,轉換結果在AL中QDM PROCNEARCASE0: CMP AL,'0' JNE CASE1 MOV AL,3FH JMPCASEENDCASE1: CMP AL,'1' JNE CASE2 MOVAL,06H JMPCASEENDCASE2: CMP AL,'2' JNE CASE3 MOVAL,5BH JMPCASEENDCASE3: CMP AL,'3' JNE CASE4 MOVAL,4FH JMPCASEENDCASE4: CMP AL,'4' JNE CASE5 MOVAL,66H JMPCASEENDCASE5: CMP AL,'5' JNE CASE6 MOVAL,6DH JMPCASEENDCASE6: CMP AL,'6' JNE CASE7 MOVAL,7DH JMPCASEENDCASE7: CMP AL,'7' JNE CASE8 MOVAL,07H JMPCASEENDCASE8: CMPAL,'8' JNECASE9 MOVAL,7FH JMPCASEENDCASE9: CMPAL,'9' JNECASEA MOVAL,6FH JMPCASEENDCASEA: CMPAL,'a' JNECASEB MOVAL,77H JMPCASEENDCASEB: CMPAL,'b' JNECASEC MOVAL,7CH JMPCASEENDCASEC: CMPAL,'c' JNECASED MOVAL,39H JMPCASEENDCASED: CMPAL,'d' JNECASEE MOVAL,5EH JMPCASEENDCASEE: CMPAL,'e' JNECASEF MOVAL,79H JMPCASEENDCASEF: CMPAL,'f' JNEDEFAULT MOVAL,71H JMPCASEENDDEFAULT: MOVAL,0HCASEEND: RETQDM ENDPCODE ENDS ENDSTARTCODE ENDS ENDSTART五、實驗結果描述實驗現(xiàn)象及結果并給予分析。實驗現(xiàn)象:按照上述實驗原理圖連接好每臺機器的電路,然后把把兩臺機器的T*D和R*D分別互聯(lián)起來。雙機通信時,在每臺機器上的小鍵盤上按鍵時,都可立刻在另一臺機器的數(shù)碼管上顯示輸入的數(shù)據(jù),兩臺機器是異步雙工通信的,發(fā)送和承受可同時進展且互不干擾。結果分析:由上述的實驗流程圖可知,當機器甲沒有按鍵時,程序中會轉到檢查是否收到數(shù)據(jù)的局部,假設機器乙有數(shù)據(jù)傳來,則接收數(shù)據(jù)并調(diào)用數(shù)碼管顯示模塊輸出;假設有按鍵,則調(diào)用鍵盤掃描程序讀入按鍵值,并把數(shù)據(jù)傳到串行接口芯片8251,由其與機器乙按照事先規(guī)定好的幀的格式傳送數(shù)據(jù),對機器乙也是執(zhí)行與機器甲一樣的流程。六、問題解決及收獲體會本次試驗首先的問題便是4乘4鍵盤輸入的識別,通過首先確定列號再通過行掃描的方式解決了問題,而后關于芯片的具體作用通過翻閱課本得到了復習和穩(wě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

提交評論