




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三:基于Proteus软件的8086最小系统硬件设计一、实验目的1.学习使用Proteus进行8086微机系统仿真设计的方法。2.学习8086CPU以及外部电路的接法和应用原理。二、实验设备PC微机一台、Proteus软件、emu8086编码器软件三、实验任务1. 正确安装Proteus软件。2. 使用Proteus绘制38译码电路,并通过通断开关,观察二极管导通情况。3. 在Proteus中绘制8086最小系统电路,并加载程序,观察运行结果。四、实验原理本实验首先学习Proteus软件的安装,并通过绘制简单的38译码器电路掌握该软件的使用方法。然后利用该软件设计完成一个8086最小模式系统原理图并加载指定程序实现LED显示开关状态。设计8086最小模式系统包括8086CPU、地址锁存器、数据总线收发器、时钟发生器等。利用74LS373芯片进行扩展外接开关和LED发光二极管。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。它受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。本次试验将以该软件为基础分别绘制38译码器电路图和8086最小系统电路图。74LS138译码器有三个输入端:A0、A1、A2和八个输出端/Y0/Y7。当输入端A0、A1、A2的编码为000时,译码器输出为/Y0=0,而/Y1/Y7=1。即Q0对应于A0、A1、A2为000状态,低电平有效。A0、A1、A2的另外7种组合见后面的真值表。S1、S2、S3为使能控制端,起到控制译码器是否能进行译码的作用。只有S1为高电平,S2、S3均为低电平时,才能进行译码,否则不论输入为何值,每个输出端均为1。8086最小模式即系统中只有8086(或8088)一个微处理器。最小模式是单处理器系统。系统中所需要的控制信号全部由8086(或8088)CPU本身直接提供。该最小系统电路图微处理器级总线带负载的能力弱,加之部分引脚采用复用引脚,所以在微机系统设计时,不能直接与存储器、I/O接口连接。地址锁存:对存储器读写或对I/O设备输入输出的总线周期中,要求地址信息一直保持有效。因此总线控制逻辑必须完成对分时复用的地址/数据总线中地址信息的锁存,以实现地址总线和数据总线的分离。(74ls373)数据缓冲(三态输出的总线收发器):总线控制逻辑中的驱动器和接收器是为了提高总线的驱动电流的能力和承受电容负载的能力。(74ls245)他们都必须要求具有三态功能。最小系统原理图:图3-1 8086最小模式系统原理图五、实验内容实验中,我首先学习了Proteus软件的安装,并通过绘制简单的38译码器电路掌握该软件的使用方法。然后利用该软件设计完成一个8086最小模式系统原理图并加载指定程序实现LED显示开关状态。设计8086最小模式系统包括8086CPU、地址锁存器、数据总线收发器、时钟发生器等。利用74LS373芯片进行扩展外接开关和LED发光二极管。六、实验过程及结果1,安装proteus软件,并进行破解。2,熟悉软件的基本用法。3,按照所给电路图在软件上进行绘制。 图3-2 8086最小模式系统电路图4,载入仿真程序,运行结果。 图3-3 仿真结果七、实验感想第一次使用这个电路设计软件,有点吃力,但是适应后就很熟练了,而且还很好玩。由于一开没有意识到标号的重要性,于是没标号就开始仿真,结果什么结果都没,随后又是各种标错,漏标导致没有结果。好在最后检查出了所有的错误,顺利仿真出了结果。通过这次实验,我对8086的运行机制更加了解了,也掌握了译码器,锁存器以及输入输出设备的用法,收获颇丰。八、参考文献实验四:基于8086最小系统的汇编程序设计一、实验目的1.学习使用Proteus进行8086微机系统仿真设计的方法。2.学习8086CPU以及外部电路的接法和应用原理。3.编程实现电路功能,学习汇编程序的编辑、编译、链接、执行的全过程。二、实验设备PC微机一台、Proteus软件、emu8086编码器软件三、实验任务1. 研究所给实验材料中的8086最小系统电路原理图,了解其基本工作原理,包括工作时序、地址译码、相关逻辑器件的配合等。2. 根据电路的工作原理,编写程序,实现由矩阵按键控制BCD数码管显示0F的基本功能。四、实验原理该8086最小系统的输入端物理地址为4004H,输出端地址为4000H。该系统不断扫描输入端4*4矩阵开关的状态,当发现4*4矩阵开关有开关闭合,将该开关所代表的横纵坐标传给8086CUP进行计算,求出其代表的键值,并将该值传给输出端通过BCD数码管显示输出该值。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。1、判断键盘中有无键按下: 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2、判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。电路如图4-1所示:图4-1 8086系统电路图五、实验内容本实验首先需阅读Proteus设计文件中已经给出的译码表和译码电路,然后编写程序实现显示按键号的功能,即16个按键对应显示0F。 电路中的数码管为BCD数码管,控制脚连接到IO口上,每个IO口分别代表二进制的一位,四位二进制可表示015的数,对应此数码管则显示0F。6、 实验过程及结果A.扫描法:1、绘制程序流程图:图4-2 程序流程图2、编写程序:;-OUT1EQU4000HOUT2EQU 4002HIN1 EQU 4004H;-DATAS SEGMENT KEY DB 00H ;储存按键计算结果,初始值为0 DATAS ENDS;-STACKS SEGMENT ;此处输入堆栈段代码STACKS ENDS;-CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS ;对数据段初始化 MOV DS,AX MOV CL,00H ;初始化,CL存储列值,DL用于扫描相应的列,AL输出计算后的数值 MOV DL,01H MOV AL,KEY MOV OUT1,AL CIRCLE: MOV OUT2,DL ;一列一列地扫描输出高电平 MOV BX,IN1 MOV AL,BX ;读出开关状态,即行数 L1: TEST AL,01H ;是否为第1行 JZ L2 ;不是则继续判断 MOV AL,00H ;设置第1行第1列的对应的键值 JMP KCODEL2: TEST AL,02H ;是否为第2行 JZ L3 ;不是则继续判断 MOV AL,04H ;设置第2行第1列的对应的键值 JMP KCODEL3: TEST AL,04H ;是否为第3行 JZ L4 ;不是则继续判断 MOV AL,08H ;设置第3行第1列的对应的键值 JMP KCODEL4: TEST AL,08H ;是否为第4行 JZ NEXT ;不是则继续判断 MOV AL,0CH ;设置第4行第1列的对应的键值KCODE: ADD AL,CL ;将第1列的值加上当前列数,确定按键值 MOV KEY,AL ;储存键值 JMP START ;发现有按键则改变显示,否则不变NEXT: TEST DL,08H ;检测是否到达最后一列 JZ AGAIN ;是就清零后重新扫描,否则进入下一列 MOV DL,01H MOV CL,00H JMP CIRCLEAGAIN: ROL DL,1 ;进入下一列 ADD CL,01H JMP CIRCLECODES ENDS END START;-3、 载入程序验证结果 图4-3实验结果展示B.淘汰法(自创):1、绘制程序流程图:图4-4 淘汰法程序流程图2、编写程序:;-OUT1EQU4000HOUT2EQU 4002HIN1 EQU 4004H;-DATAS SEGMENT KEY DB 00H ;储存按键计算结果,初始值为0 DATAS ENDS;-STACKS SEGMENT ;此处输入堆栈段代码STACKS ENDS;-CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS ;对数据段初始化 MOV DS,AX BEGIN: MOV CL,0XFF ;初始化,CL存储列值,DL用于扫描相应的列,AL输出计算后的数值 MOV DL,0FH MOV AL,KEY MOV OUT1,AL MOV OUT2,DL ;首先按键每一列输出高电平 MOV BX,IN1 MOV AL,BX ;读出开关状态,即行数 CMP AL,00H JZ BEGINL1: TEST AL,01H ;是否为第1行 JZ L2 ;不是则继续判断 MOV AL,00H ;设置第1行第1列的对应的键值 JMP CIRCLEL2: TEST AL,02H ;是否为第2行 JZ L3 ;不是则继续判断 MOV AL,04H ;设置第2行第1列的对应的键值 JMP CIRCLEL3: TEST AL,04H ;是否为第3行 JZ L4 ;不是则继续判断 MOV AL,08H ;设置第3行第1列的对应的键值 JMP CIRCLEL4: TEST AL,08H ;是否为第4行 JZ BEGIN MOV AL,0CH ;设置第4行第1列的对应的键值 CIRCLE: SHL DL,1 ;左移位产生一列低电平 ADD CL,01H ;记录列值 MOV OUT2,DL ;输出列值 MOV AH,BX ;读出开关状态,即行数 CMP AH,00H JNZ CIRCLE ;判断AL是否变为了0,若没变则继续循环CAL: ADD AL,CL ;将第1列的值加上当前列数,确定按键值 MOV KEY,AL ;储存键值 JMP BEGIN ;发现有按键则改变显示,否则不变CODES ENDS END START;-4、 载入程序验证结果 图4-5淘汰法实验结果展示七、实验感想有了上一次实验的结果,这一次的绘制就简单多了,很快便成功仿真出结果,但是在程序编写上花了蛮多时间。主要是一开始对电运行机制没掌握透,以为按键的行和列信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁中考一模数学试卷
- 南通二调数学试卷
- 去年保定市统考数学试卷
- 标准厂房生产线布置与规划方案
- 七年级的数学试卷
- 司机疫情防控知识培训课件
- 司机救援知识培训课件
- 化妆品培训基础知识课件
- 叶酸知识科普培训总结课件
- 2025年小学育才面试题及答案
- 食堂火灾应急预案
- 封闭式循环水工厂化养殖项目可行性研究报告模板
- T-HAS 141-2024 合成超硬材料用叶蜡石
- DB33-T 1354.2-2024 产业数据仓 第2部分:数据资源编目规范
- 劳务外包服务投标方案(技术标)
- CNAS-CL36-2012 医学实验室质量和能力认可准则在基因扩增检验领域的应用说明
- JJG 184-2024 液化气体铁路罐车容积检定规程
- 股权转让股东会决议范本
- 合作社和公司合作协议书(2篇)
- 高一政治必修1、必修2基础知识必背资料
- 医药代表大客户管理经验分享
评论
0/150
提交评论