微机原理 实验报告

更新时间:2023-04-13 08:05:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

微机原理实验报告

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 EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG1850hSTART: JMP START0BUF

DB ?,?,?,?,?,?data1:

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c 6h,0a1h

db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV

CX,0200HRAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOV

第 1 页共 1 页

AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffhcon1: push cx call disp pop cx loop con1 call buf2con2: call disp jmp

con2DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV

CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CXDIS2: MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP

DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,06H MOV BUF+1,02H MOV BUF+2,02H MOV BUF+3,05H MOV BUF+4,06H MOV BUF+5,17H RETBUF2: MOV BUF,17H MOV

BUF+1,17H MOV BUF+2,09H MOV BUF+3,00H MOV BUF+4,00H MOV BUF+5,0dH RETCODE ENDSEND START

四、实验总结

通过该实验让我们了解了如何对存储器进行读写,写入存储器后,如何通过机器检查存储单元内的内容,通过该实验让我对计算机的存储器有了更进一步的认识。实验二8259单级中断控制器实验

一、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。

二、实验步骤

第 1 页共 1 页

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 ;键入口ORG12D0HSTART: JMP START0BUF

DB ?,?,?,?,?,?intcnt db ?data1:

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c 6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: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 ;DISP8259-1JMP WATINGWRINTVER:MOV AX,0H MOV ES,AX MOV DI,0034H LEA AX,INTQ3 STOSW MOV AX,0000h STOSW MOV DI,003CH LEA

AX,INTQ7STOSW MOV AX,0000h STOSW RETINTREEUP3:CLI push ax push bx push cx push dx MOV AL,INTCNT CALL CONVERS MOV BX,OFFSET BUF ;077BH MOV AL,10H MOV CX,05HINTRE0: MOV

第 1 页共 1 页

[BX],AL INC BX LOOP INTRE0 MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD INTCNT,01H CMP INTCNT,06H JNA INTRE2 CALL BUF2 ;DISP:goodINTRE1: CALL DISP JMP INTRE1CONVERS: AND AL,0FH MOV BX,offset buf ;077AH MOV

[BX+5],AL RETINTRE2: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL pop dx pop cx pop bx pop ax STI IRETINTREEUP7:CLI MOV AL,20H MOV DX,INTPORT1 OUT DX,AL call

buf3 ;disp:errINTRE3: CALL DISP JMP INTRE3DISP: MOV

AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2:MOV CX,00A0H LOOP $ 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对应红

第 1 页共 1 页

灯, PC0-PC3对应绿灯, PC4-PC7对应黄灯⒊在“P、”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。

三、实验程序清单CODE SEGMENT ;H8255-

2、ASMASSUME CS:CODEIOCONPT EQU 0FF2BHIOAPT EQU

0FF28HIOBPT EQU 0FF29HIOCPT EQU 0FF2AHORG11e0HSTART: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,00BMOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1OR

AL,0F0HOUT DX,ALMOV CX,8HIOLED1: MOV DX,IOBPTMOV

AL,DS:[0601H]AND AL,01111BOUT DX,ALCALL DELAY2OR

AL,00000BOUT DX,ALCALL DELAY2LOOP IOLED1MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2MOV AL,00BOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01111BOUT DX,ALCALL DELAY2OR AL,00000BOUT 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

第 1 页共 1 页

四、实验小结通过该实验,让我掌握了如何通过8255控制发光二级管,以及发光二级管的工作原理。实验四8250串口实验

一、实验内容将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,同时将每次接收到的数据,依次写到内存4000H~40EFH单元中,实现自发自收。

二、实验步骤

1、用扁平线连JX0(BUS)到JX3(D0~D7),连FF80H孔到CS7,连TXD到RXD(8250实验区)。

2、编辑、调试、运行程序。

3、当系统显示“8250good”表示自发自收结束,按RST键,系统返回P态,用内存读写命令检查4000H~40EFH内容是否为

10H~FFH,验证其正确性。

三、实验程序清单 CODE SEGMENT ;H82

50、ASMASSUME CS:CODE ;H82

50、ASMDATAEQU0ff80H;BTS-LSBMSBEQU0ff81HLINEEQU

0ff83HLSTATEQU0ff85HPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG29A0HSTART: JMP START0BUF DB ?,?,?,?,?,?data1:db

0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h ,0a1h

db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0:

第 1 页共 1 页

MOV AL,80H;DLAB=1MOV DX,LINEOUT DX,ALMOV

AL,0cH;BTS=9600MOV DX,DATA ;ff80HOUT DX,ALMOV DX,MSBMOV AL,00OUT DX,AL;-----------------------------------------------------MOV AL,06H7- BIT ,2-STOPMOV DX,LINEOUT DX,AL;--------------------------------------------------MOV AL,00;NO-INTMOV DX,MSB ;8001HOUT DX,ALMOV AH,10HMOV BX,4000HMAIN:CALL TXDCALL RCVMOV

[BX],ALINC BXINC AHCMP AH,00HJNZ MAINCALL BUF1MOV CX,00FFHS3: PUSH CXCALL DISPPOP CXLOOP S3CALL BUF3S1: CALL DISP JMP S1TXD: MOV DX,LSTATWAIT1:IN AL,DXTEST

AL,20HJZ WAIT1MOV AL,AHMOV DX,DATAOUT DX,ALRETRCV: MOV DX,LSTATWAIT2: IN AL,DXTEST AL,01HJZ WAIT2TEST AL,0EHJNZ ERRMOV DX,DATAIN AL,DXRETERR: CALL BUF2S2: CALL DISP JMP S2;------------------------------------------------------DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV

CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,AL PUSH CXDIS2: MOV CX,00A0HDELAY: LOOP DELAY POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RETCODE ENDSEND START

第 1 页共 1 页

四、实验小结通过该实验让我对系统扩展以8250为核心的可编程串行异步通讯接口芯片有了一定了了解,实现了对扩展的串行通讯接口实现自发自收。该实验让我对8250有了更深一步的认识。实验五

A/D转换实验

一、实验内容利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。

二、实验步骤① 将0809 CS4插孔连到译码输出FF80H插孔。② 将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。③ 运行实验程序,系统上显示“0809 XX”。“XX”表示输入模拟量转换后的数字量。④ 调节电位器Wl, 显示器上会不断显示新的转换结果。模拟量和数字量对应关系的典型值为:0V→00H+

2、5V→80H+5V→FFH⑤ 按RST键退出。

三、实验程序清单CODE SEGMENT ;ASSUME CS:CODEADPORT EQU 0FF80hPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口 ORG1000HSTART: JMP START0BUF

DB ?,?,?,?,?,?data1: db

0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h ,0a1h

db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0:

第 1 页共 1 页

CALL BUF1ADCON: MOV AX,00 MOV DX,ADPORT OUT DX,AL MOV CX,0500H;DELAY: LOOP DELAY MOV DX,ADPORT IN AL,DX CALL CONVERS CALL DISP JMP ADCONCONVERS: MOV AH,AL AND AL,0FH MOV BX,OFFSET BUF MOV

[BX+5],AL MOV AL,AH AND AL,0F0H MOV CL,04H SHR AL,CL MOV

[BX+4],AL RETDISP: MOV AL,0FFH MOV DX,PAOUT DX,ALMOV CL,0DFH MOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00HPUSH BXMOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH JZ LX1INC BXROR CL,1 JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,00H MOV BUF+1,08H MOV BUF+2,00H MOV BUF+3,09H MOV BUF+4,00H MOV BUF+5,00H RETCODE ENDSEND START

第 1 页共 1 页

本文来源:https://www.bwwdw.com/article/253l.html

Top