【微机原理】8086处理机的设计与仿真(Proteus-汇编语言)

本文详细描述了一项关于8086微处理器及其相关外设(8259A,8253,8255A)的实验,涉及汇编语言编程,如中断服务程序编写,以及如何利用8253进行定时和计数。实验中还使用了Proteus工具设计电路并实现功能,如秒表计时和数码管显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验目的

  1. 掌握8086最小工作模式
  2. 掌握可编程中断控制器8259A工作方式及应用编程
  3. 掌握可编程定时/计数器8253/8254工作方式及应用编程
  4. 掌握可编程并行接口8255A控制字和工作方式
  5. 熟悉汇编语言,能够编写中断服务程序
  6. 能够构建8086模型机

二、实验环境

  • Proteus

三、实验内容

编写汇编程序,完成以下功能:

  1. 8253通道0输入2KHz时钟信号,经过分频产生1Hz的时钟信号
  2. 产生的1Hz的时钟信号,作为8259的中断源控制产生中断信号
  3. 中断发生后,十进制显示的2位数码管作为00~99秒表加一
  4. 在程序开始,从8255的A口读入二进制学号最低两位作为秒表初值

使用 Proteus 工具完成电路图的设计,编写相应的汇编语言程序,完成从 A 口读入两位的二进制数,以十进制显示到与 B 口连接的 2 位数码管上,该 2 位数码管为一个 00  99 秒表,即把读入的学号作为秒表的初值,然后开始跳秒。

四、实验步骤及实验分析

整体结构分析:

首先硬件上对整体电路进行搭建。把8086连接使其工作在最小模式下,把其数据线和地址线进行分离。

其次根据实验指导书给的端口,进行译码电路设计。然后进行825382538255的设计。

8253编程的时候,要把A口设成输入,B口位输出进行数码管的显示。此外,因为初始要显示学号后两位,需要增加PROTA口的输入电路。

8253设计,使用计数器0进行分频。2KHz分成1Hz2000<65535,所以计数器0可以完成任务。

8259使用边沿触发,每当信号来,触发中断服务函数进行工作。

1. 首先对8086设置位最小工作模式:

READY和MN/MX接高电平。

2. 使用74LS373和74LS245把8086复用的地址线和数据线进行分离:

3. 进行端口译码:

A7

A6

A5

A4

A3

A2

A1

A0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值