




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用實(shí)實(shí)驗(yàn)驗(yàn)指指導(dǎo)導(dǎo)書(shū)書(shū)麗水學(xué)院工程與設(shè)計(jì)學(xué)院麗水學(xué)院工程與設(shè)計(jì)學(xué)院 20142014 年年 1010 月月目目 錄錄實(shí)驗(yàn)一、DEBUG 程序的使用 .1實(shí)驗(yàn)二、匯編語(yǔ)言程序的匯編與調(diào)試.4實(shí)驗(yàn)三、系統(tǒng)功能調(diào)用程序設(shè)計(jì).7實(shí)驗(yàn)四、模塊化程序設(shè)計(jì).11實(shí)驗(yàn)五、DAIS-2CPU+實(shí)驗(yàn)臺(tái)的使用 .16實(shí)驗(yàn)六、8253 定時(shí)計(jì)數(shù)器實(shí)驗(yàn).20實(shí)驗(yàn)七、8255 并行接口實(shí)驗(yàn).25實(shí)驗(yàn)八、8251 串行接口實(shí)驗(yàn).31.1.實(shí)驗(yàn)一、實(shí)驗(yàn)一、DEBUG 程序的使用程序的使用一、實(shí)驗(yàn)?zāi)康囊弧?shí)驗(yàn)?zāi)康氖煜ぶ噶钕到y(tǒng),掌握常用指令的功能。熟悉 DEBUG 程序的使用,掌握匯編語(yǔ)言程序段的上機(jī)調(diào)試方
2、法。二、實(shí)驗(yàn)原理二、實(shí)驗(yàn)原理1、DEBUG 程序簡(jiǎn)介程序簡(jiǎn)介DEBUG 是 DOS 操作系統(tǒng)和 WINDOWS 操作系統(tǒng)都提供的程序動(dòng)態(tài)調(diào)試系統(tǒng)程序。利用DEBUG 可以匯編、反匯編機(jī)器指令,查看、修改內(nèi)存數(shù)據(jù),并可將內(nèi)存的數(shù)據(jù)或指令代碼保存為磁盤(pán)文件。DEBUG 采用字符界面,可在 MSDOS 方式鍵入:DEBUG 來(lái)啟動(dòng)該系統(tǒng)程序。進(jìn)入 DEBUG 狀態(tài)后,出現(xiàn)提示符“” ,表示可以使用 DEBUG 的分命令調(diào)試程序了。DEBUG 的分命令及功能如表 1-1 所示。表 1-1 DEBUG 分命令命令功能命令格式說(shuō)明反匯編U起始地址一次將 32 字節(jié)的指令代碼翻譯成相應(yīng)的助記符匯編A起始地址
3、將輸入的指令助記符翻譯成機(jī)器碼并存入存儲(chǔ)器中,默認(rèn)的段為代碼段顯示寄存器內(nèi)容R寄存器顯示或修改寄存器的內(nèi)容顯示存儲(chǔ)單元內(nèi)容D起始地址 結(jié)束地址或L 字節(jié)數(shù)用十六進(jìn)制和 ASCII 碼兩種形式顯示內(nèi)存單元內(nèi)容,默認(rèn)的段為數(shù)據(jù)段修改存儲(chǔ)單元內(nèi)容E 地址 內(nèi)容項(xiàng)表逐個(gè)修改存儲(chǔ)單元內(nèi)容或?qū)?nèi)容項(xiàng)表的內(nèi)容存入存儲(chǔ)器中運(yùn)行程序G=起始地址 斷點(diǎn)地址從起始地址開(kāi)始執(zhí)行程序到斷點(diǎn)處,顯示所有寄存器內(nèi)容及下一條指令的助記符跟蹤執(zhí)行程序T=起始地址 執(zhí)行步數(shù)一次執(zhí)行指定數(shù)量的指令,默認(rèn)步數(shù)為 1 步指定文件名N 文件標(biāo)識(shí)符文件標(biāo)識(shí)符將文件標(biāo)識(shí)符格式化到 CS:5CH 和 CS:6CH 兩個(gè)文件控制塊中寫(xiě)文件W起始
4、地址將內(nèi)存中從“起始地址”開(kāi)始,長(zhǎng)度由 BX、CX決定(32 位二進(jìn)制)的內(nèi)容寫(xiě)入由 N 命令指定的磁盤(pán)文件中讀文件L起始地址將磁盤(pán)上由 N 命令指定的文件讀入由“起始地址”開(kāi)始的存儲(chǔ)器中,BX、CX 包含文件的字節(jié)數(shù)退出 DEBUGQ2、簡(jiǎn)單程序設(shè)計(jì)、簡(jiǎn)單程序設(shè)計(jì)將起始地址為 1000H 的連續(xù) 40 個(gè)存儲(chǔ)單元依次填入 00H27H 連續(xù)整數(shù),參考程序如下:MOV CX,28HMOV SI,1000HMOV AL,00HL1:MOV SI,ALINC SIINC ALDEC CXJNZ L1HLT三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 DOS 或 Windows 系統(tǒng)的微機(jī).2.DEBUG 系統(tǒng)程序
5、四、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)內(nèi)容1、 程序匯編程序匯編利用 DEBUG 的 A 命令從起始地址 0100H 輸入源程序。格式為:A0100 回車(chē)。進(jìn)入 A 命令(匯編狀態(tài))后,按照源程序逐條輸入指令,其中所有的數(shù)字都應(yīng)是十六進(jìn)制數(shù)(十六進(jìn)制數(shù)的后綴 H 必須省略) ,也不能使用標(biāo)號(hào),轉(zhuǎn)移指令的目標(biāo)地址需用直接地址。如果指令錯(cuò)誤,將提示 Error,需重新輸入。待所有指令輸完后,直接按回車(chē),退出 A 命令。利用 U 命令檢查輸入的程序。格式為:U0100 回車(chē)。2、程序運(yùn)行、程序運(yùn)行利用 DEBUG 的 D 命令檢查起始地址為 100H 的存儲(chǔ)單元內(nèi)容。格式為 D100 回車(chē)。利用 DEBUG 的 T
6、命令單步執(zhí)行程序。格式為 T=0100 回車(chē)。T 命令每次執(zhí)行一條指令,顯示寄存器內(nèi)容和下一條指令的助記符,第一次 T 命令需指明起始地址,后續(xù) T 命令起始地址可缺省。利用 DEBUG 的 G 命令連續(xù)執(zhí)行程序。格式為:G=0100 0110 回車(chē)。其中 HLT 指令所在的地址0110H 設(shè)為斷點(diǎn)地址(HLT 指令不執(zhí)行) 。重新用 D 命令查看 1000H1027H 存儲(chǔ)單元的內(nèi)容,是否為 00H27H。D1000 1027利用 DEBUG 的 E 命令修改 1000H1027H 存儲(chǔ)單元的內(nèi)容為任意值。格式為:E1000 回車(chē)(進(jìn)入 E 命令后,可按空格鍵顯示下一地址單元,按減號(hào)鍵顯示上
7、一地址單元,按回車(chē)鍵退出 E 命令) 。重復(fù)使用 D 命令和 G 命令,對(duì)比程序運(yùn)行前后內(nèi)存單元內(nèi)容的變化。3、程序保存、程序保存利用 DEBUG 的 N 命令指定文件名。格式為:NC:LX.COM。利用 DEBUG 的 R 命令設(shè)定寄存器的內(nèi)容。格式為:RCX 回車(chē)。將 CX 設(shè)為文件的字節(jié)數(shù)0011H,BX 設(shè)為 0000H。利用 DEBUG 的 W 命令保存程序內(nèi)容。利用 Q 命令退出 DEBUG,在操作系統(tǒng)下查看 C:根目錄下是否建立了 LX.COM 文件,且文件長(zhǎng)度應(yīng)為 17 字節(jié)。4、利用文本編輯程序建立源程序、利用文本編輯程序建立源程序直接用文件編輯程序如 EDIT 程序或記事本
8、程序編輯如下源程序,并保存為 C:LX.TXT 文件。A0100MOV CX,28MOV SI,1000MOV AL,00MOV SI,ALINC SIINC ALDEC CXJNZ 0108HLTNC:LX2.COMRCX0011RBX0000WQ.3.源程序中字型加粗部分為 DEBUG 命令(包括 HLT 指令后的空行) ,連同指令一起保存到 TXT文件中。利用 DEBUG 程序的輸入改向,對(duì)源程序進(jìn)行匯編,格式為 DEBUGEj+1兩數(shù)交換修改指針比較完否?CX-1=0?NN結(jié)束圖 2-1 冒泡排序流程圖666661277777121212125437333318373337183333
9、5418373781185454541881818181.9.三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 DOS 或 Windows 系統(tǒng)的微機(jī)一臺(tái)MASM 匯編程序一套DEBUG 動(dòng)態(tài)調(diào)試程序四、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)內(nèi)容1、程序設(shè)計(jì)、程序設(shè)計(jì)從鍵盤(pán)輸入最多不超過(guò) 50 個(gè)字符的字符串,經(jīng)排序后從屏幕輸出。字符串輸入與顯示用宏指令實(shí)現(xiàn)。參考程序:DAT SEGMENTMESS1 DB Input character:,$SBUF DB 51,?,51 DUP($),$MESS2 DB Output character:,$MESS3 DB 0DH,0AH,$DAT ENDSSTAC SEGMENT STACKD
10、W 20 DUP(?)STAC ENDSCODE SEGMENTASSUME CS:CODE,DS:DAT,SS:STACINPUT MACRO BUFLEA DX,BUFMOV AH,0AHINT 21HENDMDISPLY MACRO STRINGLEA DX,STRINGMOV AH,9INT 21HENDMMAIN PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATMOV DS,AXDISPLY MESS1INPUT SBUF;輸入字符串(最后一個(gè)字節(jié)為 0DH)LEA BX,SBUF+2ADD BL,SBUF+1ADC BH,0 ;BX 指向輸入的最后
11、一個(gè)字符(回車(chē)符)MOV BYTE PTR BX,$;將輸入的最后一個(gè)回車(chē)符(0DH)改為$.10.DISPLY MESS3; 回車(chē)換行MOV CL,SBUF+1MOV CH,0DEC CXL0:LEA SI,SBUF+2MOV DX,CXL1:MOV AL,SICMP AL,SI+1JNA L2XCHG AL,SI+1MOV SI,ALL2:INC SIDEC DXJNZ L1LOOP L0DISPLY MESS2DISPLY SBUF+2RETMAIN ENDPCODE ENDSEND MAIN2、程序調(diào)試運(yùn)行、程序調(diào)試運(yùn)行源程序經(jīng)過(guò)匯編,形成目標(biāo)代碼文件(.OBJ) 、列表文件(.LST
12、)和交叉參考文件(.XRF) ,目標(biāo)代碼文件經(jīng)連接,形成可執(zhí)行程序(.EXE)和內(nèi)存映象文件(.MAP) ,并用程序 CREF.EXE 將交叉參考文件(.XRF)轉(zhuǎn)換成索引文件(.REF) 。在 DOS 提示符下運(yùn)行程序,并在 DEBUG 狀態(tài)檢查宏指令的擴(kuò)展。五、實(shí)驗(yàn)報(bào)告五、實(shí)驗(yàn)報(bào)告編寫(xiě)實(shí)現(xiàn)從鍵盤(pán)輸入字符、并將字符按從大到小順序排序的源程序,記錄 MAP 文件內(nèi)容及程序運(yùn)行時(shí)的屏幕顯示??偨Y(jié)宏指令的使用方法和宏指令與子程序的差別,在主程序中注上宏指令的擴(kuò)展情況。總結(jié) DOS 中斷調(diào)用的基本方法。.11.實(shí)驗(yàn)四、模塊化程序設(shè)計(jì)實(shí)驗(yàn)四、模塊化程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康囊?、?shí)驗(yàn)?zāi)康恼莆漳K化程序設(shè)計(jì)的基
13、本過(guò)程和基本方法,掌握模塊之間參數(shù)傳遞的方法,了解多模塊程序段的連接(組合)方式。二、實(shí)驗(yàn)原理二、實(shí)驗(yàn)原理1、模塊化程序設(shè)計(jì)、模塊化程序設(shè)計(jì)把一個(gè)程序分成具有多個(gè)明確任務(wù)的程序模塊,分別編寫(xiě)、調(diào)試,然后再把它們連接在一起,形成一個(gè)完整的程序,這樣的程序設(shè)計(jì)方法稱為模塊化程序設(shè)計(jì)。對(duì)于一個(gè)較復(fù)雜的大程序來(lái)講,模塊化程序設(shè)計(jì)不但降低了程序編寫(xiě)調(diào)試的難度,而且不同模塊可分配給不同程序員編寫(xiě)調(diào)試,模塊可重復(fù)利用,效率高。模塊化程序設(shè)計(jì)的一般步驟為:把整個(gè)程序劃分成多個(gè)模塊,畫(huà)出層次圖;編寫(xiě)調(diào)試各個(gè)模塊;把各個(gè)模塊連接成完整的程序。模塊劃分是一個(gè)自頂向下(top-down)的程序設(shè)計(jì)過(guò)程。用層次圖表示各
14、模塊之間的關(guān)系,頂層為主模塊,調(diào)用下一層的子模塊,而子模塊又可以調(diào)用下一層的子模塊,如圖 3-1 所示。劃分模塊時(shí),既要考慮模塊之間的控制耦合應(yīng)盡可能簡(jiǎn)單,一個(gè)模塊最好只有一個(gè)入口和一個(gè)出口;又要考慮模塊之間的數(shù)據(jù)的傳送量要少;同時(shí)還要使各模塊的長(zhǎng)度適中。2、局部符號(hào)與外部符號(hào)、局部符號(hào)與外部符號(hào)在用戶程序中使用的符號(hào)分為局部符號(hào)和外部符號(hào)。在本模塊中定義,又在本模塊中引用的符號(hào)稱為局部符號(hào),不同模塊的局部符號(hào)允許重名。在一個(gè)模塊中定義,而在另一模塊中引用的符號(hào)稱為外部符號(hào)。外部符號(hào)不允許重名。在一個(gè)模塊中定義、要提供給其他模塊使用的符號(hào),必須用 PUBLIC 定義該符號(hào)為外部符號(hào)。具體格式為
15、:PUBLIC 符號(hào)名,在另一模塊中定義而要在本模塊中使用的符號(hào)必須用 EXTRN 加以說(shuō)明。具體格式為:EXTRN 符號(hào)名:類(lèi)型,3、程序段的連接方式、程序段的連接方式段定義時(shí)的連接方式規(guī)定了程序連接時(shí)各模塊程序段的合并方法。允許使用的連接方式有:PUBLIC 該段連接時(shí)將與其他模塊中的同名段連接在一起。PRIVATE 該段不與其他模塊中的同名段合并。主模塊模塊 A模塊 B模塊 C模塊 B模塊 D模塊 E圖 3-1 層次圖.12.主模塊分模塊 1分模塊 2圖 3-3 程序結(jié)構(gòu)COMMON 該段在連接時(shí)與其他同名段有相同的起始地址,即產(chǎn)生覆蓋。STACK 連接方式同 PUBLIC,用于堆棧段。
16、缺省的連接方式為 PRIVATE。兩個(gè)模塊的地址分配及連接后裝入模塊的地址分配情況分別如圖 3-2 所示。三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 DOS 或 Windows 系統(tǒng)的微機(jī)一臺(tái)MASM 匯編程序一套DEBUG 動(dòng)態(tài)調(diào)試程序四、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)內(nèi)容1、程序設(shè)計(jì)、程序設(shè)計(jì)程序分三個(gè)模塊,主模塊為總控模塊,調(diào)用分模塊 1 和分模塊 2,完成從鍵盤(pán)輸入四門(mén)功課的成績(jī),計(jì)算并顯示總分。分模塊 1 完成成績(jī)的輸入,并將 ASCII 碼轉(zhuǎn)變成 BCD 碼,存于寄存器 AL中(子程序通過(guò) AL 傳遞結(jié)果給主程序) 。分模塊 2 完成四門(mén)功課總分的計(jì)算,并將 BCD 數(shù)轉(zhuǎn)變?yōu)锳SCII 碼,保存在變量 TOT
17、AL 中。程序?qū)哟谓Y(jié)構(gòu)如圖 3-3 所示。為簡(jiǎn)化程序書(shū)寫(xiě),主程序可使用宏指令和重復(fù)匯編偽指令 IRPCENDM。主模塊參考程序:NAME MAINPUBLIC CJ,TOTALEXTRN INPUT:FAR, SUM:FARDAT SEGMENT PUBLICMES1 DB CHINESE: ,9,$MES2 DB MATHS: ,9,$MES3 DB PHYSICS: ,9,$MES4 DB CHEMISTRY:,9,$MES5 DB TOTAL: ,9,$CR DB 0DH,0AH,$; 回車(chē)換行符CJ DB 4 DUP (?)TOTAL DB 3 DUP (?),$模塊 1 數(shù)據(jù)段連接方
18、式:common模塊 1 代碼段連接方式:缺省模塊 2 數(shù)據(jù)段連接方式:common模塊 2 代碼段連接方式:缺省模塊 1 代碼段裝入模塊數(shù)據(jù)段長(zhǎng)度同模塊 2 數(shù)據(jù)段模塊 2 代碼段數(shù)據(jù)段代碼段圖 3-2 程序段的地址分配.13.DAT ENDSSTAC SEGMENT STACKDW 100 DUP (?)STAC ENDSCODE SEGMENTASSUME CS:CODE,DS:DAT,SS:STACMAIN PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATMOV DS,AXDISPLY MACRO STR;定義 DISPLAY 宏指令LEA DX,ST
19、RMOV AH,9INT 21HENDMIRPC X,1234;重復(fù)匯編偽指令,每次用字符串 1234 中的一個(gè)代替 XDISPLY MES&XCALL INPUTMOV CJ+X-1,ALDISPLY CRENDMDISPLY MES5CALL SUM;計(jì)算總分的子程序DISPLY TOTAL;顯示總分DISPLY CRRETMAIN ENDPCODE ENDSEND MAIN分模塊 1 參考程序:NAME INPUTPUBLIC INPUTDAT SEGMENT PUBLICBUF DB 3,?,3 DUP (?)DAT ENDSCODE SEGMENTASSUME DS:DAT,
20、CS:CODEINPUT PROC FARLEA DX,BUF;輸入字符串MOV AH,0AH.14.INT 21HMOV BL,BUF+1;取輸入的字符個(gè)數(shù),將 ASCII 碼轉(zhuǎn)換成 BCD 碼AND BUF+2,0FHAND BUF+3,0FHCMP BL,1JA L1JZ L2MOV AL,0RETL1:MOV CL,4MOV AL,BUF+2SHL AL,CLOR AL,BUF+3RETL2:MOV AL,BUF+2RETINPUT ENDPCODE ENDSEND分模塊 2 參考程序:NAME SUMPUBLIC SUMEXTRN CJ:BYTE,TOTAL:BYTECODE SEG
21、MENTASSUME CS:CODESUM PROC FARMOV AH,0LEA SI,CJ+1MOV CL,3MOV AL,CJAGAIN:ADD AL,SI;計(jì)算四門(mén)功課的總分DAAJNC NEXTINC AHNEXT: INC SIDEC CLJNZ AGAINOR AH,30H;BCD 碼轉(zhuǎn)變成 ASCII 碼,存入 TOTAL 變量中MOV TOTAL,AHMOV BL,ALMOV CL,4SHR BL,CLOR BL,30HMOV TOTAL+1,BL.15.AND AL,0FHOR AL,30HMOV TOTAL+2,ALRETSUM ENDPCODE ENDSEND2、程序調(diào)
22、試運(yùn)行、程序調(diào)試運(yùn)行分別對(duì)三個(gè)模塊進(jìn)行匯編,形成三個(gè)目標(biāo)代碼文件(.OBJ) 。將三個(gè)目標(biāo)代碼文件連接成一個(gè)可執(zhí)行程序,方法為:LINK 目標(biāo)代碼文件名 1+目標(biāo)代碼文件名 2+目標(biāo)代碼文件名 3在 DOS 提示符下運(yùn)行程序,并檢查程序運(yùn)行結(jié)果。打開(kāi)連接時(shí)生成的內(nèi)存映象文件(.MAP) ,對(duì)照段的連接方式,分析每個(gè)模塊的程序段的排列方式。將主模塊中的 DAT 段及分模塊 1 中的 DAT 段的連接方式改成 COMMON,重新匯編、連接、運(yùn)行,結(jié)果如何?根據(jù) MAP 文件分析其原因。將主模塊中的 DAT 段及分模塊 1 中的 DAT 段的連接方式改成 PRIVATE(缺省方式) ,重新匯編、連接
23、、運(yùn)行,結(jié)果如何?根據(jù) MAP 文件分析其原因。五、實(shí)驗(yàn)報(bào)告五、實(shí)驗(yàn)報(bào)告簡(jiǎn)述模塊化程序設(shè)計(jì)的基本過(guò)程和基本方法。記錄段的連接方式與對(duì)應(yīng)的 MAP 文件內(nèi)容,分析代碼段、數(shù)據(jù)段、堆棧段連接方式對(duì)程序的影響。在上述實(shí)驗(yàn)程序的基礎(chǔ)上,增加計(jì)算并顯示四門(mén)功課平均分的指令。.16.實(shí)驗(yàn)五、實(shí)驗(yàn)五、DAIS-2CPU+實(shí)驗(yàn)臺(tái)的使用實(shí)驗(yàn)臺(tái)的使用一、實(shí)驗(yàn)?zāi)康囊弧?shí)驗(yàn)?zāi)康氖煜?DAIS-2CPU+實(shí)驗(yàn)系統(tǒng)的結(jié)構(gòu)和組成,掌握 Intel8086 集成開(kāi)發(fā)環(huán)境的使用。掌握 RAM 中的數(shù)據(jù)操作二、實(shí)驗(yàn)原理二、實(shí)驗(yàn)原理1、 實(shí)驗(yàn)系統(tǒng)的組成實(shí)驗(yàn)系統(tǒng)的組成系統(tǒng)特點(diǎn)Dais & Keil 中英文雙平臺(tái)支持:自主開(kāi)發(fā)
24、的 Dais 集成環(huán)境,提供單步、斷點(diǎn)、連續(xù)等豐富的調(diào)試手段。內(nèi)置雙蹤虛擬 PC 示波器,通過(guò)集成開(kāi)發(fā)環(huán)境可在計(jì)算機(jī)屏幕上顯示被測(cè)試端的輸出波形。同時(shí)配備開(kāi)發(fā)應(yīng)用版和示教綜合版集成軟件,形成了仿真開(kāi)發(fā)與教學(xué)實(shí)驗(yàn)相結(jié)合的多用途實(shí)驗(yàn)型開(kāi)發(fā)系統(tǒng),充分激發(fā)了學(xué)生的動(dòng)手及思維能力,有效提高了實(shí)驗(yàn)效率、實(shí)驗(yàn)成功率和教學(xué)質(zhì)量;同時(shí)支持 Keil 軟件,與最優(yōu)秀的嵌入式集成開(kāi)發(fā)環(huán)境實(shí)現(xiàn)無(wú)縫連接!獨(dú)創(chuàng)的達(dá)愛(ài)思 FlashDown 仿真技術(shù),采用專(zhuān)用下載芯片,可實(shí)現(xiàn) P0、P2 總線和 I/O 口全功能。完全自主的多 CPU 兼容技術(shù),對(duì)目標(biāo)處理器的支持從 8051/8751、8088 到 PC 計(jì)算機(jī),高度智能
25、的后臺(tái)監(jiān)控及 CPU 選擇開(kāi)關(guān)令目標(biāo) CPU 的切換靈活自如。獨(dú)創(chuàng)的 ISA 通用插座設(shè)計(jì),充分開(kāi)放,自由設(shè)計(jì),使接口實(shí)驗(yàn)項(xiàng)目由平面到立體無(wú)限延伸,可適配達(dá)愛(ài)思 ISA 實(shí)驗(yàn)擴(kuò)展卡,亦可由學(xué)生自行設(shè)計(jì)實(shí)驗(yàn)?zāi)K,培養(yǎng)獨(dú)立設(shè)計(jì)與動(dòng)手能力,直接面向課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)及電子競(jìng)賽。PCI 總線實(shí)驗(yàn)支持,強(qiáng)大的 PC 計(jì)算機(jī)資源與實(shí)驗(yàn)裝置的完美組合,支持Win9X/2000/NT/XP/2003 及 DOS 操作系統(tǒng),支持實(shí)模式、保護(hù)模式下的 I/O 設(shè)備、存儲(chǔ)器及中斷的訪問(wèn),支持匯編語(yǔ)言及高級(jí)語(yǔ)言編程(PCI 卡需要另購(gòu)) 。高效的 PACK 實(shí)驗(yàn)擴(kuò)展,靈活設(shè)計(jì),任意疊加,對(duì)創(chuàng)新實(shí)驗(yàn)項(xiàng)目 USB1.1/
26、2.0、TCP/IP、CAN-bus 等完美擴(kuò)展支持。工作模式單片機(jī):分別支持 8051 模式和 8751 模式(采用專(zhuān)用芯片、下載式技術(shù)實(shí)現(xiàn) P0、P2 的 I/O 功能)。微機(jī):8086 最小系統(tǒng)和 32 位 PCI 總線擴(kuò)展方式(PCI 卡需另購(gòu)) ,采用 PCI9052,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)箱的 I/O、存儲(chǔ)器、中斷的訪問(wèn)。使學(xué)生練習(xí)并掌握 WDM 驅(qū)動(dòng)程序的編寫(xiě),以及用 C/C+、匯編語(yǔ)言實(shí)現(xiàn)各個(gè)實(shí)驗(yàn)程序的設(shè)計(jì),支持最新的 Windows 版本!51 單片機(jī):分別支持 8051 模式和 8751 模式(采用專(zhuān)用芯片、下載式技術(shù)實(shí)現(xiàn) P0、P2 的 I/O 功能) 。系統(tǒng)組成如圖 5-1 所示。
27、 圖 5-1 實(shí)驗(yàn)系統(tǒng)組成+.17.2、集成軟件環(huán)境、集成軟件環(huán)境系統(tǒng)配有 Intel8086 集成開(kāi)發(fā)環(huán)境,提供全屏幕編輯、8086 和 8051 匯編與連接、DEBUG 動(dòng)態(tài)調(diào)試以及 PC 示波器功能。打開(kāi) Windows 開(kāi)始菜單,啟動(dòng) Intel8086 集成開(kāi)發(fā)環(huán)境,顯示程序主窗口,如圖 5-2 所示。在程序主窗口中,可以打開(kāi)全屏幕編輯窗口、寄存器窗口、調(diào)試窗口及示波器窗口,可以完成程序的編輯、匯編、連接、調(diào)試及運(yùn)行。圖 5-2 Intel8086 集成開(kāi)發(fā)環(huán)境主窗口三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 Windows 系統(tǒng)微機(jī)一臺(tái)DAIS-2CPU+實(shí)驗(yàn)臺(tái)一臺(tái)串行通信電纜一根四、實(shí)驗(yàn)內(nèi)容四
28、、實(shí)驗(yàn)內(nèi)容使用串行通信電纜連接 PC 機(jī)和實(shí)驗(yàn)臺(tái)。進(jìn)入 Intel8086 集成開(kāi)發(fā)環(huán)境,在主菜單上選擇實(shí)驗(yàn)臺(tái)對(duì)應(yīng)串口號(hào)(COM1 或 COM2) ,單擊文件菜單的新建命令或新建工具,出現(xiàn)全屏幕文本編輯窗口。1、清零程序?qū)嶒?yàn)把 RAM 區(qū)內(nèi) 4000H40FFH 單元的內(nèi)容清零。參考程序如下:CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3000HS1: MOV BX,4000H MOV Al,00H MOV CX,0010HL1: MOV BX,AX INC BX not al LOOP L1 JMP $CODE ENDS END S1實(shí)驗(yàn)步
29、驟LED 環(huán)境.18. 在“P”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所虛的代碼程序。 在“P”狀態(tài)下鍵入 3000,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。PC 環(huán)境 在與 PC 聯(lián)機(jī)狀態(tài)下,編譯、連接、裝載 PHSE01.ASM,用連續(xù)或單步方式運(yùn)行。運(yùn)行結(jié)果檢查 在單步運(yùn)行時(shí),每走一步可觀察其運(yùn)行結(jié)果。 在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)臺(tái)上的“暫停按鈕” ,使系統(tǒng)無(wú)條件推出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查 4000-40FFH 中執(zhí)行程序前后內(nèi)容的變化。 2、數(shù)據(jù)區(qū)移動(dòng)程序把 4100H 源 RAM 區(qū)首地址內(nèi)的 16 字節(jié)數(shù)據(jù)傳送到 4200H
30、 目標(biāo) RAM 區(qū)。設(shè)計(jì)思想:程序要求把內(nèi)存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一存儲(chǔ)區(qū)(稱為目的數(shù)據(jù)塊) 。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在存儲(chǔ)器中可能有三種情況,如圖 5-3:圖 5-3對(duì)于兩個(gè)數(shù)據(jù)分離的情況,如圖(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開(kāi)始,或者從數(shù)據(jù)塊的末地址開(kāi)始均可。但對(duì)于有部分重疊的情況,則要加以分析,否則重疊部分會(huì)因“搬移”而遭破壞??梢缘贸鋈缦陆Y(jié)論:當(dāng)源數(shù)據(jù)首址大于目的塊首址時(shí),從數(shù)據(jù)塊首址開(kāi)始傳送數(shù)據(jù)。當(dāng)源數(shù)據(jù)首址小于目的塊首址時(shí),從數(shù)據(jù)塊末址開(kāi)始傳送數(shù)據(jù)。參考程序如下:CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3060HS
31、4: MOV CX,0010H MOV SI,4100H MOV DI,4200H CMP SI,DI JA A42 ADD SI,CX ADD DI,CXA41: DEC SI DEC DI MOV AL,SI MOV DI,AL LOOP A41 JMP $A42: MOV AL,SI MOV DI,AL INC SI INC DI LOOP A42.19. JMP $CODE ENDS END S4實(shí)驗(yàn)步驟LED 環(huán)境 在“P”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所虛的代碼程序。 在“P”狀態(tài)下鍵入 3060,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。PC 環(huán)境 在與 PC
32、 聯(lián)機(jī)狀態(tài)下,編譯、連接、裝載 PHSE04.ASM,用連續(xù)或單步方式運(yùn)行。運(yùn)行結(jié)果檢查 在單步運(yùn)行時(shí),每走一步可觀察其運(yùn)行結(jié)果。 在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)臺(tái)上的“暫停按鈕” ,使系統(tǒng)無(wú)條件推出用戶運(yùn)行狀態(tài)返回監(jiān)控,檢查 4100-410FH 中執(zhí)內(nèi)容是否和 4200-420FH 中內(nèi)容完全一致。五、實(shí)驗(yàn)報(bào)告五、實(shí)驗(yàn)報(bào)告 DAIS-2CPU+實(shí)驗(yàn)系統(tǒng)的基本組成和 Intel8086 集成軟件環(huán)境的主要功能。 回答程序裝入實(shí)驗(yàn)臺(tái)后重新啟動(dòng) PC 機(jī),實(shí)驗(yàn)臺(tái)中程序是否存在。 假使把 4000H40FFH 中的內(nèi)容改成 FFh,如何修改程序。.20.S1 S0 L1 L0 M2 M1
33、 M0BCD實(shí)驗(yàn)六、實(shí)驗(yàn)六、8253 定時(shí)計(jì)數(shù)器實(shí)驗(yàn)定時(shí)計(jì)數(shù)器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康囊?、?shí)驗(yàn)?zāi)康恼莆?8253 的工作原理及其應(yīng)用。二、實(shí)驗(yàn)原理二、實(shí)驗(yàn)原理1、 8253 芯片芯片8253 是可編程定時(shí)/計(jì)數(shù)器接口芯片,內(nèi)部具有三個(gè)獨(dú)立的 16 位計(jì)數(shù)器,最高計(jì)數(shù)速率為2.6MHz。8253 的外部引腳和內(nèi)部結(jié)構(gòu)如圖 6-1 所示。8253 每個(gè)通道有六種工作方式,分別是方式 0 至方式 5,通過(guò)方式控制字選擇,8253 的方式控制字如圖 6-2 所示。 2、實(shí)驗(yàn)系統(tǒng)中的、實(shí)驗(yàn)系統(tǒng)中的 8253實(shí)驗(yàn)系統(tǒng)中裝有一片 8253,線路圖如圖 6-3 所示,通道 0 輸入 1.19MHz 的時(shí)鐘,輸出送 8
34、259的 IRQ0,作為實(shí)時(shí)時(shí)鐘信號(hào)。通道 1 輸入 1.8432MHz 的時(shí)鐘,以 12 分頻后輸出 153.6KHz 方波送8251,作為串行通信的收發(fā)時(shí)鐘。通道 2 以排針形式引出,供用戶實(shí)驗(yàn)使用,系統(tǒng)中的 8253 的端口地址為 40H43H,地址分配如表 6-1 所示。 表 6-1 8253 端口地址分配表通道選擇00選擇通道 001選擇通道 110選擇通道 210選擇通道 3計(jì)數(shù)方式0二進(jìn)制1二十進(jìn)制工作方式000方式 0001方式 110方式 211方式 3100方式 4101方式 5操作方式00鎖存計(jì)數(shù)值01讀/寫(xiě)計(jì)數(shù)器低字節(jié)10讀/寫(xiě)計(jì)數(shù)器高字節(jié)11先讀/寫(xiě)計(jì)數(shù)器低字節(jié)再讀/
35、寫(xiě)計(jì)數(shù)器高字節(jié)數(shù)據(jù)總線緩沖器讀/寫(xiě)控制邏輯控制寄存器通道0通道1通道2CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2RDWRA0A1CSD7D01234ABCD4321DCBAD08OUT010D17GATE011D26CLK09D35D44D53D62OUT113D71GATE114CLK115CS21RD22WR23OUT217A019GATE216A120CLK2188253圖 6-1 8253 內(nèi)部結(jié)構(gòu)和外部引腳圖 6-2 8253 的控制字.21. 圖 6-3 8253三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 Windows 系統(tǒng)微機(jī)一臺(tái)Dais-IP2.0 實(shí)驗(yàn)
36、臺(tái)一臺(tái)示波器一臺(tái)四、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)內(nèi)容1、 8253 的的 0 通常工作在方式通常工作在方式 3,產(chǎn)生方波。,產(chǎn)生方波。 程序流程圖 6-4 程序流程圖 實(shí)驗(yàn)電路圖 6-5 實(shí)驗(yàn)電路圖 編程提示8253 芯片介紹8253 是一種可編程定/計(jì)數(shù)器,有三個(gè)十六位計(jì)數(shù)器,其計(jì)數(shù)頻率范圍為 02MHZ,用+5V單電源供電。寄存器地址通道 0 計(jì)數(shù)器40H通道 1 計(jì)數(shù)器41H通道 2 計(jì)數(shù)器42H控制寄存器43H.22.8253 的功能用途:延時(shí)中斷實(shí)時(shí)時(shí)鐘可編程頻率發(fā)生器數(shù)字單穩(wěn)事件計(jì)數(shù)器復(fù)雜的電機(jī)控制器二進(jìn)制倍頻器8253 的六種工作方式:方式 0:計(jì)數(shù)結(jié)束中斷方式 3:方波頻率發(fā)生器方式 1:
37、可編程頻率發(fā)生方式 4:軟件觸發(fā)的選通信號(hào)方式 2:頻率發(fā)生器方式 5:硬件觸發(fā)的選通信號(hào)8253 的 0 號(hào)通道工作在方式 3,產(chǎn)生方波。 定時(shí)/計(jì)數(shù)器8253 方波參考程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3490HH9: MOV DX,0FFE3H MOV AL,36H OUT DX,AL MOV DX,0FFE0H MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL JMP $CODE ENDS END H9 實(shí)驗(yàn)步驟1、實(shí)驗(yàn)連線連接 138 譯碼輸入端 A.B.C,其中 A 連 A2,B 連
38、 A3,C 連 A4,138 使能控制輸入端G 與總線單元上方的 GS 相連。定時(shí)計(jì)數(shù)單元 CLK0 與分頻單元 T2 相連,GATE0 與 5V 相連,8253CS 與譯碼單元 Y0相連。用 8 芯扁平電纜將 8251 串行通信單元的數(shù)據(jù)總線插座與數(shù)據(jù)總線單元任一插座相連。2、LED 環(huán)境(1)在“P.”狀態(tài)下按“0EV/UN” ,裝載實(shí)驗(yàn)所需的代碼程序。(2)在“P.”狀態(tài)下鍵入 3490,然后按“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的運(yùn)行。3、PC 環(huán)境.23.在與 PC 聯(lián)機(jī)狀態(tài)下,編譯、連接、下載 PH88he09.asm,用連續(xù)方式運(yùn)行程序。4、觀察運(yùn)行結(jié)果以連續(xù)方式運(yùn)行程序,用示波器觀察 OU
39、T0 應(yīng)有方波輸出。5、終止運(yùn)行按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕” ,使系統(tǒng)無(wú)條件退出該程序的運(yùn)行返回監(jiān)控狀態(tài)。2、 電子發(fā)聲實(shí)驗(yàn)(選做)電子發(fā)聲實(shí)驗(yàn)(選做)8253 通道 2 工作在方式 3(方波發(fā)生器) ,CLK2 輸入 1.1925MHz 的 OPCLK 信號(hào),根據(jù)音階給8253 送不同的定時(shí)初值,OUT2 輸出不同頻率的方波,送蜂鳴器發(fā)聲。利用延時(shí)程序作音樂(lè)節(jié)拍,每過(guò)一定時(shí)間(一拍) ,給 8253 送下一拍的計(jì)數(shù)初值,實(shí)驗(yàn)接線如圖 6-6 所示,實(shí)驗(yàn)參考程序如下:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE
40、DB 33H,33H,3DH,33H,26H,26H,26H,26HDB 2DH,2DH,26H,26H,33H, 33H,33H,33H ;DB 33H,33H,4DH,45H,3DH,3DH,45H,4DHDB 45H,45H,45H,45H,45H,45H,45H,45H ;DB 33H,33H,3DH,33H,26H,26H, 26H,28HDB 2DH,2DH,26H,26H,33H,33H,33H,33H ;DB 33H,33H,45H,3DH,39H, 39H,39H,52HDB 4DH,4DH,4DH,4DH,4DH,4DH,4DH,4DH ;DB 2DH,2DH, 26H,2
41、6H,26H,26H,26H,26HDB 28H,28H,2DH,28H,26H,26H,26H, 26H ;DB 2DH,28H,26H,2DH,2DH,33H,3DH,4DHDB 45H,45H,45H,45H, 45H,45H,45H,45H ;DB 33H,33H,3DH,33H,26H,26H,26H,28HDB 2DH, 2DH,26H,26H,33H,33H,33H,33H ;DB 33H,33H,45H,3DH,39H,39H, 39H,52HDB 4DH,4DH,4DH,4DH,4DH,4DH,4DH,4DH, 00HDATA ENDSCODE SEGMENTASSUME C
42、S:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABLEMOV AL,BXMOV AH,00HA1:MOV DL,0FHMUL DLPUSH AXMOV AL,0B6HOUT 43H,ALPOP AXOUT 42H,ALMOV AL,AHOUT 42H,ALINC BXMOV AH,00H.24.MOV AL,BXAND AL,0FFHJZ A3MOV CX,77FFHA2:PUSH AXPOP AXLOOP A2JMP A1A3:MOV BX,OFFSET TABLEMOV AL,BXMOV AH,00HJMP A1CODE EN
43、DSEND START實(shí)驗(yàn)步驟:按圖接線。輸入程序,經(jīng)匯編、連接后裝入實(shí)驗(yàn)系統(tǒng)。運(yùn)行程序,觀察蜂鳴器發(fā)出的音樂(lè)聲。五、實(shí)驗(yàn)報(bào)告五、實(shí)驗(yàn)報(bào)告記錄實(shí)驗(yàn)過(guò)程,分析程序,總結(jié) 8253 各種工作方式的作用。OPCLK1.1925MHzCLK2OUT2SPKSPK UNIT8253圖 6-6 電子發(fā)聲實(shí)驗(yàn)接線圖系統(tǒng)總線.25.實(shí)驗(yàn)七、實(shí)驗(yàn)七、8255 并行接口實(shí)驗(yàn)并行接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康囊?、?shí)驗(yàn)?zāi)康恼莆湛删幊?I/O 接口芯片 8255 的接口原理使用,熟悉對(duì) 8255 初始化編程和輸入、輸出軟件的設(shè)計(jì)方法。掌握 8255 芯片的內(nèi)部結(jié)構(gòu)和外部引腳。掌握 8255A 的工作方式和編程原理。二、實(shí)驗(yàn)原理二
44、、實(shí)驗(yàn)原理1、8255 簡(jiǎn)介簡(jiǎn)介8255 是可編程并行接口芯片,一片 8255 提供 A、B、C 三個(gè) 8 位并行口,外部引腳如圖 7-1 所示。其中 A 口有方式 0、方式 1、方式 2 三種工作方式,B 口有方式 0、方式 1 兩種工作方式,C 口既可以用作一個(gè) 8 位數(shù)據(jù)端口,也可以用作兩個(gè) 4 位數(shù)據(jù)端口,還可以按位置位或復(fù)位(位操作) 。在 A口、B 口工作方式 1 或方式 2 時(shí),C 口的部分甚至全部口線作為 A 口、B 口的聯(lián)絡(luò)控制信號(hào)。一片 8255 占用四個(gè)端口地址,用 A1、A0兩根地址線選擇。當(dāng) A1A0=00 時(shí),選擇 A 口當(dāng) A1A0=01 時(shí),選擇 B 口當(dāng) A1
45、A0=10 時(shí),選擇 C 口當(dāng) A1A0=11 時(shí),選擇控制寄存器各端口的工作方式由方式控制字決定,控制字的格式如圖 7-2 所示。方式 0 為基本的輸入或輸出方式;方式 1 為帶選通的輸入或輸出方式;方式 2(僅 A 口允許)為帶選通的雙向方式。C 口位操作控制字如圖 7-3 所示。1 D6 D5 D4 D3 D2 D1 D00:PC3PC0 輸出1:PC3PC0 輸入0:端口 B 輸出1:端口 B 輸入0:端口 B 方式 01:端口 B 方式 10:PC7PC4 輸出1:PC7PC4 輸入0:端口 A 輸出1:端口 A 輸入00:端口 A 方式001:端口 A 方式11:端口 A 方式 2
46、圖 7-2 8255 方式控制字8255APA7PA0PB7PB0PC7PC0D7D0RDWRA1A0CS圖 7-1 8255 的外部引腳0 D6 D5 D4 D3 D2 D1 D00:復(fù)位1:置位000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7無(wú)關(guān)圖 7-3 C 口位操作控制字.26.2、實(shí)驗(yàn)單元電路、實(shí)驗(yàn)單元電路8255 實(shí)驗(yàn)單元 Dais 實(shí)驗(yàn)臺(tái)右下角有一片 8255 芯片,其數(shù)據(jù)線、片選信號(hào)線、地址線、讀寫(xiě)控制信號(hào)等分別與系統(tǒng)總線相連,A、B、C 三個(gè)并行口引腳全部以排針形式引出,供實(shí)驗(yàn)使用。線路圖如圖 7-4 所示,端口
47、地址如表 7-1 所示。開(kāi)關(guān)和發(fā)光二極管實(shí)驗(yàn)單元實(shí)驗(yàn)用開(kāi)關(guān)和發(fā)光二極管單元電路如圖 7-5 所示。三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 Windows 系統(tǒng)微機(jī)一臺(tái)Dais 實(shí)驗(yàn)臺(tái)一臺(tái)串行通信電纜一根四、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)內(nèi)容1、8255A.B.C 口波形測(cè)試??诓ㄐ螠y(cè)試。 程序流程圖 7-6 程序流程圖 8255A 并行口實(shí)驗(yàn)方波參考程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32C0HH1: JMP STARTP1PA EQU 0FFD8H端口地址A 口60HB 口61HC 口62H控制寄存器63HRDWRCSA1A0RESET系統(tǒng)總線PA7P
48、A0PB7PB0PC7PC0D7D0圖 7-4 Dais 中的 8255表 7-1 8255 端口地址D0D7+5VK0K7+5圖 7-5 SW-LED 單元電路.27.PB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHSTARTP1:MOV DX,PCTL MOV AL,80H OUT DX,AL MOV AL,55HP11: MOV DX,PA OUT DX,AL INC DX OUT DX,AL INC DX OUT DX,AL MOV CX,8000H LOOP $ NOT AL JMP P11CODE ENDS END H1 實(shí)驗(yàn)步驟1、LED 環(huán)境(
49、1)在“P.”狀態(tài)下按“0EV/UN” ,裝載實(shí)驗(yàn)所需的代碼程序。(2)在“P.”狀態(tài)下鍵入 32C0,然后按“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的運(yùn)行。2、PC 環(huán)境在與 PC 聯(lián)機(jī)狀態(tài)下,編譯、連接、下載 PH88he01.asm,用連續(xù)方式運(yùn)行程序。3、觀察運(yùn)行結(jié)果以連續(xù)方式運(yùn)行程序,用 8255A、B、C 口分別用插針連接 L1-L8,觀察發(fā)光二極管變化情況,用萬(wàn)用表測(cè)量 8255A、B、C 口應(yīng)有高低電平輸出。4、終止運(yùn)行按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕” ,使系統(tǒng)無(wú)條件退出該程序的運(yùn)行返回監(jiān)控狀態(tài)。2、用、用 8255 PA 作開(kāi)關(guān)量輸入口,作開(kāi)關(guān)量輸入口,PB 作輸出口。作輸出口。 程序
50、流程圖 7-7 程序流程圖 實(shí)驗(yàn)電路.28.圖 7-8 實(shí)驗(yàn)電路圖 編程提示(1)8255A 芯片簡(jiǎn)介8255A 可編程外圍接口芯片是 Intel 公司生產(chǎn)的通用并行接口芯片,它具有A、B、C 三個(gè)并行接口,用+5V 電源供電,能在以下三種方式下工作: 方式 0:基本輸入/輸出方式方式 1:選通輸入/輸出方式方式 2:雙向選通工作方式(2)使 8255A 端口 A 工作在方式 0 并作為輸入口,讀取 K1K8 八個(gè)開(kāi)關(guān)量,送 PB 口顯示。PB 口工作在方式 0 作為輸出口。 8255A 并行口實(shí)驗(yàn)PA 輸入,PB 輸出參考程序CODE SEGMENT ASSUME CS:CODE,DS:CO
51、DE,ES:CODE ORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTL MOV AL,90H OUT DX,ALP2: MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2CODE ENDS END H2 實(shí)驗(yàn)步驟 按實(shí)驗(yàn)電路圖連接線路: 8255A 芯片 A 口的 AP0PA7 依次和開(kāi)關(guān)量輸入插孔 K1K8 相連。 8255A 芯片 B 口的 AB0PB7 依次接 L1L8 運(yùn)行實(shí)驗(yàn)程序。1、LED 環(huán)境 在系統(tǒng)處“P.”狀態(tài)時(shí)按“0EV/UN” ,裝
52、載實(shí)驗(yàn)所需的代碼程序。輸入 32E0,按 EXEC 鍵,撥動(dòng) K1K8、L1L8 會(huì)跟著亮滅。2、PC 環(huán)境在與 PC 聯(lián)機(jī)狀態(tài)下,編譯、連接、下載 PH88he02.asm,用連續(xù)方式運(yùn)行程序。 撥動(dòng) K1K8、L1L8 會(huì)跟著亮滅。.29.3、 用用 8255 作輸出口,控制十二個(gè)發(fā)光二極管燃滅,模擬交通燈管理。作輸出口,控制十二個(gè)發(fā)光二極管燃滅,模擬交通燈管理。 編程提示(1) 、通過(guò) 8255A 控制發(fā)光二極管 PB3、PB0、PA5、PA2 對(duì)應(yīng)黃燈,PB1、PA6、PA3、PA0 對(duì)應(yīng)紅燈,PB2、PA7、PA4、PA1 對(duì)應(yīng)綠燈,以模擬交通路燈的管理。(2) 、要完成本實(shí)驗(yàn),必須
53、先了解交通路燈的亮滅規(guī)律,沒(méi)有一個(gè)十字路口 1、3 為南北方向,2、4 為東西方向,初始狀態(tài)為四個(gè)路口的紅燈全亮。之后,1、3 路口的綠燈亮,2、4 路口的紅燈亮,1、3 路口方向通車(chē)。延時(shí)一段時(shí)間后,1、3 路口的綠燈熄滅,而 1、3 路口的黃燈開(kāi)始閃爍,閃爍若干次以后,1、3 路口紅燈亮,而同時(shí) 2、4 路口的綠燈亮,2、4 路口方向通車(chē),延時(shí)一段時(shí)間后,2、4 路口的綠燈熄滅,而黃燈開(kāi)始閃爍,閃爍若干次以后,再切換到 1、3 路口方向,之后,重復(fù)上述過(guò)程。(3) 、程序中設(shè)定好 8255A 的工作模式,及三個(gè)端口均工作在方式 0,并處于輸出狀態(tài)。(4) 、各發(fā)光二極管共陽(yáng)極,使其點(diǎn)亮應(yīng)使
54、 8255A 相應(yīng)端口的位清 0,邏輯 1 熄滅。 程序流程圖 7-9 程序流程圖 實(shí)驗(yàn)電路.30.圖 7-10 實(shí)驗(yàn)電路圖實(shí)驗(yàn)步驟按實(shí)驗(yàn)電路圖連接線路: 8255APA0-L15 PA1-L14 PA2-L13 PA3-L11 PA4-L10 PA5-L9 PA6-L7 PA6-L6 PB0-L5PB1-L3 PB2-L2 PB3-L1運(yùn)行實(shí)驗(yàn)程序:1、LED 環(huán)境 在系統(tǒng)處“P.”狀態(tài)時(shí)按“0EV/UN” ,裝載實(shí)驗(yàn)所需的代碼程序。輸入 32F0,按 EXEC 鍵,L1L12 發(fā)光二極管模擬交通燈顯示。2、PC 環(huán)境在與 PC 聯(lián)機(jī)狀態(tài)下,編譯、連接、下載 PH88he03.asm,用連續(xù)
55、方式運(yùn)行程序。L1L12 發(fā)光二極管模擬交通燈顯示。3、觀察運(yùn)行結(jié)果 以連續(xù)方式運(yùn)行程序,觀察發(fā)光二極管變化情況,記錄初始態(tài)以及變化狀態(tài)。五、實(shí)驗(yàn)報(bào)告五、實(shí)驗(yàn)報(bào)告復(fù)習(xí) 8255 的工作方式及控制字,仔細(xì)分析實(shí)驗(yàn)參考程序的指令功能。分析實(shí)驗(yàn)電路圖,寫(xiě)出實(shí)驗(yàn)步驟。如果利用 8255A 口輸出數(shù)據(jù)到 LED 數(shù)碼顯示器,使循環(huán)顯示 09 十個(gè)數(shù)字,該如何連線,實(shí)驗(yàn)程序如何修改?實(shí)驗(yàn)臺(tái)實(shí)驗(yàn)臺(tái) LED 數(shù)碼顯示單元電路圖數(shù)碼顯示單元電路圖74LS0774LS07X1adpX2X3X4+5V+5VY1Y201237654.31.實(shí)驗(yàn)八、實(shí)驗(yàn)八、8251 串行接口實(shí)驗(yàn)串行接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康囊?、?shí)驗(yàn)?zāi)康氖煜?/p>
56、串行通信的基本概念掌握 8251 串行接口芯片的工作方式及其應(yīng)用。二、實(shí)驗(yàn)原理二、實(shí)驗(yàn)原理1、8251A 串行接口芯片串行接口芯片8251A 是串行通信接口芯片,主要功能為:允許同步或異步通信,同步通信波特率為 064K,異步通信波特率為 019.2K。同步通信時(shí),允許內(nèi)同步,也允許外同步,允許單同步字符或雙同步字符。異步通信時(shí),字符長(zhǎng)度為 58 位,停止位為 12 位,允許奇偶校驗(yàn)或不帶校驗(yàn),具有奇偶錯(cuò)誤、溢出錯(cuò)誤和幀錯(cuò)誤檢測(cè)能力。8251A 的內(nèi)部結(jié)構(gòu)如圖 8-1 所示,其方式控制字、命令控制字和狀態(tài)字格式如圖 8-2 所示。8251 通過(guò) C/D 信號(hào)選擇內(nèi)部命令寄存器和數(shù)據(jù)寄存器,當(dāng)
57、C/D 與地址線 A0 相連時(shí),一片8251A 占用兩個(gè)端口地址,其中奇地址為控制端口,偶地址為數(shù)據(jù)端口。8251A 的方式控制字和命令控制字是由寫(xiě)入的先后順序決定的,復(fù)位后第一次寫(xiě)入的控制字為方式控制字,以后寫(xiě)入的為操作控制字。如果要改變 8251A 的工作方式,需通過(guò)外部 RESET 信號(hào)或復(fù)位命令字實(shí)施對(duì) 8251A 的復(fù)位操作。 00無(wú)效011 位停止位101.5 位停止位異步112 位停止位002 個(gè)同步字符,內(nèi)同步,SYNDET 輸出012 個(gè)同步字符,外同步,SYNDET 輸入101 個(gè)同步字符,內(nèi)同步,SYNDET 輸出同步111 個(gè)同步字符,外同步,SYNDET 輸入數(shù)據(jù)總線
58、緩沖讀寫(xiě)控制邏輯調(diào)制/解調(diào)控制RESETCLKC/DRDWRCSD7D0發(fā)送緩沖器發(fā)送移位寄存器發(fā)送控制電路接收緩沖器接收移位寄存器接收控制電路RxDTxDRxRDYRxCSYNDETTxRDYTxEMPTYTxCDSRDTRCTSRTS圖 8-1 8251A 內(nèi)部結(jié)構(gòu).32.圖 8-2 8251A 控制字格式2、實(shí)驗(yàn)系統(tǒng)中的、實(shí)驗(yàn)系統(tǒng)中的 8251實(shí)驗(yàn)系統(tǒng)中的 8251,如圖 8-3、圖 8-4 所示。8251A 的端口地址見(jiàn)表 8-1。TxDGNDRxDDSRCTSRTS圖 8-3 實(shí)驗(yàn)單元中的 8251DTREH IR RTSER SBRK RxE DTR TxEN1:允許發(fā)送1:DTR
59、 有效1:允許接收1:發(fā)送斷缺字符0:正常工作1:清除錯(cuò)誤標(biāo)志1:RTS 有效1:內(nèi)部復(fù)位1:進(jìn)入同步字符搜索方式(b) 8251A 操作控制字DSR SYNDET/BRKDET FE OE PE TxEMPTY RxRDY TxRDY為 1 時(shí),相應(yīng)引腳信號(hào)有效(c) 8251A 狀態(tài)字S2 S1 EP PEN L2 L1 B2 B100:同步方式01:異步方式(1)10:異步方式(16)11:異步方式(64)00:5 位01:6 位10:7 位11:8 位0:不帶奇偶校驗(yàn)01:奇校驗(yàn)11:偶校驗(yàn)(a) 8251A 方式控制字.33.表 8-1 8251 端口地址分配芯片端口地址數(shù)據(jù)C0H系
60、統(tǒng) 8251控制C1H數(shù)據(jù)80H實(shí)驗(yàn)單元 8251控制81H三、實(shí)驗(yàn)環(huán)境三、實(shí)驗(yàn)環(huán)境運(yùn)行 Windows 系統(tǒng)微機(jī)一臺(tái)Dais-IP2.0 實(shí)驗(yàn)臺(tái)一臺(tái)示波器一臺(tái)四、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)內(nèi)容1、利用本實(shí)驗(yàn)系統(tǒng)內(nèi)的、利用本實(shí)驗(yàn)系統(tǒng)內(nèi)的 8251 接口芯片,采用自發(fā)自收的方法,實(shí)現(xiàn)數(shù)據(jù)收發(fā)通信實(shí)驗(yàn)。發(fā)送的數(shù)接口芯片,采用自發(fā)自收的方法,實(shí)現(xiàn)數(shù)據(jù)收發(fā)通信實(shí)驗(yàn)。發(fā)送的數(shù)據(jù)為據(jù)為 4000H 開(kāi)始的開(kāi)始的 16 個(gè)源個(gè)源 RAM 區(qū)單元內(nèi)容,接收到的數(shù)據(jù)放在區(qū)單元內(nèi)容,接收到的數(shù)據(jù)放在 5000H 開(kāi)始的開(kāi)始的 RAM 單元中,核單元中,核對(duì)接收的數(shù)據(jù)是否和發(fā)送的數(shù)據(jù)一致。對(duì)接收的數(shù)據(jù)是否和發(fā)送的數(shù)據(jù)一致。 編程提示數(shù)據(jù)發(fā)送
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建藝考生高考數(shù)學(xué)試卷
- 高一聯(lián)考期末數(shù)學(xué)試卷
- 肌理畫(huà)課件兒童創(chuàng)意
- 肉羊的飼養(yǎng)管理技術(shù)
- 肝病的癥狀與診斷方法課件
- 2025年03月浙江嘉興市海寧市人民醫(yī)院招聘1人筆試歷年專(zhuān)業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025年浙江醫(yī)療衛(wèi)生招聘溫州醫(yī)科大學(xué)附屬第二醫(yī)院招聘特殊專(zhuān)業(yè)技術(shù)崗位106人筆試歷年專(zhuān)業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 食品采購(gòu)加工培訓(xùn)課件
- 智能城市運(yùn)輸創(chuàng)投項(xiàng)目計(jì)劃書(shū)
- 2025至2030軌道軸箱行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢分析報(bào)告
- APQP應(yīng)用表格全套
- 基于UML的外賣(mài)訂餐系統(tǒng)需求分析
- 中國(guó)宮腔鏡診斷與手術(shù)臨床實(shí)踐指南(2023年)
- 衡水市武強(qiáng)縣事業(yè)單位考試歷年真題
- 髖臼周?chē)毓切g(shù)治療成人髖關(guān)節(jié)發(fā)育不良
- 各科門(mén)診診所技術(shù)操作規(guī)程
- 新教材人教版高中化學(xué)選擇性必修1全冊(cè)課時(shí)練習(xí)及章末檢測(cè)含解析
- 2023年黑龍江高中地理學(xué)業(yè)水平考試高頻考點(diǎn)
- 部編版小學(xué)語(yǔ)文四年級(jí)上冊(cè)第三單元整體設(shè)計(jì)交流課件
- 年產(chǎn)30萬(wàn)噸水泥粉磨站建設(shè)工程可行性研究報(bào)告
- 邊際貢獻(xiàn)分析
評(píng)論
0/150
提交評(píng)論