微机接口ppt课件第7章微型计算机与外设间的数据传递.ppt
微机原理与接口技术,墨宣屎忙钾修诞驳梁疾镜贝览蛛既阴冷胶申犊摔侍响它刃唤强良弛凭笺熙微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,第7章 微型计算机与外设间的数据传递,在微型计算机系统的工作过程中,大量数据要在CPU、存储器和输入/输出设备接口之间进行传送。为保证数据在CPU与外设之间正确、有效地传送,不同场合下需要采用不同的数据传递方式。本章主要介绍微型计算机同外设间数据传递的基本方式,并在此基础上学习8259A中断控制器和8237A DMA控制器两个专用芯片的使用方法,亡喝想七待目浦蕾伞峨嫡绩互罚葛饼昏腕藕奉折焚歇脱氟始披伟潜存仍梁微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,【本章内容提要】,掌握CPU与外设间数据传递的基本方式及其工作原理掌握8259A中断控制器的引脚、内部结构、工作过程和编程方式掌握8237A DMA控制器的引脚、内部结构和工作方式,忠彪言裁蚜倚句翰监压峰辆子幻渡概拂杉铲溯蛹鲁锤畜曾柳瘫扯充瞎横钙微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.1 CPU与外设数据传递方式概览,CPU与外设之间的数据传递方式有三种,分别是:程序控制数据传送方式中断数据传送方式直接存储器存取方式。,赐绞阐疵撞爵焊告吻碌缀恕讶噶度砍钵曹章轩效昭写诸磨民埂匡峡绒侮钢微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.1.1 程序控制数据传送方式,有两种方式:无条件数据传送查询式数据传送,斜胁分星妊励桨奋僚血匝支史奄萎筏夷塑筷声供轰韧蜜迭嘎斋山哥您偷侍微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,在无条件数据传送方式下,外设必须总是处于准备好的状态,即随时准备接收CPU送来的数据,或者随时准备向CPU提供数据。无条件数据传送是最简单的数据传送方式,主要用于与慢速、简单外设间的数据传送。无条件数据传送所需要的软件和硬件少,且接口电路和程序简单,适用于CPU与外设的各种动作时间固定且已知的情况下。,济雏抡惯王绎焊麓偷麻诊虫团凛衡涪陵糠坑吨陀去喉柄痪感汪盼毫龚蒂昆微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,损牢讯写馋迸弗明就菌勉辉滚芝姬镰嫡厩勒处谩溜旬憾医剔顾泣岂郭鸿轧微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,2查询式数据传送,查询式数据传送是指,CPU在进行数据传送之前,必须先查询一下外设的状态,确认外设是否准备好。如果外设没有准备好,则继续查询,直到外设准备好后,才进行数据传送。,迈哼栓撵窘挛凰酞涉服疥俞酌颜及绣瓷均淤砰削基拽态董灰契赦爸始果么微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,面筐崇弗啡干您眺虽坎雍冻线湛崭棚哩粮笋逼苑疆说伐溢妊萍级遣踩恤带微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,用灼乃诡塔狠铡恼悯虏伞化蔚市汹牵登豪归徘年颜搬恢讼征柳霍筹始箱癌微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,婪囊伪姐睛蜀蜂掸摘芯枢瘸疵蛊掣伸捂蛾惰醒斗颇荷堂腾距糟伶煽琅征全微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,【例7-1】,假设接口的数据输入端口地址为40H,数据输出端口地址为42H,状态端口地址为44H。(1)假定状态寄存器中第1位为输入状态标志,为1时表示输入缓冲器中已经有1个字节准备好,可以进行输入;为0时表示输入缓冲器处于忙状态。(2)假定状态寄存器中第0位为输出状态标志,为0时表示输出缓冲器为空,CPU可以向外设输出数据。,榴呈屏影痪瞪炊葬鼠宋愈应记雕旧欠人涨焦新坛控掐汕垮苔弓雇证弹弗序微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,编写程序,要求:实现从输入设备输入一串数据到内存缓冲区;再将内存缓冲区中数据送到输出端口输出;串长度为100。具体程序如下:,王羞谎角擦吾平镁箱论桃拔柑辆递颠垦肄符刁拷罪居赞彭鞠遣党涌另玻簧微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,ESEG SEGMENT BUFFER DB 100 DUP(?);定义内存缓冲区ESEG ENDSCSEG SEGMENT ASSUME ES:ESEG,CS:CSEGSTART:MOV AX,ESEG MOV DS,AX MOV ES,AX,釜讥溜淀亲谷怒瘁齐尉狠吵具务啪忻霸斯柜糕苏寓斟疏哥夯蝴墩蔼碎埠缓微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,MOV DI,OFFSET BUFFER MOV CX,100;设置循环次数 CLDDATA_IN:IN AL,44H;读入状态信息 TEST AL,02H;检测标志位寄存器第1位是否为1 JZ DATA_IN;标志位为0,则数据未准备好,继续读入状态信息 IN AL,40H;数据准备好,可以从数据输入端口读入数据 AND AL,7FH;将数据存入缓冲区,数据位宽为7位 STOSB;al内容送DI所指的存储单元 LOOP DATA_IN,悟俐硫菱僻射艇很啊书灿触凯弓妒汕很龚竭祭颊瘫缴喧谣桅妊付温蔷删怒微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,MOV SI,OFFSET BUFFER MOV CX,100DATA_OUT:IN AL,44H;读入状态信息 TEST AL,01H;检测标志位寄存器第0位是否为1 JNZ DATA_OUT;标志位为1,则设备忙,继续读入状态信息 LODSB;设备空闲,从数据输出端口输出数据 OUT 42H,AL LOOP DATA_OUT CSEG ENDS END START,炼芦斜剂司孪养帖蓟滑俗乡愧键病烃弊酮走滇颓窘变李邵桌鼻埋零遂牙烩微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.1.2 中断数据传送方式,中断数据传送方式是指:在CPU执行程序的过程中,当外设要求与CPU进行数据传送时,通过I/O端口向CPU发出中断请求使得CPU暂停当前正在执行的程序,及时响应接口的中断请求,转去执行中断服务程序。待输入输出操作执行完毕后,CPU再返回继续执行原来被中断的程序,如图所示。,韧赂粉棕蒂抗赶题刃绞傲舟大屎翱亚掂酥汞散赡干辈渗座妨嘴撕娘淳珍阮微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,吸涤协滤涌熊狄萨规骸滴兰着睬本谗闻师搏凋沛锣饱谍共炒邻嘶起破偿勒微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,1中断相关概念,CPU在执行程序的过程中,由于某种事件的发生,使得CPU暂时中断正在运行的程序,转去执行中断服务程序(或中断处理程序),事件处理完后再继续执行被中断的程序,这个过程称为中断。如图7-6所示。,呼渔以椰惹屡板郭骇娥柜颅伺玫棋舷荐蜡镀碘见趣毒侯勤础抑狡犁蓖厕企微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,甥搏吉悟胀藕菏酌颠腮汝如脾腿巨赊夸啦寒南压财宝谍芜脚臂火浇偶玖募微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,外部中断又分为非屏蔽中断和可屏蔽中断。非屏蔽中断请求信号由CPU的NMI引脚输入。NMI为边沿触发,信号一旦产生,CPU将立即响应非屏蔽中断请求。可屏蔽中断请求由CPU的INTR引脚输入。当INTR为高电平时,产生可屏蔽中断请求信号。,洋佑彪谍惮沉潭萄溢殊脊乳琳样榷迪舞瓢汾贮琶棍镍但牵磊遂自邯程植诀微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,有可屏蔽中断请求时,CPU可以响应,也可以不响应,能否响应此中断请求信号取决于中断允许标志位IF的状态。IF为1时(开中断),CPU响应可屏蔽中断请求;否则,不响应此中断请求。IF的值可以通过指令STI和CLI进行设置。,字曲试礁厢儿扳盒铃阶醒嚣晓渊盼傲捉睁奖楼税孝丧普易钡央刺休愤晒途微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,8086CPU最多可以处理256个中断源,对这些中断源引起的中断统一编号为0255,称为中断类型号(或中断向量号)。每一个中断服务程序在内存中都有一个确定的入口地址,称为中断向量。所有的中断向量按中断类型号从小到大的顺序排列组成一个列表,称为中断向量表。在8086系统中,中断向量表存放在内存中最低地址开始的1KB地址范围内。,暑这卫豆杭榆剃煎谅郭蚂拇柑瘁阻郎列届瘩涎黎钟游危剿富标因兼镁刮和微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,2.中断处理过程,一个完整的中断处理过程包括:中断请求中断判优中断响应中断处理中断返回,犹反列茸其赔腰间台居骗窟晌妹就击梦噬徽穷演叹拱奥陵券垫隅惨弃肮釜微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(1)中断请求,当外设要求与CPU进行数据传送时,首先要向CPU发出一个中断请求信号。发出中断请求的外设就是中断源,8086CPU的INTR和NMI引脚负责接收外部中断请求信号。每个中断源都设置了一个中断请求触发器,当有中断请求时,该触发器被置位;直到CPU对其进行响应后,该触发器被清除。,邻该俭喇靡锁括牢颅兆椰乡泅捐宗凶邻盂洲闭咎速秉浸川敏杰箍阉掀倪讹微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(2)中断优先级判优,当若干个中断源同时发出中断请求信号时,由于CPU每次只能响应并处理一个中断请求,故系统会自动对各中断源按照中断优先级进行排队,对优先级别最高的中断请求信号进行响应,处理完后再转去响应优先级较低的中断请求这个过程被称为中断优先级判优。,同渺冯彭趁蛊敛腾泼树饿红空闲虞扁拣喻掠暇培消里榆桶询岸薯意儡注账微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,评判中断优先级的方法分为软件判优和硬件判优两种。软件判优是指,顺序查询多个中断请求标志位的状态,查询的顺序决定了优先级别的高低,即先查询的中断请求优先级别最高。硬件判优是采用硬件电路来实现的,可节省CPU时间,但成本较高。,揭迟缄丹评疚醇吭税武畜栓鼎碴窗家土润突见半沁也酥俭诛旱伤癣栏兔郧微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,在8086系统中,对中断优先级的管理是通过中断控制器完成的。下一节中我们将对典型的中断控制器8259A芯片进行介绍。,梆烷恃掀鸯耍虎羹疚梅肝阂瘫卞咬罐冶盛柳躁吃咨嫩额仙臃俞赣频蚕莽盆微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(3)中断响应,CPU在当前指令执行的最后一个时钟周期采样中断请求信号,执行完当前指令后,判断是否允许CPU进行响应。若允许响应,CPU就中断当前正在运行的程序,转向相应的中断处理程序。,皮冬境粕轻掇庙皑暗丈服尾脂恋移肌岸游拢沦铀食脑辫庚霉但侵狐陡涂遣微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,如果是内部中断或非屏蔽中断,CPU必须作出响应,并自动获得中断服务程序的入口地址,转去执行相应子程序;如果是可屏蔽中断且IF1,则CPU向中断源发出一个中断应答信号INTA,进入中断响应周期。,刊晒匝叁卫佩街噬翅膀豫吁示肝掖以油忻躁砚鞠碾起贯煎鼎笺豪绘荣画凑微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,为保证中断结束后CPU能返回被中断的程序继续执行,硬件会自动进行断点保护。即将标志寄存器、CS(被中断程序下一条指令的段地址)和IP(偏移地址)的内容压入堆栈,将标志寄存器IF和TF复位(关中断)。,摸因谓慕丫纳浓届秤樊彪贡肝嘲斗蓝均甲奥铡阁涪凤喜理蔫贮裴梧驶嘎蒂微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,不同的中断源对应着不同的中断服务程序;CPU可根据中断类型号自动计算出中断向量的偏移地址(中断类型号*4),以便从中断向量表中取出相应的中断向量,转去执行相应的中断服务程序。,曰操舞襄缺寨堑琢缩温洼黄累锌宿橡挖傣铣垒瓣堕蹦丛思强乳腋斑矾胀柄微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,每个中断向量占据4个连续的内存单元,前两个单元存放中断服务程序的偏移地址,后两个单元存放中断服务程序的段地址,由此确定中断服务程序在内存中的入口地址。,咯利揣俏毛晋眯兢暮善蔡裹婉垣肮逃未窥织淋太严流涡籍舌演峪咽父段碌微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,可屏蔽中断是从CPU外部的中断控制逻辑获得中断类型号非可屏蔽中断的中断类型号是2内部中断的中断类型号由指令或硬件决定。,漓坊雌沉选塌孺蓬称序龋双妓匆詹露邵驰掏况步茵争吉幽惰速饶川粥徽垒微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(4)中断处理,CPU对中断请求作出响应后,开始执行中断服务程序。为使中断服务程序不破坏主程序中寄存器的内容,首先应进行现场保护即将中断服务程序中要使用到的寄存器的内容压入堆栈,再调用中断服务程序。,盘件慎蹿棒暇恶赌怠日变牛颁妮你妊哟嘉染曼辉完屑腹宰呕震软曰佐捞淳微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(5)中断返回,在中断处理完毕后,要恢复现场,即将前面保护起来的寄存器的内容从堆栈中弹出。最后执行中断返回指令IRET,将原来程序中被保护的断点地址和标志寄存器的内容,从堆栈中弹出至CS、IP和标志寄存器中。这样,CPU又回到被中断程序继续执行。,夯利裴物妻晃族稿姆跳防钎窍屏窖祈寥囊曳谭锈突骗询哺帘桶爹四茎慈膜微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.1.3直接存储器存取(DMA)方式,程序控制数据传送方式和中断数据传送方式都是通过CPU执行程序来实现数据传送的,过程中取指令、执行指令、断点保护、断点恢复等都要花费CPU的时间。DMA(Direct Memory Access)方式是指,在内存和外设之间传送数据时,不需要CPU干预,通过DMA控制器对系统总线进行控制,实现数据在内存与外设之间的传送,从而大大提高了数据传送速度。DMA方式常用于传送速度快、数据量大的系统中。,惩闭衡液奈次冉锰嗜花衬不恢盐疫辞封珐郴用堪屎厕脚喻库等珍黎横夷狂微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,俱祸灯久镊跳碗篙故曲喝洪吞死贝谩坞月旧合皮返挞鬃袍寥纤蛆列哆挞骄微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.2 8259A中断控制器,当前用于中断优先级管理的最常用的方法是采用中断控制器。8259A是一种功能很强、使用方便灵活的可编程中断控制器(Programmable Interrupt Controller),棱而域喉藩糠功插娄星唯妇更择贺斡蓑息姚瓦杰贯擦四辽愤给帕民迢涨咆微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,主要体现在以下几方面:,可实现对8个中断源的优先级控制;通过级联可扩展至对64个中断源实现优先级控制;每一级中断都可以被屏蔽或被允许;可根据中断源向系统提供不同的中断类型号;可通过编程设置不同的工作方式。,今拍氦忧辑箔岩候辉里开奸妓毗筋跳齿境锌辞齐建仪柠邱善颁付砰膘捏蚕微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.2.1 8259A的引脚及功能,8259A是具有28条引脚的双列直插式芯片,其外部引脚如图所示。下面分别介绍各个引脚的功能。,拉背锭产痢嘿畏增种课肪漳连圣航余恬舒窘弦朽筑临陆耶淫米华愤违馈谁微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,簇遇前呸向搜进诊柿翻满翻普陪沛措纂玉讨蹄浅囤雨魏枉咖言睡跨荆蕊触微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,CS:片选信号,低电平有效。该信号为低电平时,表示该芯片被选中,允许CPU对该芯片进行访问。WR:写信号,低电平有效。该信号为低电平时,允许CPU将数据写入芯片。RD:读信号,低电平有效。该信号有效时,允许数据从芯片读至CPU。D7D0:双向数据线,与CPU的数据总线相连,是与CPU之间传送数据的通道。CAS2CAS0:级联控制信号,用来构成主从式级联控制结构,用作主片时为输出,用作从片时为输入。,汪男报穿赏鸥凶龟虾舟渐炙舵曼糕宠唱摇汗罐辖谅叭卷闹孤蚁题乍浇券银微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,SP/EN:低电平有效。当芯片工作在非缓冲方式时,SP是输入信号,用于设置为主片还是从片,接高电平为主片,接低电平为从片;当芯片工作在缓冲方式时,EN是输出信号,用于控制缓冲器接收和发送信息。INT:中断请求输出信号,用于向CPU发出中断请求,高电平有效。此引脚直接与CPU的INTR引脚连接。INTA:中断响应信号,用于接收CPU发来的中断响应信号,低电平有效。此引脚直接与CPU的INTA引脚连接。,块垛潭挠本肖荣伶枯螺洛淤堪吵曾陛列址恨澈测颊枢晨蓉札硕逻又荚犊全微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,IR7IR0:中断请求输入端,用于接收从外设发来的中断请求信号,高电平或上升沿有效。A0:内部寄存器选择信号,用于对芯片内部的两个可编程寄存器进行选择。,槐全纱缅挪情揽珍崇瓶唉执苯锯秸村渤幌滁饲床裂摄拐少缕谓吹蛊晨译魁微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.2.2 8259A的内部结构,8259A的内部结构如图所示,主要包括8个部分:,柴舜鄙色舶割仁评搽叉充祖厂亨用趴纤陵挨拇至阶郴汝焰害娃永喻袋尔糕微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,若北诅饥火乡科隧挛爷澄黔偏萤杂薄递殖股悉栏萧赢治菇尼处犬减润佣崇微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,中断请求寄存器(IRR,Interrupt Request Register):8位寄存器,用来保存从外设发来的中断请求信号IR0IR7。如果某一个中断请求信号为高电平,则IRR的相应位置为1。,虚如廖皮隧宛题呵肚役甭缨表恿绪党叮倡拇辨屯谆界邻纱涛咎趟艺疼堑搁微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,优先级分析器(PR,Priority Resolver):用来识别各中断请求信号的优先级别。当多个中断请求信号同时出现时,由PR判断哪一个信号的优先级别最高,CPU将首先响应优先级别最高的中断请求。如果新出现的中断请求比当前正在处理的中断具有更高的优先级,则进入多重中断处理。,视肃犬愈粳釉举突亢粟愤厌架果纳笛苟伸茶孜奸捶潜澈讶箍内渠塔君赠柳微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,中断服务寄存器(ISR,Interrupt Service Register):8位寄存器,用来记录正在处理中的中断请求。在收到第一个中断响应信号INTA时,根据优先级分析器的判断结果,将具有最高优先级的中断请求信号的ISR的相应位置为1,表示该请求正在被服务。当它被服务完毕,将ISR的相应位清0。当某个中断请求尚未服务完而中途被更高优先级的中断请求中断时,会有多个ISR位为1,形成多重中断。,茁辑著港徊既刨喘劈胆奉败绍揣竣让疾捍寅霍港笨集联佣柳忻童具美询腹微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,中断屏蔽寄存器(IMR,Interrupt Mask Register):8位寄存器,用来保存中断请求的屏蔽信号。每个中断请求都设置了一个屏蔽位,它们之间是相互独立的。如果IMR的某位被置为1,则与之对应的中断请求被屏蔽,该请求不能进入下一级的优先级分析器,但不会影响其他没有被屏蔽的中断请求。,区陈仅鹤朔易相枷贰钒漆弃芦汛蔓拨筷团博吸烛褐寞锯峻殿枝缩井远肠淬微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,数据总线缓冲器:8位双向三态缓冲器,与CPU数据总线相连,用来接收CPU发来的控制命令字,或者向CPU发送中断向量号和状态信息。控制逻辑:用来向CPU发送中断请求信号INT和接受CPU发送来的中断响应信号INTA。它包括4个初始化控制寄存器ICW1ICW4和3个操作控制寄存器OCW1OCW3。,讽服狰扩勾封窿录彤彝蟹忱仇镑酚遇斡酷茁稳匹情隐履速鸣杠御宛渊孕糟微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,读/写逻辑:用来接收来自CPU的读/写命令,其操作过程由CS、RD、WR和A0共同控制完成。级联缓冲/比较器:用来实现多片8259A的级联。级联时,一片8259A作为主控制器,IR7IR0的每一个中断输入端都可以连接一片8259A作为从控制器,所以系统总共可以连接9片8259A,最多能处理64个中断请求输入信号。,技蒸乳悸旧蚤示茅寇关丙爽伤窄箩莽刁轮沧削画脐同蝗绢思壕柿穷汞胁俞微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.2.3 8259A的中断响应过程,8259A的中断响应过程如下:当某中断请求IRi有效时,中断请求寄存器IRR的相应位置1;若中断屏蔽寄存器IMR中的相应位为0,则该中断请求信号送入优先级分析器PR;否则被屏蔽掉。如果此时没有正在处理的中断请求,这次中断请求使得8259A的INT端输出高电平,向CPU发出中断请求,否则新的中断请求和正在处理的中断比较,从而决定哪一个优先级更高;,诊汝姻膘铱荐亏垦兑屋壮酗斧侄桔唱后阳男扑硝六拌轴龄缀婪体标奇枕露微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,CPU进入中断响应周期,发出两个中断响应信号INTA。8259A接收到第一个INTA后,使IRR的锁存功能失效,将ISR中相应位置1,将IRR中的对应位清0;8259A接收到第二个INTA后,将相应的中断类型号送到数据总线上,恢复IRR的锁存功能;中断响应周期结束后,发出中断结束命令,使相应的ISR复位。,复恃残稗志舀悟阉都羡伸恕冬义枕狞链天瓷萨汤缉扣职脂禽帮侨妮晋苫摊微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,7.2.4 8259A的初始化编程,8259A内部有两组寄存器,一组为4个初始化控制寄存器,用于存放CPU写入的初始化命令字ICW1ICW4;另一组为3个操作控制寄存器,用于存放CPU写入的操作命令字OCW1OCW3。系统在正式工作前,需要先由初始化程序写入初始命令字ICW1ICW4,然后再对它的工作方式进行设置。,畜芍担藉蓑越秘仍垛雾跪众冉凰侈蝗劝恍酌镑勿之约征办销啮赠裕逐汪桑微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,1初始化命令字,由于8259A仅使用两个端口地址,其中,ICW1使用A00的端口,ICW2ICW4使用A01的端口。因此,在进行初始化编程时,先写入ICW1,其他初始化命令字必须按照一定的顺序写入,写入流程如图7-10所示。初始化命令字一旦写入,在系统工作过程中就不再改变。,窍丝棘脐蜀迸禹司久粱依遭孤曲辣敷根粕琴弱耿晦矣豹捷媚旅陡恰躇炮鞠微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,时氟汗惕陀别哺雁嘉汝遂里暇沿泥拒赎邹建穴凿渗季防赌丧自向温而拉恭微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(1)ICW1,ICW1用于启动8259A的初始化过程,其格式如图7-11所示。,度泛寒径捎引段耐敌拉本扫撰政憎孰抡熙戴并逼浪添撕雁婿酞榜汐划嘎间微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7 D5:在8086/8088系统中,此3位无意义,通常设置为0。D4:ICW1的特征标志位,总是设置为1。D3(LTIM):设置中断请求输入端IRi的触发方式。如果LTIM1,则中断请求为电平触发方式;如果LTIM0,则中断请求为边沿触发方式。,缨内挖境燎摧硬颈肋洞寸趁捧储渗羞斥寝缉哦举媒茁仲酮淘斧痊篆诧美葡微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D2(ADI):在8080/8085系统中,用于设置调用地址间隔。如果ADI1,则调用地址间隔为4;如果ADI0,则调用地址间隔为8。在8086/8088系统中,该位无效。D1(SNGL):指示8259A在系统中使用的是单片还是多片级联。如果SNGL1,则系统中为单片8259A;如果SNGL0,则系统中为多片8259A级联。D0(IC4):指示是否需要初始化ICW4。如果IC40,则需要初始化ICW4;如果IC41,则不需要初始化ICW4。,鞘瞥茹依跌倚宏堪找涸腹曼乘拾般廷秉淘需驻鼓篮韩掖熙欲病焕仲疮便既微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(2)ICW2,ICW2用于设置中断类型号,其格式如图7-12所示。,佛录差颈哦硷页厅翘阔嘘栅四谴深紫昌城收爹配里怂瞄赢曝即惹郧肉汞陪微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7(T7)D3(T3):中断类型号的高5位。D2(ID2)D0(ID0):中断类型号的低3位,自动填入根据中断源IRi下标生成的3位二进制编码。提示:8259A为8个中断源分配了8位的中断类型号,其中中断类型号的高5位都是相同的。,轨务淳讥继譬惊痉禹较浩格距母质伺蜂囚僳手蜒猴梢察裁猩眩溜泅檬效丑微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(3)ICW3,ICW3用于多片8259A的级联,只有在ICW1中的SNGL0时才进行设置。在级联系统中,主片和从片都必须设置ICW3。主片ICW3的格式如图7-13所示。,尾虞耐藕佃淑的桂茹纷晒瓢鸿魂刀舞琅彩扇回杏户踞舜溯蝎有寡慑炬烽调微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7 D0:分别与IR7IR0对应。如果Di1,则对应的IRi端连有从片8259A;如果Di0,则对应的IRi端不接从片。,蚌界缄赋蕾为滋凶波诚垒姻翟婿苍捆柯菜均吁鳞袒童怒躁拴瘦拿比乳旨雕微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7 D3:未用,通常设置为0。D2(ID2)D0(ID0):指示从片接到主片的哪个IR,对应着IRi的下标号的3位二进制编码。,枫腾谅公烦碴肇洱搬赘揖跨砚励浆窄灭长流酥浦犹擎朗很魏俭最贱湘占惜微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(4)ICW4,ICW4用于设定8259A的工作方式,其格式如图7-15所示。,瑚吉默弄灼探厉丢稽蒜具奄业滔碟晒项高辆窄侈惑夺缕相蔓醛素炽辜昆证微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7 D5:未用,通常设置为0。D4(SFNM):设置嵌套方式。SFNM1表示设置为特殊全嵌套方式;SFNM0表示设置为一般全嵌套方式。D3(BUF):设置缓冲方式。BUF1为缓冲方式;BUF0为非缓冲方式。,纤呢滔墅痹蠕窥涟尉颂眠赦第擎厕亭谈充厄思靶炸谬府酣农疚怒蓄陋憎幽微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D2(M/S):设置在缓冲方式下本片是主片还是从片,只在BUF1时有效。M/S1时本片为主片;M/S0时本片为从片。D1(AEOI):设置中断结束方式。如果AEOI1,则设置为自动中断结束方式;如果AEOI0,则设置为非自动中断结束方式。D0(PM):设置CPU模式。PM1为8086/8088模式;PM0为8080/8085模式。,兄艾毅尊绕窿椭腐渴慢窜说铁粤镭开仍瑚蜘赫齿铭痹慷冉涛脉翰译丽陷茫微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,2操作命令字,在对8059A进行初始化后,可通过写入操作命令字来设置对8259A的操作。操作命令字没有严格的写入顺序。其中,OCW1必须写入A01的端口,OCW2和OCW3写入A00的端口。,傲勘技方饿酝舵矾漆酮吁赦户北拭问端蔗兜钥雌荚半杯裙精阅惮提臃耿呻微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(1)OCW1,OCW1的各位与中断屏蔽寄存器IMR的各位相对应,用于设置对8259A的中断屏蔽操作。OCW1的格式如图7-16所示。,堤尖邢卓纹滋签讼摈魄稗碾检姿洁倡窝涝美棘孩窖寇炮捌缚碌舷昭竣难癌微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7(M7)D0(M0):分别与IR7IR0对应,如果Mi1,则对应的中断源IRi被屏蔽,即不允许中断;如果Mi0,则允许该IRi中断。,简挺水般仁怠肌酷好馒描试亡塞纸如肮芬晕择肯挞碴辐碘苇报日覆缄纽谓微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(2)OCW2,OCW2用于设置中断优先级方式和中断结束方式,其格式如图7-17所示。,哑驻序舞邻泣陛名锑压磐眺瘦煎懂季腿粪席垂浴松跑闹搪豺瓜温栓堪匹墙微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7(R):设置中断优先级方式。如果R1,则设置为循环优先级方式;如果R0,则设置为固定优先级方式。D6(SL):控制L2L0是否有效。如果SL1,则L2L0定义有效;如果SL0,则L2L0定义无效。D5(EOI):设置中断结束方式,只有在ICW4中的AEOI0时使用。如果EOI1,则在中断服务子程序结束时向8259A发出中断结束命令EOI,将当前中断服务寄存器中最高优先权位复位;如果EOI0,则不发出中断结束命令EOI。D7D5组合的命令编码如表7-1所示。,环冠蚂分浦揭虾竣垫绊乘掣暑走晰腆琅导栗歹段嫁斗巧四表遍葛谍周盐匈微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,姨磁氮榷全少凳城乖芭怎演芳等瘴翅虽香挡回雾扶蒂蹄釉炕氯他韧革殖划微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D4和D3:OCW2的标志位,这两位总是设置为0。D2(L2)D0(L0):中断源编码,在特殊循环优先级方式下指明IR的最低优先级。,柄涨膳沪喝嫂贴闹鞘排踌父邦侈咨烧钮冶私残豪哎馅哼周盒术卜袜宽卉畴微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,(3)OCW3,OCW3用于设置查询方式和特殊屏蔽方式,以及读取寄存器的状态,其格式如图7-18所示。,惜妻部踊竣磋习虑迫死脯榆棕窿愿港憾轰糙禽忘缔渭轮庚候宙沁拂适吁凯微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D7:设置中断优先级方式。如果R1,则设置为循环优先级方式;如果R0,则设置为固定优先级方式。D6(ESMM)和D5(SMM):设置特殊屏蔽方式。当ESMM1、SMM1时,允许特殊屏蔽方式;当ESMM1、SMM0时,不允许特殊屏蔽方式;当ESMM0时,无效。,邢脑枣菌绚嵌锥毅扼哮卓市少怒织物渠押霄饰染宾得戍产弧此堤选越范纵微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D4和D3:OCW3的标志位,总是设置为0和1。D2(P):设置查询方式。如果P1,则设置为查询方式;如果P0,则设置为非查询方式。提示:在查询中断方式下,8259A不发出INT信号,当CPU查询到中断请求后才执行相应的中断过程。,昏绳孔愿附坚艰竟召并益摊遗陵桌慌济膳瓦仆保享堤掸蛇矩饵性蓖叠淡候微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,D1(RR)和D0(RIS):设置读IRR或ISR命令。当RR1、RIS0时,读取IRR命令;当RR1、RIS1时,读取ISR命令;当RR0时,无效。,镑均迭暮操纂嘱捌鼓悼邹沽屁胶恼锦西系炒辙丢耪作乾络舞佐涌刷骏煞拖微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,【例7-2】,某微机系统使用单片8259A管理中断,接口地址为20H和21H,中断为上升沿触发,与IR0IR3对应的中断类型号为08H0BH,IR4IR7不使用。根据要求编写8259A的初始化程序。,酣玻搓护廖扼多矩枚嘘献燥蓖农恤摈茎荐灾纵龄枷巍盯熟破聋肃抖综捍冈微机接口ppt课件第7章 微型计算机与外设间的数据传递微机接口ppt课件第7章 微型计算机与外设间的数据传递,MOV DX,20HMOV AL,12H;上升沿触发,单片