8086芯片认识

一、设置8086最小模式系统总线
8086系统中 BHE# 和 A0 引脚

AD15 ~ AD0 为地址/数据总线,T1 时用作地址总线的低 16 位,其他时间用作数据总线。
A19 ~ A16 / S6 ~ S3为地址状态总线,T1 时用作地址总线高 4 位,其他时间指示 CPU 状态信息。
34 号引脚 #BHE/S7 总线高允许 / 状态信号,T1 时作为高允许信号,#BHE 低电平时把读写的 8 位数据与 AD15 ~ AD8 联通,与 A0 结合以决定是高字节工作还是低字节工作。AD0 除了传输数据或地址信息还作为低 8 位数据的选通信号多字节的存取

奇地址:最低存储单元地址为奇数——即地址最低位 A0 = 1
偶地址:最低存储单元地址为偶数——即地址最低位 A0 = 0
8086 每个周期可以访问 16 位信息,变量地址为偶地址时,只需一个总线周期。如果变量为奇地址时,则要两个连续总线周期。8086 的存储空间时分成两个 512K 的存储体,偶存储体和奇存储体。低 8 位 D7 ~ D0 数据总线联接偶存储体,高 8 位 D15 ~ D8 数据总线联接奇存储体。偶地址存储时:一个 16 位字数据,高 8 位存储在奇存储体,低 8 位存储在偶存储体。奇地址存储时:相反。这样在读或写字数据时,偶地址存储方式:可以在一个总线周期完成读写。奇地址存储方式:读写时则有一个字节交换过程,也就是要用总线的高 8 位去读写字数据的低 8 位,再用总线的低 8 位读写字数据的高 8 位,需要两个总线周期才能完成一个字数据的读写。
根据最小模式选择8086CPU,8086CPU有20根地址线,16根数据线,寻址空间1MB。根据传输信号的不同,8086CPU的引脚分为三种,即控制引脚(CB),地址引脚(AB),数据引脚(DB)。各个控制引脚的功能:

  1. RESET:复位信号,高电平有效。当该引脚有效,CPU停止当前工作。
  2. ALE:地址所存信号,解决数据和地址传送问题。
  3. M/ I O IO IO:存储器或外设选择信号,为0时选择外设,为1时选择存储器。
  4. B H E BHE BHE:高八位数据有效。
  5. D E N DEN DEN:数据选通有效信号。
  6. DT/ R R R:数据收发控制信号,为0时接受信号,为1时发送信号。
  7. READY:准备就绪信号,输入,高电平有效。(所有引脚信号均采用标签法)

在这里插入图片描述
设置系统地址总线,由于8086有20根地址线,74ls373是一种8位锁存器,一次可以保存8位有效数据。AD0AD16,A16AD19作为输入,第一片接AD0AD7,第二片接AD8AD15,第三片接A16~A19, B H E BHE BHE共21位地址相关信息需要所存。
所以选择3片地址锁存器74ls373。此芯片引脚信号 O E OE OE需要为低电平时允许输出。

在这里插入图片描述
设置系统数据总线,由于8086有16根数据线,74HC245是一种8位数据缓冲寄存器,所以选择2片数据缓冲器74hc245。AD0AD7为输入端,第一片接AD0AD7,第二片接AD8~AD15。此芯片引脚信号 C E CE CE D E N DEN DEN控制数据传送信号,,AB/ B A BA BA接DT/ R R R控制数据的接受与发送。

在这里插入图片描述
设置三总线结构

在这里插入图片描述
二、输入输出系统总线设计
在这里插入图片描述
一位输出系统

  1. 为外设安排地址,定义偶地址(80H)为输出地址。
  2. 安排一个二极管当写入时,二极管发光。
  3. 为保存写入的二进制有效,选择74LS74芯片(D触发器)。
  4. W R WR WR为低电平,地址有效且M/ I O IO IO为低电平时,二极管发光。
    在这里插入图片描述
    一位输入系统
  5. 为外设安排地址,定义奇地址(81H)为输入地址。
  6. 设置一个开关电路作为输入。
  7. 安排一个三态门(将模拟信号传换为数字信号),当 C S CS CS无效时,信号阻断,无法与CPU进行数据传输。
  8. R D RD RD为低电平,地址有效且M/ I O IO IO为低电平时,才能进行输入。
### 回答1: 8086是一款常用的微处理器芯片,而Proteus则是一款电路设计和仿真软件,在这两者的基础上,我们可以使用C语言编写一个闹铃程序。 闹铃程序的基本实现是通过定时器模块来控制时间,当时间到达预定时间时,触发闹铃的响声。在8086处理器上实现定时器芯片,我们可以使用8254芯片作为计时器,通过编写程序控制它的输入输出来实现计时器的功能。 在实现程序的过程中,需要了解一些C语言的基础知识,如定义变量,使用函数,编写条件判断语句和循环语句等。另外,还要了解一些与8086处理器相关的指令和寄存器。 当程序编写完成后,我们可以使用Proteus软件进行仿真测试,通过模拟程序的执行过程来验证程序的正确性,如果有问题发现,及时调整程序以满足要求。 总之,基于8086和Proteus的闹铃程序的编写需要我们掌握一些基础知识和技巧。只有了解了这些知识,才能编写出高效、可靠的程序,在实际应用中发挥出优异的表现。 ### 回答2: 8086proteus闹铃是一款基于8086微处理器的仿真软件,主要用于模拟单片机的操作过程,可实现硬件与软件的联调。在该软件中,可以通过c语言来编写闹铃程序。 首先,需要明确闹铃的基本功能,即在设定的时间到达时发出响铃提醒,可以使用计时器来控制时间的流逝,同时配合背景音乐等效果增强闹铃的实用性。 其次,需要编写相应的中断处理程序,将闹铃的设置与触发事件进行关联。通过编写c语言函数,可以实现该闹铃程序的各种功能,并调用相应的库函数,如定时器函数、中断函数等来完成相应的操作。 最后,需要8086proteus环境中进行硬件设计与仿真调试,确保软件与硬件的完美匹配,同时测试闹铃的稳定性和准确性,以实现真正意义上的闹铃功能。 总的来说,基于8086proteus闹铃 c语言的实现需要涉及到多方面的知识,包括硬件设计、软件编程、中断处理等方面,需要对该软件及其相关工具有一定的掌握能力,同时也需要对c语言有深入的认识和理解,才能够实现一个完美、实用的闹铃程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值