可控制循环灯设计

上传人:M****1 文档编号:497827149 上传时间:2022-09-06 格式:DOC 页数:11 大小:1,003KB
返回 下载 相关 举报
可控制循环灯设计_第1页
第1页 / 共11页
可控制循环灯设计_第2页
第2页 / 共11页
可控制循环灯设计_第3页
第3页 / 共11页
可控制循环灯设计_第4页
第4页 / 共11页
可控制循环灯设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《可控制循环灯设计》由会员分享,可在线阅读,更多相关《可控制循环灯设计(11页珍藏版)》请在金锄头文库上搜索。

1、课程设计 姓名:纪乐学号:12013241906专业:通信工程 班级:2013级1班 指导老师:李萍 学院:物理电气信息学院 完成日期:2015年12月8日课程设计 可控制循环灯设计一设计内容 本次设计实验用LED作为中断显示器,在我的课程设计过程中需要使用八个LED灯,先对8059初始化,开始第一个灯亮,有中断时按下开关第二个灯亮,依次循环亮。二设计目的 1、了解可控制循环灯的工作原理。 2、掌握可控制循环灯编程方法和芯片8259的逻辑功能及使用方法。3、掌握一定的汇编语言知识,培养自己的动手操作能力。4、学习程序设计的基本思路和方法三设计原理1.8086的简介 Intel 8086拥有四个

2、16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个寄存器。2.8086的结构 8086 引脚图 8086具有两种不同工作方式,即最小模式和最大模式。若把MN/MX#引脚连至电源+5V,则为最小模式。若把它接地,则处在最大模式。在最小模式中引脚定义AD15AD0(Address Data Bus):16位地址/

3、数据总线,分时复用。传输地址时三态输出,传输数据时三态双向输入/输出。在总线周期T1状态,CPU在这些引脚上输出存储器或I/O端口的地址、在T2T4状态,用来传送数据、在中断响应及系统总线“保持响应”周期一,AD15AD0被置成高阻状态。A19/S6A16/S3(Address/Status):地址/状态线,三态,输出,分时复用。在T1状态作地址线用,A19A16与A15A0一起构成20位物理地址,可访问存储器1M字节。当CPU访问I/O短口时,A19A16为“0”、在T2T4状态作状态线用,S6S3输出状态信息。BHE/S7(Bus High Enable/Status):高8位数据线允许/

4、状态信号,三态输出,低电平有效。16位数据传送时在T1状态,用BHE指出高8位数据总线上数据有效,用AD0地址线指出低8位数据线上数据有效。在T2T4状态S7输出状态信息,在“保持响应”周期被置成高阻状态。MN/MX(Minimun/Maximun):最小/最大工作模式选择信号,输入。当MN/MX接+5V时,CPU工作在最小模式,当MN/MX接地时,CPU工作在最大模式。RD(Read):读选通信号,三态,输出,低电平有效。由M/IO信号区分读存储器或I/O端口,在读总线周期的T1、T2、TW状态,RD为低电平。在“保持响应”周期,被置成高阻状态。WR(Write):写选通信号,三态,输出,低

5、电平有效。由M/IO信号区分写存储器或I/O端口,在读总线周期的T1、T2、TW状态,WR为低电平。在DMA方式时,被置成高阻状态。M/IO(Memory/Input and Output):存储器或I/O端口控制信号,三态,输出。M/IO信号为高电平时,表示CPU正在访问存储器,信号为低电平时,表示CPU正在访问I/O端口。一般在前一个总线周期的T4状态,有效,直到本周期的T4状态为止。在DMA方式时,M/IO置为高阻状态。ALE 地址锁存允许信号,输出,高电平有效。READY(Ready):准备就绪信号,输入,高电平有效。在T3状态结束后CPU插入一个或几个TW暂停状态,直到READY信号

6、有效后,才进入T4状态,完成数据传送过程。RESET(Reset):复位信号,输入,高电平有效。CPU收到复位信号后,停止现行操作,并初始化段寄存器DS、SS、ES,标志寄存器PSW,指令指针IP和指令队列,而使CS=FFFFH。RESET信号至少保持4个时钟周期以上的高电平,当它变成低电平时,CPU执行重启动过程,8086/8088将从地址FFFF0H开始执行指令。INTR(Interrupt Request):可屏蔽中断请求信号,输入,电平触发,高电平有效。当外设接口向CPU发出中断申请时,INTR信号变成高电平。INTA(Interrupt Acknowledge):中断响应信号,输出,

7、低电平有效。在中断响应总线周期T2、T3、TW状态,CPU发出两个INTA负脉冲,第一个负脉冲通知外设接口已响应它的中断请求,外设接口收到第二个负脉冲信号后,向数据总线沙锅内放中断类型号。NMI(Non Maskable Interrupt Request):不可屏蔽中断请求信号,输入,边沿触发,正跳变有效。此类中断请求不受中断允许标志位IF的影响,也不能用软件进行屏蔽。一旦收到信号,在当前指令执行完后,自动引起类型2中断。经常处理电源掉点的紧急情况。TEST(Test):测试信号,输入,低电平有效。CLK(Clock):时钟信号,输入。VCC(+5V),GND(地)2.8259A的结构a.中

8、断的概念: 所谓中断,是指CPU在正常运行时由于程序的预先安排或内外部事件引起CPU暂行正在运行的程序,转到为预先安排的事件或内外部事件服务的程序中去,服务程序执行结束后再返回到暂行的程序继续执行。引起中断的事件称为中断源。预先安排的事件是指PC的中断指令。内部事件是指系统板上出现的一些事件信号,中断指令也可看作内部事件。外部事件是指某些接口设备所发出的请求中断程序执行的信号,这些信号称为中断请求信号,中断请求信号是不能预知的,然而它们一旦请求中断,则会向CPU发出信号,这样CPU就无需花大量时间去查询这些信号是否产生。中断请求信号一旦产生,CPU得知这个信号后,便立即去执行相应的中断服务程序

9、,执行完成后CPU恢复被中断的程序。有时中断源有几个,因此CPU响应这些中断就得有先后次序,这称为中断优先级。优先级高的中断首先响应,优先级低的中断暂不响应。CPU响应中断由中断源提供地址信息,引导程序转移到中断服务程序中去,这个地址信息称为中断向量,它一般是和中断源相对应的,PC机采用类型码来识别中断源。 b.中断控制器8259A的逻辑结构 在微机中,利用8259芯片来完成中断。 中断控制器8259引脚图芯片引脚定义如下: D0D7:数据线,双向。 WR#:写控制信号,低电平有效。 RD#:读控制信号,低电平有效。 CS#:片选端,低电平有效。 A0:地址线。在8088中由CPU的A0接入8

10、259的A0端;而在8086中由CPU的A1接入8259的A0端。IRQ0IRQ7:8级中断请求输入。 INT:中断请求信号(输出)。用来向CPU发中断请求信号。 INTA:中断应答线(输入)。当接收到CPU的应答信号后,8259A就把中断向量类型号送到数据线。 SP#/EN#:在缓冲器工作方式作为输入信号允许缓冲器选通。在主从工作方式作为输入信号由该输入脚的电平来区分“主”或“从” 8259A,若输入高电平则为“主” 8259A,若输入低电平则为“从” 8259A。 CAS0CAS2级联控制信号。系统中最多可以把8级中断请求扩展为64级主从式中断请求,对于“主” 8259A,CAS0CAS2

11、为输出信号,对于“从” 8259A,CAS0CAS2为输入信号。c.8259A工作原理当一个中断请求从IR0到IR7中的某根线到达IMR时,IMR首先判断此IR是否被屏蔽,如果被屏蔽,则此中断请求被丢弃;否则,则将其放入IRR中。在此中断请求不能进行下一步处理之前,它一直被放在IRR中。一旦发现处理中断的时机已到,将从所有被放置于IRR中的中断中挑选出一个优先级最高的中断,将其传递给CPU去处理。IR号越低的中断优先级别越高,比如IR0的优先级别是最高的。8259A通过发送一个INTR信号给CPU,通知CPU有一个中断到达。CPU收到这个信号后,会暂停执行下一条指令,然后发送一个INTA信号给

12、8259A。8259A收到这个信号之后,马上将ISR中对应此中断请求的Bit设置,同时IRR中相应的bit会被reset。比如,如果当前的中断请求是IR3的话,那么ISR中的bit-3就会被设置,IRR中IR3对应的bit就会被reset。这表示此中断请求正在被CPU处理,而不是正在等待CPU处理。随后,CPU会再次发送一个INTA信号给8259A,要求它告诉CPU此中断请求的中断向量是什么,这是一个从0到255的一个数。8259A根据被设置的起始向量号(起始向量号通过中断控制字ICW2被初始化)加上中断请求号计算出中断向量号,并将其放置在Data Bus上。3.CPU中断处理的过程:4.CP

13、U在系统的应用5.对8086的初始化 因为8259的内部寄存器寻址与命令字的写入顺序有关,所以,对8259的初始化一定要按规定的顺序进行,如下图。6.设置中断向量表 本实验设计中采用一片8259A中断控制芯片工作于主片方式,8个中断请求,求输入端IR0IR7对应的中断型号为07,中断矢量关系如下表所示四实验设备PC机一台,proteus仿真软件以及emu8086编译软件。五硬件电路图a.原理图 b.接口电路c.原理布图 六汇编程序设计;定义堆栈-STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS ;定义变量-DATA SEGMENT ;定义CNT=1CNT

14、 DB 1DATA ENDS;代码段code SEGMENT codeassume CS:code,DS:datastart: MOV AX,DATA MOV DS,AX CLI ;修改中断向量前关中断 MOV AX,0 MOV ES,AX ;es段=0 MOV SI,60H*4 ;设置中断向量96号中断 MOV AX,OFFSET int0 ;中断入口地址 ;stosw MOV ES:SI,AX ;si=60h*4,存放入口地址 -IP 8086 MOV AX,CS ;seg int0 -CS 8086 ;stosw; MOV ES:SI+2,AX ;初始化8259 MOV AL,00010011b MOV DX,400H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号