广海大2020年微机原理实验

这篇博客详细介绍了四个微机原理实验,包括8255并行I/O输入/输出、8254定时器、8259中断控制器和DMA存储器传输。实验涉及8255的C口输入、A口输出,8254的定时器功能,8259中断查询,以及DMA进行存储器到存储器的数据传输。每个实验都包含目的、内容、步骤、程序及运行结果,并强调了软硬件结合和动手实践的重要性。
摘要由CSDN通过智能技术生成

实验一 8255并行I/O输入/输出实验

一、实验目的
1.了解8255芯片结构及编程方法。
2.掌握8255A输入/输出实验方法。

二、实验内容
1.内容:将8255 A的C口作为输入,输入信号由 8 个逻辑电平开关提供,A口作为输出,其内容由发光二极管来显示。将实验的线路连接好后,编程。
2.要求:
(1)完成程序代码的编写,并在实验箱上实现相应功能。
(2)独立完成实验及实验报告。

三、实验步骤
本系统中的8255芯片的数据线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,地址线需要单独接线。按图所示实验线路,将 8255的C口作为输入,输入信号由 8个逻辑电平开关提供,A口作为输出,其内容由发光二极管来显示。将实验的线路连接好后,编程。

  1. 接线:
    8255/JP8(PC7—PC0) 接 逻辑开关/JP1(K7—K0)
    8255/JP6(PA7—PA0) 接 LED 显示/JP2(L7—L0)
    8255/CS 接 I/O 译码/Y1(288H—28FH)
    8255 控制寄存器端口地址–28BH, A 口的地址–288H, C 口的地址—28AH
    2.打开实验箱电源开关,在TPC-ZK集成环境下输入汇编程序,编译、连接,生成.exe文件。
    3.启动调试程序。
    4.查看实验结果:执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化。

四、程序及运行结果
代码如下:
io8255a equ 288h
io8255b equ 28bh
io8255c equ 28ah
code segment
assume cs:code
start: mov dx,io8255b
mov al,8bh
out dx,al
inout: mov dx,io8255c
in al,dx
mov dx,io8255a
out dx,al
jmp inout
mov ax,4c00h
int 21h
code ends
end start

运行结果:执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化,当开关开时二极管发光,当开关关时二极管不发光。

五、心得体会
通过辅导老师的指导,同学们的相互帮助,我们的实验一的目的达到了,而且还有很多其他的收获。本设计完成了 8255并行I/O输入/输出。本设计是基于《新TCP-ZK实验指导书》的实验知识来实现的。

实验二 8254定时器实验

一、实验目的
掌握8253工作方式3的基本工作原理、计数特点和编程方法。

二、实验内容
1.内容:用8253A作定时器,从OUT线输出方波至发光二极管,并且实现二极管的闪烁。
2.要求:
(1)完成程序代码的编写,并在实验箱上实现相应功能。
(2)独立完成实验及实验报告。

三、实验步骤

  1. 接线:
    8254/CLK0 接 时钟/1MHz
    8254/CS 接 I/O 译码/Y0(280H—287H)
    8254/OUT0 接 8254/CLK1
    8254/GATE0,GATE1 接 +5V
    8254/OUT1 接 逻辑笔
    2.打开实验箱电源开关,在TPC-ZK集成环境下输入汇编程序,编译、连接,生成.exe文件。
    3.启动调试程序。
    4.查看实验结果:逻辑电平高低电平
    循环亮灭,时间间隔各1秒。

四、程序及运行结果
代码如下:
DATA SEGMENT
IO8254_0 EQU 280H
IO8254_1 EQU 281H
IO8254_K EQU 283H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,IO8254_K ;向8254写控制字
MOV AL,36H ;使0通道为工作方式3
OUT DX,AL
MOV AX,1000 ;写入循环计数初值1000
MOV DX,IO8254_0
OUT DX,AL ;先写入低字节
MOV AL,AH
OUT DX,AL ;后写入高字节
MOV DX,IO8254_K
MOV AL,76H ;设8254通道1工作方式2
OUT DX,AL
MOV AX,1000 ;写入循环计数初值1000
MOV DX,IO8254_1
OUT DX,AL ;先写低字节
MOV AL,AH
OUT DX,AL ;后写高字节
DDD: JMP DDD ;动态停机
CODE ENDS
END START

运行结果:逻辑电平高低电平循环亮灭,时间间隔各1秒。

五、心得体会
本设计是基于《新TCP-ZK实验指导书》的实验知识来实现的,首先应该画出硬件设计图,这个过程是基础,然后是流程图,这个是重点,流程图的完成在很大程度上等于程序的完成,最后是程序的编写和调试。

实验三 扩展中断控制器8259实验

一、实验目的
1.掌握PC机中断处理系统的基本原理。
2.学会编写中断服务程序。
3.掌握扩展中断查询方法。

二、实验内容
1.内容:每拨动一个电平开关,进行一次中断,屏幕上显示相应的中断请求号。
2.要求:
(1)完成程序代码的编写,并在实验箱上实现相应功能。
(2)独立完成实验及实验报告。

三、实验步骤

  1. 接线:
    8259/IR7—IR0 接 逻辑开关/K7—K0
    8259/CS 接 I/O 译码/Y6(2B0H—2B7H)
    8259/INTA 接 +5V
    2.打开实验箱电源开关,在TPC-ZK集成环境下输入汇编程序,编译、连接,生成.exe文件。
    3.启动调试程序。
    4.查看实验结果:每拨动一个电平开关,进行一次中断,屏幕上显示相应的中断请求号。

四、程序及运行结果
代码如下:
DATA SEGMENT
I8259_1 EQU 2B0H ;8259的ICW1端口地址
I8259_2 EQU 2B1H ;8259的ICW2端口地址
I8259_3 EQU 2B1H ;8259的ICW3端口地址
I8259_4 EQU 2B1H ;8259的ICW4端口地址
O8259_1 EQU 2B1H ;8259的OCW1端口地址
O8259_2 EQU 2B0H ;8259的OCW2端口地址
O8259_3 EQU 2B0H ;8259的OCW3端口地址
MES1 DB ‘YOU CAN PLAY A KEY ON THE KEYBOARD!’,0DH,0AH,24H
MES2 DD MES1
MESS1 DB ‘HELLO! THIS IS INTERRUPT * 0 *!’,0DH,0AH,’ ′ M E S S 2 D B ′ H E L L O ! T H I S I S I N T E R R U P T ∗ 1 ∗ ! ′ , 0 D H , 0 A H , ′ ' MESS2 DB 'HELLO! THIS IS INTERRUPT * 1 *!',0DH,0AH,' MESS2DBHELLO!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值