微机原理与接口技术实验指导书班级学号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 ;ASSUME CS:CODEPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 1850hSTART: 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,8FH START0: MOV AX,0HMOV DS,AXMOV BX,4000HMOV AX,55AAHMOV CX,0200HRAMW1: MOV DS:[BX],AXADD BX,0002HLOOP RAMW1MOV AX,4000HMOV SI,AXMOV AX,5000HMOV DI,AXMOV CX,0400HCLDREP MOVSBcall buf1mov cx,0ffhcon1: push cxcall disppop cxloop con1call buf2con2: call dispjmp con2DISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: M OV BUF,06HMOV BUF+1,02HMOV BUF+2,02HMOV BUF+3,05HMOV BUF+4,06HMOV BUF+5,17HRETBUF2: M OV BUF,17HMOV BUF+1,17HMOV BUF+2,09HMOV BUF+3,00HMOV BUF+4,00HMOV 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 C S: CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 12D0HSTART: JMP START0BUF DB ,,,,,intcnt dbdata1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: CLDCALL BUF1CALL WRINTVER ;WRITE INTRRUPTMOV AL,13HMOV DX,INTPORT1OUT DX,ALMOV AL,08HMOV DX,INTPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0DFHOUT DX,ALMOV intcnt,01H ;TIME=1STIWATING: CALL DISP ;DISP 8259-1JMP WATINGWRINTVER: MOV AX,0HMOV ES,AXMOV DI,0034HLEA AX,INTQ3STOSWMOV AX,0000hSTOSWMOV DI,003CHLEA AX,INTQ7STOSWMOV AX,0000hSTOSWRETINTREEUP3: CLIpush axpush bxpush cxpush dxMOV AL,INTCNTCALL CONVERSMOV BX,OFFSET BUF ;077BHMOV AL,10HMOV CX,05HINTRE0: MOV [BX],ALINC BXLOOP INTRE0MOV AL,20HMOV DX,INTPORT1OUT DX,ALADD INTCNT,01HCMP INTCNT,06HJNA INTRE2CALL BUF2 ;DISP:goodINTRE1: CALL DISPJMP INTRE1CONVERS: AND AL,0FHMOV BX,offset buf ;077AHMOV [BX+5],ALRETINTRE2: MOV AL,20HMOV DX,INTPORT1OUT DX,ALpop dxpop cxpop bxpop axSTIIRETINTREEUP7: CLIMOV AL,20HMOV DX,INTPORT1OUT DX,ALcall buf3 ;disp:errINTRE3: CALL DISPJMP INTRE3DISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETCODE ENDSEND START四、实验小结通过8259单级中断控制器实验,让我对8259中断控制器的接口方法和8259中断控制器的应用编程有了一定的了解。
实验三8255A并行口实验一、实验内容用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。
二、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键。
⒉按实验原理图连好实验线路8255A:PB4-PB7对应红灯, PC0-PC3对应绿灯, PC4-PC7对应黄灯⒊在“P.”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。
三、实验程序清单CODE SEGMENT ;ASSUME CS:CODEIOCONPT EQU 0FF2BHIOAPT EQU 0FF28HIOBPT EQU 0FF29HIOCPT EQU 0FF2AHORG 11e0HSTART: MOV AL,82HMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DXMOV BYTE PTR DS:[0601H],ALMOV DX,IOCONPTMOV AL,80HOUT DX,ALMOV DX,IOBPTMOV AL,DS:[0601H]OR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY1IOLED0: MOV AL,BMOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED1: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,BOUT DX,ALCALL DELAY2OR AL,01010000BOUT DX,ALCALL DELAY2LOOP IOLED1MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2MOV AL,01011010BOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,ALCALL DELAY2OR AL,BOUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2JMP IOLED0DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND START四、实验小结通过该实验,让我掌握了如何通过8255控制发光二级管,以及发光二级管的工作原理。
实验四8250串口实验一、实验内容将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,同时将每次接收到的数据,依次写到内存4000H~40EFH单元中,实现自发自收。