微机原理与接口技术 实验报告

.

MOV DX,OFFSET MESS3 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR3ISR: MOV AX,DATA MOV DS,AX

MOV DX,OFFSET MESS4 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR4ISR: MOV AX,DATA MOV DS,AX

MOV DX,OFFSET MESS5 MOV AH,09 INT 21H JMP EOI IR5ISR: MOV AX,DATA MOV DS,AX

MOV DX,OFFSET MESS6 MOV AH,09 INT 21H JMP EOI IR6ISR: MOV AX,DATA MOV DS,AX

MOV DX,OFFSET MESS7 MOV AH,09 INT 21H JMP EOI IR7ISR: MOV AX,DATA MOV DS,AX

MOV DX,OFFSET MESS8 MOV AH,09 INT 21H EOI:

MOV DX,O8259_2 MOV AL, 20H OUT DX, AL JMP QUERY

QUIT: MOV AX,4C00H INT 21H

.

;显示提示信息 ;显示提示信息 ;显示提示信息 ;显示提示信息 ;向8259发送中断结束命令 ;00100000 ;结束程序退出 .

CODE ENDS

END START

实验二 8254定时/计数器应用实验

一、实验目的

1. 掌握 8254 的工作方式及应用编程。 2. 掌握 8254 典型应用电路的接法。 二、实验内容

1.计数应用实验。应用8254的计数功能,用开关模拟计数,使每当按照计数初值的次数按动单次脉冲后,观察LED的变化。

2. 自设计实验。参考实验一的程序, 编写程序,以1MHz为时钟源,应用8254的定时功能,将其分频为1Hz。以LED灯作为输出显示。 三、实验步骤

1.实验2-1:计数器应用实验 程序代码填补:

IO8254_MODE EQU 283H ;8254控制寄存器端口地址 IO8254_COUNT0 EQU 280H ;8254计数器0端口地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

START: MOV DX, IO8254_MODE ;初始化8254工作方式

MOV AL,16H ;计数器0,方式3,填入控制字:00010110 OUT DX, AL

MOV DX, IO8254_COUNT0 ;装入计数初值 MOV AL,04H ;初值为4,04H OUT DX,AL

MOV AX,4C00H ;返回到DOS INT 21H CODE ENDS

END START

此时按两次后灯亮,再按两次后灯灭。

如果令计数器0工作在方式0,其实验现象为:按五次后灯变亮,之后不在熄灭。 2.实验2-2:自设计实验 实验要求:

参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以1MHz为时钟源,应用8254

.

.

的定时功能,将其分频为1Hz。以LED灯作为输出显示。

使用计数器0和计数器1两个计数器,设置其均工作于方式3,计数初值为1000,通过两个计数器级联,1000*1000=10^6达到分频的目的。 程序代码如下:

IO8254_MODE EQU 283H ;8254控制寄存器端口地址 IO8254_COUNT0 EQU 280H ;8254计数器0端口地址 IO8254_COUNT1 EQU 281H ;8254计数器1端口地址

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

START: MOV DX, IO8254_MODE ;初始化8254工作方式 MOV AL,37H ;计数器0,方式3 00110111 MOV DX,IO8254_COUNT0 ;装入计数初值

MOV AX,03E8H ;1000D=0000 0011 1110 1000B=03E8H MOV AL,03H OUT DX,AL MOV AL,AH OUT DX,AL

MOV DX, IO8254_MODE ;初始化8254工作方式 MOV AL,76H ;计数器1, 方式3 01110110 OUT DX, AL

MOV DX,IO8254_COUNT1 ;装入计数初值 MOV AX,03E8H ;1000D=0000 0011 1110 1000B=03E8H

MOV AL,03H OUT DX,AL MOV AL,AH OUT DX,AL

MOV AX,4C00H ;返回到DOS INT 21H CODE ENDS

END START 接线图如下:

.

.

实验三 8255并口控制器应用实验

一、实验目的

1. 掌握 8255 的工作方式及应用编程。

2. 掌握 8255 典型应用电路的接法。 二、实验内容

1. 基本输入输出实验。编写程序,自行设定A、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。

2. 自设计实验。自行设计能实现A口工作在方式一输入,B口工作在方式一输出的电路并完成程序的编制和在实验箱上的验证,要求,利用控制信号控制数据的输入。 三、实验步骤

1.实验3-1:可编程并行接口8255方式0应用实验

编写程序,自行设定A、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。根据原理补全代码中缺失的部分,根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。 说明:运行源程序8255.asm,按接线图接线,实现并行数据传输功能。 设定B口为输入,接到开关上,A口为输出接到LED灯上。 程序源代码:

IO8255_MODE EQU 28BH IO8255_A EQU 288H IO8255_B EQU 289H

.

.

IO8255_C EQU 28AH

CODE SEGMENT ASSUME CS: CODE

START: MOV DX, IO8255_MODE ;8255初始化 MOV AL, 90H ;B口输入,A口输出 10010000 OUT DX, AL

INOUT: MOV DX, IO8255_B ;读入数据 IN AL,DX MOV DX,IO8255_A ;输出数据 OUT DX,AL MOV DL,0FFH ;判断是否有按键 MOV AH, 06H INT 21H JZ INOUT ;若无,则继续 MOV AH,4CH ;否则返回 INT 21H

CODE ENDS END START 接线图如下:

2.实验3-2:自设计试验

自行设计完成本实验,要求,8255A口工作在方式一输入,B口工作在方式一输出,利用方式一的控制信号,使数据从输入到输出人为可控。在实验报告中画出接线图,并说明设计的原理,

.

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4