微机原理与接口技术实验指导书班级学号099074姓名安徽工业大学计算机学院实验一存贮器读写实验一、实验内容对指定地址区间得RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。
二、实验步骤l、将实验系统与PC机连接;2、在PC机上启功DJ-8086k软件,实验系统进入联机状态;3、在DJ—8086k软件环境下编辑、调试程序,将程序调试、编译通过;4、运行程序、5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH中得内容与5000~53FFH中得内容应都就是55AA、三、实验程序清单CODE ﻩSEGMENTﻩ;RAM、ASMASSUME CS:CODEPA EQU0FF20H ﻩ ;字位口PB EQU0FF21H ;字形口PCEQU 0FF22H ;键入口ORG1850hSTART: JMP START0BUF DB?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV AX,0HMOV DS,AXMOV BX,4000HMOV AX,55AAHMOV CX,0200HRAMW1: MOV DS:[BX],AXﻩADD BX,0002HLOOP RAMW1ﻩMOV AX,4000HMOV SI,AXﻩ MOV AX,5000Hﻩ MOV DI,AXMOV CX,0400Hﻩ CLDREP MOVSBcall buf1mov cx,0ffhcon1: push cxcall disppop cxloop con1callbuf2con2: call dispjmp con2DISP: MOVAL,0FFH ;00HMOV DX,PAﻩ OUT DX,ALMOV CL,0DFHﻩ;20H ;显示子程序 ,5msﻩﻩMOV BX,OFFSET BUFDIS1: MOVAL,[BX]MOV AH,00HﻩPUSH BXMOV BX,OFFSET DATA1ADD BX,AXﻩMOVAL,[BX]ﻩPOP BXMOV DX,PBﻩﻩOUT DX,ALMOV AL,CLﻩMOV DX,PAﻩOUT DX,ALﻩﻩPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEHﻩ;01HJZ LX1INC BXﻩROR CL,1ﻩﻩﻩ;SHR CL,1ﻩJMP DIS1LX1: MOV AL,0FFHﻩMOV DX,PBOUT DX,ALﻩRETBUF1: ﻩMOV BUF,06HMOV BUF+1,02HMOV BUF+2,02HﻩMOV BUF+3,05HMOV BUF+4,06HMOV BUF+5,17HﻩRETBUF2: MOV BUF,17HMOV BUF+1,17HﻩMOV BUF+2,09HﻩMOV BUF+3,00HMOV BUF+4,00HﻩMOV BUF+5,0dHRETCODE ENDSEND START四、实验总结通过该实验让我们了解了如何对存储器进行读写,写入存储器后,如何通过机器检查存储单元内得内容,通过该实验让我对计算机得存储器有了更进一步得认识、实验二8259单级中断控制器实验一、实验内容ﻩ利用8259实现对外部中断得响应与处理,要求程序对每次中断进行计数,并将计数结果送数码显示、二、实验步骤1、按实验原理图连好实验线路图。
⑴8259得INT连8088得INTR;⑵8259得INTA连8088得INTA;⑶“”插孔与8259得3号中断IR7插孔相连,“”端初始为低电平;⑷8259得CS端接FF80H孔。
ﻩﻩﻩﻩ2、输入并运行实验程序,系统显示8259-1。
ﻩﻩﻩ3、按动AN开关按钮, 按满5次显示good。
三、程序清单CODE ﻩSEGMENTﻩ;ASSUME CS: CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF20H ﻩ ;字位口PB EQU 0FF21Hﻩﻩ ;字形口PC EQU 0FF22Hﻩﻩﻩﻩ ;键入口ORG 12D0HSTART: JMP START0BUF ﻩDB ?,?,?,?,?,?intcnt ﻩdb ?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: CLDCALL BUF1CALL WRINTVERﻩﻩﻩ;WRITE INTRRUPTMOV AL,13HﻩMOV DX,INTPORT1ﻩOUTDX,ALMOV AL,08HﻩMOVDX,INTPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0DFHﻩOUT DX,ALMOV intcnt,01Hﻩﻩ;TIME=1ﻩﻩSTIWATING: CALLDISPﻩﻩﻩﻩ;DISP 8259-1ﻩJMPWATINGﻩWRINTVER:ﻩMOV AX,0HﻩMOV ES,AXMOV DI,0034HﻩLEA AX,INTQ3ﻩSTOSWﻩMOV AX,0000hﻩSTOSWﻩﻩMOV DI,003CHLEA AX,INTQ7ﻩSTOSWMOV AX,0000hﻩﻩSTOSWRETINTREEUP3: CLIﻩpush axpush bxpushcxﻩpush dxﻩﻩMOV AL,INTCNTﻩﻩCALLCONVERS077BH ﻩMOV BX,OFFSET BUF ﻩﻩﻩﻩ;MOV AL,10HMOVCX,05HINTRE0: MOV [BX],ALﻩINC BXLOOP INTRE0ﻩﻩMOV AL,20HﻩMOV DX,INTPORT1ﻩOUT DX,ALADD INTCNT,01HﻩCMP INTCNT,06HﻩﻩJNA INTRE2ﻩCALL BUF2 ﻩ;DISP:good INTRE1: ﻩCALL DISPﻩJMP INTRE1CONVERS: ﻩAND AL,0FHMOV BX,offset bufﻩﻩﻩ;077AHﻩMOV[BX+5],ALﻩﻩRETINTRE2: MOV AL,20HﻩMOV DX,INTPORT1ﻩOUT DX,ALﻩpop dxﻩpop cxpop bxﻩpop axﻩﻩSTIﻩIRETINTREEUP7: CLIﻩMOV AL,20HﻩﻩMOV DX,INTPORT1OUT DX,ALcall buf3 ﻩ ;disp:errINTRE3: CALL DISPJMP INTRE3DISP: ﻩMOV AL,0FFHﻩﻩ ;00HﻩMOV DX,PAOUT DX,ALMOVCL,0DFH ﻩ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: ﻩMOV AL,[BX]ﻩMOV AH,00HﻩPUSH BXMOV BX,OFFSET DATA1ﻩADD BX,AXMOVAL,[BX]POP BXﻩMOV DX,PBﻩOUT DX,ALﻩMOV AL,CLMOV DX,PAOUTDX,ALPUSH CXDIS2: ﻩMOV CX,00A0HLOOP $ﻩPOP CXCMPCL,0FEH ﻩﻩﻩﻩ;01HJZ LX1ﻩINCBXﻩRORCL,1 ﻩﻩﻩﻩ;SHRCL,1JMP DIS1LX1:ﻩﻩMOV AL,0FFHMOV DX,PBOUT DX,ALRETCODE ENDSENDSTART四、实验小结通过8259单级中断控制器实验,让我对8259中断控制器得接口方法与8259中断控制器得应用编程有了一定得了解。
实验三8255A并行口实验一、实验内容用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理、二、实验步骤⒈在系统显示监控提示符“P、”时,按SCAL键。
⒉按实验原理图连好实验线路8255A:PB4-PB7对应红灯, PC0—PC3对应绿灯, PC4-PC7对应黄灯⒊ﻩ在“P、”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。
三、实验程序清单CODE ﻩSEGMENT ﻩ;H8255—2、ASMASSUME CS:CODEIOCONPT EQU 0FF2BHIOAPT EQU 0FF28HIOBPT EQU 0FF29HIOCPT EQU 0FF2AHﻩORG 11e0HSTART: MOV AL,82HﻩMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTﻩIN AL,DXMOV BYTE PTRDS:[0601H],ALMOV DX,IOCONPTﻩMOV AL,80HﻩOUTDX,ALﻩMOV DX,IOBPTﻩMOV AL,DS:[0601H]OR AL,0F0HﻩOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,ALﻩCALL DELAY1IOLED0: ﻩMOV AL,10100101BMOV DX,IOCPTﻩOUT DX,ALﻩCALL DELAY1ﻩCALL DELAY1ﻩOR AL,0F0HﻩOUT DX,ALMOV CX,8HIOLED1: MOV DX,IOBPTﻩMOVAL,DS:[0601H]ANDAL,10101111BﻩOUT DX,ALﻩCALL DELAY2ﻩOR AL,01010000BOUT DX,ALﻩCALL DELAY2ﻩLOOPIOLED1ﻩMOV DX,IOCPTﻩMOV AL,0F0HOUT DX,ALCALL DELAY2MOV AL,01011010BOUT DX,ALCALL DELAY1CALL DELAY1ﻩOR AL,0F0HﻩOUT DX,ALﻩMOV CX,8HIOLED2: MOV DX,IOBPT ﻩMOV AL,DS:[0601H]AND AL,01011111BﻩOUT DX,ALCALL DELAY2ﻩOR AL,10100000BﻩOUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0F0HﻩOUT DX,ALﻩCALLDELAY2ﻩJMPIOLED0DELAY1: PUSH AXPUSH CXMOVCX,0030HDELY2: CALL DELAY2ﻩLOOP DELY2POP CXﻩPOP AXﻩRETDELAY2: ﻩPUSH CXMOV CX,8000HDELA1: LOOPDELA1POP CXﻩRETCODE ENDSEND START四、实验小结通过该实验,让我掌握了如何通过8255控制发光二级管,以及发光二级管得工作原理。