微機(jī)原理與接口技術(shù)實驗指導(dǎo)書_第1頁
微機(jī)原理與接口技術(shù)實驗指導(dǎo)書_第2頁
微機(jī)原理與接口技術(shù)實驗指導(dǎo)書_第3頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理與接口技術(shù)實驗指導(dǎo)書微機(jī)原理與接口技術(shù)實驗室目錄實驗0將ASCII表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 1實驗一8086匯編語言程序設(shè)計初步3實驗二8086匯編語言程序設(shè)計6實驗三DOS系統(tǒng)功能調(diào)用 10實驗四8255A并行接口實驗 12實驗五8253 定時器/計數(shù)器接口實驗 16實驗六8259A中斷控制器實驗 19實驗七步進(jìn)電機(jī)控制實驗 23實驗八電子琴的設(shè)計 26實驗九七段數(shù)碼管實驗 30實驗十38譯碼實驗31實驗一 A / D轉(zhuǎn)換實驗 32實驗十二D /A轉(zhuǎn)換實驗 34附錄:實驗報告模版 35微機(jī)原理與接口技術(shù)實驗指導(dǎo)書實驗0將ASCII表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)一. 實驗?zāi)康模河^察

2、ASCII表示的十進(jìn)制與二進(jìn)制的區(qū)別;二. 實驗步驟:(一)、輸入源程序1. 建一個文本文檔d.text。輸入程序把后綴名改成.asm的形式。把該文件放在 D盤masm文件下。2. 打開命令提示符。3. 輸入D:回車4. cd masm 回車。5. masm d.asm 回車。6i nk d.obj回車。jHicrosof tSecfmcn-tedt Executable Linke t- Uer-s Ior學(xué) Jul 13 1992<C) ttici*osof t Copp 184-1992 - A11 piffhcs j*esei*ved_Ifiun File il.exe :回車,

3、生成exe可執(zhí)行文件。(二)、在3500-3504單元輸入十進(jìn)制數(shù) 12的ASCII碼,即 E3500 30 30 30 31 321. 把生成的d.exe文件復(fù)制到 D盤下。2. debug 回車3. n d.exe 回車L回車U 0000 回車4. E3500 回車30 30 30 31 32 回車uu uu PB B uu u c o PD WWOQKNUBOOOWOKNc»r00a5 DI,35B0 BL,FF AL,LDI3 AL,3A 0014 仏3® 0014ALrBL rDI+Bfll.-AL DI081CD:Rasm>dcnu -n d.exc 卜

4、ku13CC=S0B6 S905S6 13CC:0G3 BFS035 ll3CC = G0e6 B3TF 13CC:0«Ufi EG朋 13CC:00SA 3C3A 13CC:0S0C 7306 13CC:6O0E 2C30 13CC:0010 7202 13GG=0812 SABS 13CC:0GH BRC3 13CC:0ei6 i3CC=GB19 47 il3CC:B81R E2BA 13CC=0O1C EBFE 13CC:001E 236(3(三)、用G運行程序-jf-0000 001 eBX=0Q0A CX =0060 DM =0008SP=00S6BP=8600 SI=35

5、64 DI=3510DS=13B4 ES=13B4S£=13C4 CS=13CC IP=6B1ENU UP El PL MZ NA PO NG13CC = 0B1E CD2QI NT20(四)、用D3510查看結(jié)果,應(yīng)為:3510 0C 00-d3S101304:3510 0C13B4 = 352B 0Q 丄 3B4-3S300913B4:3540 13B;3550001 3R4:3S6P) RR6.334 = 357003E3B4:3S8008陰 00 60 00 0000 00 60 00 0000 00 00 80 0B 00 0Q 00 00 00 00 0S 60 00 0

6、0RF1 AO AA HA PH00 00 S0 00 00 00 00 S0 0Q 0000 00-00 6030 0&Q0 00 QQ90 B00B B0 0090 00-00 00 6030 00-00 0 西 HRAHPR00 00-00 60 0000 00-00 00 0ee 00 OB no 0000 00 00 08 0006 00 OB 03 00Q0 00 如 0 0000 00 00 00 00 na nA hr nn an0Q 00 00 0Q 0003 Q0 00 00 00(五)、反復(fù)試幾組數(shù),考察程序的正確性-e350013B4:350030.3B 30.

7、3030.)031.3132.34-g=BR0R 001rAX=B00E BX=00QA D£-R4FS-13R413CC:B01E CD20 -d3 510 13B4-3GiU 0E 00 13B4:352090的13B4:353090Q91304:3540080013B4=356 3S 圈 13&4 = 3560300013B4r3&70 9G 00 13B4:35803009RS -11C4 CS-13CC IP=AW1EINI 20000000000 -M- 0 -M-0 -M-H-H-0 0 0 0 0 0 000 -M- 0 9 _w- _u 000000

8、0030 -M- 0 一 一 S> _M_胸K SI=3SU4 DI=3S10 NO HP El PL NZ 舶 卩O NC0 -JM- 0- -W 一is _w _w_ 00000000 00 0 0 0 0 0 0-u0一 Si _l PS s0 IS H- R- _w_ 0 -M-n39 -H-0 0 0 0 0 0 0 0 G Q -M- S3 ft-0 _H- _u實驗一 8086匯編語言程序設(shè)計初步一、實驗?zāi)康?、 熟悉在PC機(jī)上建立、匯編、連接、調(diào)試和運行8086匯編語言程序的過程。2、熟悉8086指令系統(tǒng)中一些常用指令的功能和使用。3、學(xué)習(xí)數(shù)據(jù)傳送和算術(shù)運算指令的使用方法

9、。二、實驗內(nèi)容詳細(xì)閱讀匯編語言程序的上機(jī)過程。試編寫將兩個多位十進(jìn)制數(shù)相加程序,要求兩個加數(shù)均以ASCII碼形式各自順序存在以DATA俐DATA2為首的5個內(nèi)存單元中(低位在前),結(jié)果送回DATA1處。三、實驗設(shè)備1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺四、程序參考流程圖I .王程凈歩考流程圉,加法子程序莽考瞌程圖實驗一參考程序清單CRLF MACROMOV DL, 0DHMOV AH, 02HINT 21HMOV DL, 0AHMOV AH, 02HINT 21HENDMDATA SEGMENTDATA1 DB 33H, 39H, 31H, 37H, 34HDATA2 DB

10、 36H, 35H, 30H, 38H, 32HDATA ENDSSTA DB 100 DUP (?) STACK ENDS CODESTACK SEGMENTPARA STACK 'STACK'START:MOVAX, DATAMOVDS, AXMOVSI, OFFSET DATA2MOVBX, 05CALLDISPLCRLFMOVSI, OFFSET DATA1MOVBX, 05CALLDISPLCRLFMOVDI, OFFSET DATA2CALLADDAMOVSI, OFFSET DATA1MOVBX, 05CALLDISPLCRLFMOVAX, 4C00HINT21H

11、DISPLPROCNEARDS1:MOVAH, 02HMOVDL, SI+BX-1INT21HDECBXJNZDS1RETDISPLENDPADDAPROCNEARMOVDX, SIMOVBX, 05AD1:SUBBYTE PTR SI+BX-1,SUBBYTE PTR DI+BX-1DECBXJNZAD1MOVCX, 05CLCAD2:MOVAL, SIMOVBL, DI30H , 30HSEGMENTASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATAADCAL, BLAAAMOVSI, ALINCSIINCDILOOPAD2MOVSI, DXMOVBX,

12、05AD3:ADDBYTE PTR SI+BX-1, 30HDECBXJNZAD3ADDARETENDPCODEENDSENDSTART實驗二8086匯編語言程序設(shè)計一、實驗?zāi)康?、熟悉8086指令系統(tǒng),學(xué)習(xí)基本的8086匯編語言程序設(shè)計方法。2、 掌握提示信息的使用方法及8086串操作指令的使用方法。3、初步掌握調(diào)試修改程序的方法。二、實驗內(nèi)容用串操作指令設(shè)計一個搜索關(guān)鍵字程序,實現(xiàn)在存儲區(qū)(長度為100H)中尋找關(guān)鍵字空格字符(20H),退出時給出是否找到的信息。三、實驗設(shè)備1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺四、編程提示1、 8086中用于字符串檢索的指令為SCAS

13、B/SCASW用AL中的字節(jié)或者 AX中的字與位于 ES段由DI寄存器所指的內(nèi)存單元的字節(jié)或字相比較。通過前綴的控制,可以實現(xiàn)在DI所指的字符串中,尋找第一個與 AL (或AX)的內(nèi)容相同的字節(jié)或字。2、 對于所有的串操作指令,都要注意方向標(biāo)志的設(shè)置。指令CLD使方向標(biāo)志DF清0, SI和DI 自動增量修改,指令 STD使 DF置1, SI和DI自動減量修改。五、程序參考流程圖1、主程序參考流程圖2、子程序 GETNU參考流程圖(趙)且示°跚人段地址的提云信息且示M請筍人喝移遢.-的擬示信總暗子涯序.請氐低務(wù)型建ni中時冇向忻志,柚宇請區(qū),計教悵陪玄G醫(yī)(返回DOS實驗二參考程序清單

14、CRLFMACROMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HENDMDATASEGMENTMESS1DBINPUT THE SEGMENT ADDR:$MESS2DBINPUT THE OFFSET ADDR:$MESS3DBOK! HAS FOUND!,0DH,0AH,''MESS4DBNO SPACE CHARACTEK)!DH,0AH,''ERRORDBINPUT ERROR!ODH,OAH, 'INPUT THE ADDR:$DATAENDSSTACKSEGMENTPARA STACK STA

15、CKSTASTACKCODEDW 32 DUP (?) ENDS SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX, DATAMOVDS, AXMOVES, AXWWW: MOVBBB:MOVAL, 20HREPNZSCASBJNZWWWMOVAH, 09HMOVDX, OFFINT21HJMPBBBAH,09HMOVINTMOVMESS3INT GETNUM PROCNEARDX, OFFSET MESS421HAX, 4C00H21HXOR DX, DXGGG: MOV AH, 01HINT21HCMPAL, 0DHJZP

16、PPCMPAL, 20HJZPPPCMPAL, 30HJBKKKCMP AL,39HJBEG1CMPAL, 41HJBKKKCMPAL, 46HJBEG2CMPAL, 61HJBKKKCMPAL, 66HJAKKKSUBAL, 57HGETS: MOV CL, 04HMOVAH, 09HMOVDX, OFFSET MESS1INT21HCALLGETNUMMOVES, DXMOVAH,09HMOVDX, OFFSET MESS2INT21HCALLGETNUMMOVDI, DXCLDMOVCX, 0100HSHLDX, CLXOR AH, AHADDJMPG1:SUBAL, 30HJMPGET

17、SG2:SUBAL, 37HJMPGETSKKK:CRLFMOVMOVINT JMPPPP: PUSHCRLFPOP RETDX, AXGGGAH, 09HDX, OFFSET ERROR21HGGGDXDXGETNUM ENDPCODE ENDSEND START實驗三 DOS 系統(tǒng)功能調(diào)用一、實驗?zāi)康?、熟悉DOS系統(tǒng)功能調(diào)用(INT 21H )的使用方法。2、掌握從鍵盤上讀取字符及字符串的方法和字符及字符串的顯示方法。3、了解小寫字母和大寫字母在計算機(jī)內(nèi)的表示方法,并學(xué)會如何進(jìn)行轉(zhuǎn)換。二、實驗內(nèi)容1、 設(shè)計將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母程序。接收鍵盤輸入字符以AC( 03H)為結(jié)束,

18、 并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽帜福缓筮M(jìn)行顯示。2、利用DOS系統(tǒng)功能調(diào)用實現(xiàn)人機(jī)對話。根據(jù)計算機(jī)顯示器上顯示的提示信息,從鍵盤輸入字 符串并存入內(nèi)存緩沖區(qū)。三、實驗設(shè)備1 、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺四、程序參考流程圖參考程序清單DATASEGMENTSTR1DB ODH,OAH, 1NPUT:$ 'STR2DB 0DH,0AH, OUTPUT:$BUFDB 100 DUP(?)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS ,AXMOV BX ,OFFSET BUFT1

19、:MOV DX ,OFFSET STR1MOV AH ,09HINT 21HMOV SI ,0000HT2 :MOV AH ,01HCMP AL ,03HJZT5CMP AL ,0DHJZT4CMP AL ,61HJBT3CMPAL ,7AHJAT3SUBAL ,20HT3:MOV BX+SI ,ALINCSIJMPT2T4:MOV DX ,OFFSET STR2MOVAH ,09HINT21HMOVAL , '$'MOVBX+SI ,ALMOVAH ,09HMOVDX ,BXINT21HJMPT1T5: MOV AX ,4C00HINT 21HCODE ENDSEND STA

20、RT實驗四8255A并行接口實驗一、實驗?zāi)康?、了解8255A芯片的結(jié)構(gòu)、功能及工作原理。2、掌握8086CPL與8255接口擴(kuò)展方法,及通過 8255A并行口傳輸數(shù)據(jù)的方法。3、握8255A初始化編程、及應(yīng)用程序設(shè)計方法。二、實驗內(nèi)容利用8255A、74LS04、LED發(fā)光二極管設(shè)計交通信號燈自動控制系統(tǒng),設(shè)計要求見編程提示。編寫控制程序,通過 8255A控制發(fā)光二極管,(用8255A的A端口和B端口控制6個LED發(fā)光二 極管的亮和滅,輸出為 1則亮,輸出為0則滅)模擬交通信號燈的控制系統(tǒng)。三、實驗設(shè)備1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺四、編程提示1、 要完成本實驗,

21、首先必須了解交通信號燈的燃滅規(guī)律。設(shè)有一個十字路口,將L1、L3、L5作 為東西方向的指示燈,L2、L4、L6作為南北方向的指示燈,初始態(tài)為兩個方向的紅燈全亮。之后,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車。延遲一段時間后,東西路口的綠燈 熄滅,黃燈開始閃爍。閃爍若干次后,東西路口的紅燈亮,同時南北路口的綠燈亮,南北方向開 始通車。延遲一段時間后,南北路口的綠燈熄滅,而黃燈開始閃爍。閃爍若干次后,再切換到東 西路口方向。之后,重復(fù)上述過程。2、 程序中應(yīng)設(shè)定好8255A的工作模式,使三個端口均工作于方式0,并處于輸出狀態(tài)。3、 8255A的各端口地址(片選信號為CS0時):A端口地址0

22、4A0H、 B端口地址04A2H C端口地址 04A4H 控制端口地址 04A6H。五、實驗參考電路圖六、連線方法按照實驗電路圖連接硬件線路:1、將PA0PA1插孔與發(fā)光二極管L1、L2相連;(L1、L2為紅燈)2、將PA4PA5插孔與發(fā)光二極管L5、L6相連;(L5、L6為綠燈)3、將PB4PB5插孔與發(fā)光二極管L3、L4相連;L3、L4為黃燈)4、將PC0PC1插孔與發(fā)光二極管L7、L8相連;(L7、L8本實驗不用,關(guān)閉)5、CS8255與 CS0相連。七、程序參考流程圖E2S5A陡吝詁池抽出且丄件于芳式U曰皓廠I初嗆態(tài). 紅燈全樣.緑燈,疋燈全阪坯時0. 2秒實驗四參考程序清單CODES

23、EGMENTPUBLICSTART:MOVDX, 04A6HMOVAL, 80HOUTDX, ALMOVDX, 04A0HMOVAL, 03HOUTDX, ALMOVDX, 04A2HMOVAL, 00HOUTDX, ALMOVDX, 04A4HMOVAL, 00HOUTDX, ALCALLDELAY10LLL:MOVAL, 00010010BASSUMECS:CODEORG100HMOVDX, 04A0HOUTDX, ALCALLDELAY10MOVAL, 00000010BOUTDX, ALMOVCX, 08HMOVDX, 04A2HMOVAL, 00010000BOUTDX, ALCAL

24、LDELAY1MOV AL, 00000000BOUT DX, ALCALL DELAY1LOOP TTTMOV DX, 04a0HMOV AL, 000000011BOUT DX, ALCALL DELAY1MOV AL, 00100001BOUTDX, ALCALLDELAY10MOVAL, 00000001BOUTDX, ALMOVCX, 0008HGGG:MOVDX, 04A2HMOVAL, 00100000BOUTDX, ALCALLDELAY1MOVAL, 000000000BOUTDX, ALCALLDELAY1LOOPGGGMOVDX, 04A0HMOVAL, 00000011

25、BOUTDX, ALCALLDELAY1JMPLLLDELAY1:PUSH CXMOV CX, 8FFFHCCC:LOOPCCCPOPCXRETDELAY10:MOVBX, 000AHBBB:CALLDELAY1DEC BXJNZ BBBCODEENDRETEND START實驗五8253定時器/計數(shù)器接口實驗一、實驗?zāi)康?、了解8253定時器/計數(shù)器結(jié)構(gòu)、功能和工作原理。2、熟悉8086CPU與8253接口擴(kuò)展方法,及對 8253初始化編程。3、掌握8253各種工作模式下的軟件編程方法。二、實驗內(nèi)容利用8253芯片設(shè)計定時器接口電路,編制程序,將8253內(nèi)部計數(shù)器設(shè)置為工作模式3 (和其他不

26、同工作模式),觀察并畫出其不同模式下的輸出波形,且輸出端分別經(jīng)驅(qū)動后接發(fā)光二極管。三、實驗設(shè)備1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺四、編程提示1、 8253的時鐘端 CLK0 CLK1的時鐘頻率均為 1M/8。CLK2的時鐘由OUT0來控制。8253是8086系統(tǒng)中常用的可編程定時器 /計數(shù)器,有多種工作模式,其中模式3為方波方式。8253工作于模式3時,當(dāng)CPU寫入控制字后,輸出端 OUT變?yōu)楦唠娖剑瑢懭胗嫈?shù)初值后,計數(shù) 器從下一個時鐘脈沖的下降沿開始計數(shù)。當(dāng)計數(shù)到初值一半時輸出變?yōu)榈停敝劣嫈?shù)到零,輸出 又變?yōu)楦撸匦麻_始計數(shù)。輸出為一方波。當(dāng)CLK0的頻率為1M/8

27、,計數(shù)器0的初值為F424H (十 進(jìn)制數(shù)為62500),方波周期為 0.5s。在計數(shù)器2中設(shè)置不同的初值 n,可得到周期nX0.5s的 方波。采用兩級計數(shù)疊加,輸出周期范圍可大幅度提高。如能合理設(shè)置初值,這種廣域范圍的周 期設(shè)定在實際控制中非常有用。2、 程序中應(yīng)設(shè)定好8253中計數(shù)器0、計數(shù)器1、計數(shù)器2的工作模式。3、 8253的各計數(shù)器端口地址(片選信號為CS0時):計數(shù)器0端口地址04A0H計數(shù)器1端口地址04A2H,計數(shù)器2端口地址04A4H控制寄存器端口地址 04A6H五、實驗原理圖&2S3HZ (3ATKCLK2<M1Utnno 龍TEOCLRtfOVTJ 緘TE

28、1CLItfiOiHl-o DITTO01fT2匸 軍翼三g QOQ1就® 兀r T XropltlPJCECEe陀卵六、連線萬法1、8253片選信號CS8253與實驗系統(tǒng)通用片選信號 CS0相連。2、8253的OUT0與CLK2相連,OUT2與發(fā)光二極管 L1相連。3、OUT1接發(fā)光二極管L2或示波器。七、程序參考流程圖MOVMOVOUTMOVMOVOUTMOVOUT實驗五參考程序清單:CODESEGMENTPUBLICASSUMECS:CODEORG100HMOVDX ,04A6HMOVAX ,36HOUTDX ,AXMOVDX,04A0HMOVAX ,24HOUTDX ,AXM

29、OVAX ,0F4HOUTDX ,AXSTART:DX, 04A6HAX, 76HDX, AXDX, 04A2HAX, OFFHDX, AXAX, 0FFHDX, AXMOV DX, 04A6HMOV AX, 0B6HOUT DX , AXMOV DX, 04A4HMOV AX, 10HOUT DX, AXMOV AX, 00HNEXT:CODEOUT DX, AXNOPJMP NEXTENDSEND START實驗六8259A中斷控制器實驗一、實驗?zāi)康?、掌握8259A中斷控制器的工作原理。2、熟悉8259A的工作方式,學(xué)會中斷服務(wù)程序的編寫方法。3、掌握初始化中斷向量的方法。二、實驗內(nèi)容禾

30、U用8259A、8255A、8253、74LS07、發(fā)光二極管、單脈沖發(fā)生器設(shè)計一個中斷系統(tǒng)。要求 每次CPU向應(yīng)外部中斷時,將數(shù)據(jù) 0055H寫入累加器AX并將該數(shù)據(jù)由8255A的A端口輸出, 點亮發(fā)光二極管。如果不產(chǎn)生中斷,則AX始終為0,熄滅發(fā)光二極管。中斷請求信號通過 8259A中斷控制器的IR0端輸入,中斷源可以是片外8253定時器輸出的脈沖,也可以是其它脈沖。本實驗可直接使用8253定時器的輸出脈沖作為中斷源;也可采用實驗臺上單脈沖發(fā)生器的輸出脈沖作為中斷源,每按一次PUL鍵產(chǎn)生一次中斷請求。三、實驗設(shè)備1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺四、編程提示1、 8

31、259A中斷控制器工作原理及使用說明請詳細(xì)閱讀教科書。8086的中斷系統(tǒng)是向量中斷方式,不同類型的中斷向量存于內(nèi)存不同的位置,其計算方法是中斷類型NX4。中斷類型的高5位由8259A讀出(系統(tǒng)設(shè)置高 5位為10000),低3位由IR的編碼確定,IR0的編碼為000。2、 初始化命令字ICW1要求寫入偶地址,ICW2 ICW3 ICW4要求寫入奇地址。本實驗系統(tǒng)8259A實驗電路的設(shè)計均為偶地址有效,因此,8259A的偶地址為03F0H, 8259A的奇地址為03F2H3、 編程時,初始化命令字必須按順序?qū)懭耄詤^(qū)別它們,否則8259A將不能正確工作。2、調(diào)試程序時斷點必須設(shè)置于發(fā)生中斷之后。五

32、、實驗參考電路圖D2 冊。D5&D4& 仍。D2OniToHNTA _皿魁一AioD0&7 B 54 32 1D Do DE盟盤盟時Ea麗 3罷IT Im II /JIJI丸-F CCC L -S遡 型單膈峨生器輸岀FUL極處)六、連線方法1、 將中斷控制實驗板插入實驗臺右上角的插槽中:單脈沖發(fā)生器輸出端(PUL鍵處)與中斷控 制實驗板的IR0相連;或8253的OUT%中斷控制實驗板的IR0相連。2、 中斷控制實驗板的 C59與與實驗系統(tǒng)通用片選信號CS7相連。3、8255A的A端口 PA0- PA7分別與發(fā)光二極管 L1 - L8相連,8255A的片選信號 CS825

33、5與實驗 系統(tǒng)通用片選信號CS1相連。七、程序參考流程圖1、主程序參考流程圖2、中斷服務(wù)程序參考流程圖實驗六參考程序清單:CODE SEGMENTPUBLIC ASSUMECS:CODE ORG 100HSTART MOV DX,04A6HMOV AX,36HOUT DX, AXMOV DX, 04A0HMOV AX, 24HOUT DX, AXMOV AX, 0F4HOUT DX, AX MOV DX, 04A6HMOV AX, 0B6HOUT DX, AXMOV DX, 04A4HMOV AX, 10HOUT DX, AXMOV AX, 00H OUT DX, AXMOV DX, 04B6

34、HMOV AL ,80HOUT DX, ALMOV DX, 03F0HMOVAL, 13HOUTDX, ALMOVDX, 03F2HMOVAL, 80HOUTDX, ALMOVAL, 01HOUTDX, ALMOVAL, 00HOUTDX, ALMOV AX, 0000H MOV DS, AXMOV SI , 0200HMOV AX ,OFFSETNINTMOV DS:SI , AXADD SI , 0002HMOV DS:SI , 0100HMOV AX, 0000HSTIWAIT:CMP AX, 0055HJNE WAITNOPJMP STARTNINT: CLIMOV AX, 0055H

35、MOV DX, 04B0HOUT DX, ALMOV CX, 0FFFFHCCC: LOOP CCCIRETCODE ENDSEND START實驗七 步進(jìn)電機(jī)控制實驗一、實驗?zāi)康? 了解步進(jìn)電機(jī)控制的基本原理2 掌握控制步進(jìn)電機(jī)轉(zhuǎn)動的編程方法二、實驗內(nèi)容1按實驗圖接線路,利用8255輸出脈沖序列,開關(guān) K0K6控制步進(jìn)電機(jī)轉(zhuǎn)速,K7控制步進(jìn)電機(jī)轉(zhuǎn)向,實驗盒上步進(jìn)電機(jī)插頭接實驗臺上J4, 8255CS接288H28FH,PA0PA3接BABD;PC0PC7接 K0K7。2 .編程:當(dāng)K0K6中某一開關(guān)為1 ”向上撥)時步進(jìn)電機(jī)啟動。K7向上打電機(jī)正轉(zhuǎn),向下打電機(jī) 反轉(zhuǎn)。三、實驗說明 步進(jìn)電機(jī)驅(qū)

36、動原理是通過對每相線圈中的電流的順序切換來使電機(jī)做步進(jìn)電機(jī)式旋轉(zhuǎn),驅(qū)動電路由脈沖信號來控制,所以調(diào)節(jié)脈沖信號的頻率便可改變步進(jìn)電機(jī)的轉(zhuǎn)速。(具體技術(shù)資料在此從略)實驗可通過不同長度的延時來得到不同的頻率的步進(jìn)電機(jī)輸入脈沖,從而得到多種步進(jìn)速度。實驗源程序P55A equ288h ;8255A 口輸出P55C equ28ah ;8255C 口輸入P55CTRL equ 28bh ;8255 控制口DATA SEGMENTBUFdb0MESDB'K0-K6ARESPEED CONTROL',0AH,0DHDB'K6ISTHELOWEST SPEED',0AH,0DH

37、DB'K0ISTHELOWEST SPEED',0AH,0DHDB'K7ISTHEDIRECTION CONTROL',0AH,0DHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,CSMOV DS,AXMOV AX,DATAMOV DS,AXMOV DX,OFFSET MESMOV AH,09HINT 21HMOV DX,P55CTRLMOV AL,8BHOUT DX,AL ;8255C 輸入,A輸出MOV BUF,33HOUT1:MOV AL,BUFMOV DX,P55AOUT DX,ALMOV

38、 AH,1INT 16HJE IN1 ; 有無鍵按下MOV AH,4CHINT 21HIN1:MOV DX,P55CIN AL,DX ; 讀開關(guān)狀態(tài)TEST AL,01HJNZ K0TEST AL,02HJNZ K1TEST AL,04HJNZ K2TEST AL,08HJNZ K3TEST AL,10HJNZ K4TEST AL,20HJNZ K5TEST AL,40HJNZ K6STOP:MOV DX,P55AMOV AL,0FFHJMP OUT1K0:MOV BL,10HSAM:TEST AL,80H ;K7 是否為JZ ZX0JMP NX0K1:MOV BL,18HJMP SAMK2:

39、MOV BL,20H JMP SAMMOV BL,40HJMP SAMK4:MOV BL,80HJMP SAMK5:MOV BL,0C0HJMP SAMK6:MOV BL,0FFHJMP SAMZX0:CALL DELAYMOV AL,BUFROR AL,1; 循環(huán)右移MOV BUF,ALJMP OUT1NX0:CALL DELAYMOV AL,BUFROL AL,1; 循環(huán)左移MOV BUF,ALJMP OUT1DELAY PROC NEARDELAY1:MOV CX,05A4HDELAY2:LOOP DELAY2DEC BLJNZ DELAY1RETDELAY ENDPCODE ENDSE

40、ND START四、實驗體會在源程序中,通過改變 buf1,buf2 的賦值,可以改變電機(jī)的轉(zhuǎn)速,通過這樣可以調(diào)節(jié)電機(jī) 的轉(zhuǎn)速。 Buf2 與 buf1 的比值越大,則電機(jī)的轉(zhuǎn)速越高。實驗八 電子琴的設(shè)計一、實驗?zāi)康?. 通過D/A轉(zhuǎn)換器產(chǎn)生模擬信號,使PC機(jī)作為簡易電子琴2 了解利用數(shù)模轉(zhuǎn)換器產(chǎn)生音樂的基本方法二、實驗內(nèi)容實驗電路如圖所示,8253的CLK0接1MHz時鐘,GATE0接+ 5V, OUT0接 8255的PA0,J1接喇叭,編程使計算機(jī)的數(shù)字鍵1、2、3、4、5、6、7作為電子琴按鍵,按下即發(fā)出相應(yīng)的音階。三、編程提示1 對于一個特定的 D/A轉(zhuǎn)換接口電路,CPU執(zhí)行一條輸出指

41、令將數(shù)據(jù)送入D/A,即可在其輸出端得到一定的電壓輸出,給D/A轉(zhuǎn)換器輸入按正弦規(guī)律變化的數(shù)據(jù),在其輸出端即可產(chǎn)生正弦波,對于音樂,每個音階都有確定的頻率。各個音階標(biāo)稱頻率值:音階 頻率:(單位 Hz)1 261.12 293.73 329.64 349.25 392.06 440.07 493.92. 產(chǎn)生一個正弦波的數(shù)據(jù)可取32個(小于亦可),不同頻率的區(qū)別,可通過調(diào)節(jié)向A/D轉(zhuǎn)換器輸出數(shù)據(jù)的時間間隔,例如:發(fā)1”頻率為261.1Hz周期為1/261.1 = ,輸出數(shù)據(jù)的時間間隔為3.83/32 = 0.12ms,定時時間可以由 8253配合8255實現(xiàn),按下某鍵后發(fā)音時間的長短可 以由發(fā)出

42、的正弦波的個數(shù)多少來控制。3. 源程序data segmentdata1 db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh; 正弦波數(shù)據(jù)數(shù)據(jù)區(qū)db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,15h,09h,04hdb 00h,04h,09h,15h,25h,38h,4eh,66htime db 120,106,94,89,79,70,63,59; 發(fā)不同音時的計數(shù)器初值msg db'Press 1,2,3,4,5,6,7,8,Esc:',0dh,0ah,'$&

43、#39;num db? ;8253 計數(shù)器初值的序號data endscode segmentassumecs:code,ds:datastart:movax,datamovdx,offset msgmovah,9int 21h ; 顯示提示信息sss:mov ah,7int 21h ; 從鍵盤接收字符不回顯cmp al,1bhje exit ; 若為 Esc 鍵,則轉(zhuǎn) Exitcmp al,31hjl ssscmp al,38hjg sss ; 若不在 '1''8' 之間轉(zhuǎn) ssssub al,31movnum,al ; 求出相應(yīng)的時間常數(shù)的序號 movcx,

44、60 ; 取次個正弦波數(shù)據(jù)ddd:mov si,0lll:moval,datasi ; 取正弦波數(shù)據(jù) mov dx,290h out dx,al ; 放音 call delay ; 調(diào)延時子程序 inc sicmpsi,32 ; 是否取完個數(shù)據(jù)jl lllloop ddd ; 總循環(huán)次數(shù)是否完,若沒有,則繼續(xù) jmp sssexit:mov ah,4chint 21hdelay proc near ; 延時子程序ccc: movbx,offset time mov dx,283h mov al,10h out dx,al mov dx,28bh ; 設(shè) A 口輸入 mov al,9bh out

45、 dx,al mov al,num ; 取相應(yīng)的時間常數(shù) xlat mov dx,280h out dx,al ; 向計數(shù)器輸出kkk:mov dx,288hin al,dx ; 從 A 口讀一個字節(jié)test al,01 ; 判 PA0 口是否為jz kkkret ; 子程序返回delay endpcode endsend start四、實驗現(xiàn)象在DOS環(huán)境下,用匯編程序進(jìn)行匯編,生成 DZQ.EXE可執(zhí)行程序,并運行可執(zhí)行程序。分別按下1、2、3、4、5、6、 7 分別發(fā)出哆、唻、咪、發(fā)、唆、喇、嘁等鍵音。實驗九七段數(shù)碼管實驗一、實驗?zāi)康模哼M(jìn)一步熟悉8255并行口;掌握數(shù)碼管顯示數(shù)字的原理。

46、二、實驗設(shè)備:1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺三、實驗內(nèi)容:靜態(tài)顯示:按圖連接好電路, 將8255的C 口 PCA PC6分別與7段數(shù)碼管的段碼驅(qū)動輸入端 ag相連,位碼驅(qū)動輸入端 1接PC7 (選中)。數(shù)碼管順次顯示 0-7 。TDOZDIZD2ZD3rD4藍(lán)D5ID6ZD7KJOftX10WZAOn1GT7印B1氐ES田囲B6B7m JJC2C3C4C5Q5C7pfffpffp pnrpppppp3214Q35関37捕2121昶21p F p p F p F P圖9-1實驗接線圖(1) 實驗臺上的七段數(shù)碼管為共陰極接法,段碼采用同相驅(qū)動,輸入端加高電平,選中的數(shù)碼

47、 管亮。(2) 七段數(shù)碼管的字型代碼表如下頁表:顯示字型gfedcba段碼001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fh參考程序流程圖如下:開始f將8255設(shè)為C 口輸出1wf將段碼自8255C 口輸出延時四、實驗步驟:(1) 按圖接線。(實線為與系統(tǒng)連接的線,虛線為與外設(shè)連接的線)(2) 輸入程序并檢查無誤,經(jīng)匯編、鏈接后裝入系統(tǒng)。(3 )運行程序,觀察數(shù)碼管顯示情況。五、分析整理實驗數(shù)據(jù),寫出實驗程序?qū)嶒炇?8譯碼實驗、實驗?zāi)康?掌握譯碼的原理以及譯碼器與8255并行口的連接方法。二、實驗設(shè)備:1、微型計算機(jī)一臺2、EL- H型微機(jī)原理實驗開發(fā)系統(tǒng)一臺三、實驗內(nèi)容:按圖4-1連接好電路,將8255的C 口 PCX PC2分別與譯碼芯片 74LS138的A B、C腳相

溫馨提示

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

評論

0/150

提交評論