《第8中断控制器DMA控制器计数器定时器》由会员分享,可在线阅读,更多相关《第8中断控制器DMA控制器计数器定时器(96页珍藏版)》请在金锄头文库上搜索。
1、第第 8 8 章章 中断控制器中断控制器DMADMA控制器控制器计数器计数器/ /定时器定时器z8-18-1中断控制器中断控制器 8259A 8259Az8-28-2计数器计数器/ /定时器定时器 8253 8253z8-2DMA8-2DMA控制器控制器 8273A 8273Az第第8 8章小节章小节z第第8 8章思考题章思考题掂期至兑堂剂慎状吊据颗沸旬追如塔猩禹学味窍慰孤馆锭梳碉歧忙晤决整第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器学习目的:学习目的: 通过对本章的学习,通过对本章的学习,您应该能够达到下列要求:您应该能够达到下列要求:z了解了解 8259A
2、8259A、8237A8237A、8253 8253 芯片的内部结构芯片的内部结构z描述各芯片的工作原理描述各芯片的工作原理z熟悉熟悉 8259A 8259A、8253 8253 芯片的工作方式芯片的工作方式z掌握各芯片的编程方法掌握各芯片的编程方法z学会学会 8253 8253 的应用的应用重点:重点:z8259A8259A、8237A8237A、8253A8253A工作原理与应用工作原理与应用示糯北喀董濒沈何粤匆尝引噎介鉴亦旗渗肖赛粟毗相篡匣寓衅愚猎锦奄味第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器第一节第一节 中断控制器中断控制器8259A8259Az主要
3、内容:主要内容:z8529A8529A的内部结构的内部结构z8259A8259A的工作方式的工作方式z8259A 8259A 的初始化命令字和操作命令字的初始化命令字和操作命令字z8259A 8259A 级联方式级联方式z8259A8259A使用举例使用举例z多片多片8259A8259A组成的主从式中断系统组成的主从式中断系统脂讼斥烁浪座胳角钳凶宪撰重江幅懒八买侦挚唇凑浩蛀身举凹慰抵南局参第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 中断的概念中断的概念中断:中断:外设向CPU发中断请求,CPU接收到中断请 求并在一定条件下,暂时停止执行原来的程 序而转去处理中
4、断,处理好中断服务再返回 继续执行原来的程序,就称为一个中断过程。中断是CPU被动的响应外设要求服务。1、中断源中断源:(1)数据输入/输出设备请求中断 (2)定时时间到申请中断 (3)满足规定条件申请中断 (4)电源掉电 (5)故障报警申请中断 (6)程序调试设置中断蹭肛乔殷团咖烈献盛闪蜂诈猜桌宵衣摊暖泣漏椒腋金绥室乞鳞估犀哦佬崇第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器2 2、CPUCPU响应中断的条件响应中断的条件 (1 1)、无总线请求)、无总线请求 (2 2)、)、CPUCPU允许中断:允许中断:IF=1IF=1 (3 3)、)、CPUCPU执行完当
5、前指令执行完当前指令3 3、CPUCPU响应中断要自动完成的任务:响应中断要自动完成的任务: (1 1)关中断)关中断 (2 2)保护断点)保护断点(IP,CS,FLAG(IP,CS,FLAG入栈入栈) ) (3 3)给中断服务程序的入口地址)给中断服务程序的入口地址影襄质袒幂卧师螺袒勃萄袄习范丙析恰咨描跌裙吮彪鹰香除疟让端侦刮挂第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器4 4、中断处理过程、中断处理过程 保护现场:保护主程序中的一些寄存器值保护现场:保护主程序中的一些寄存器值 开中断开中断 :开放优先级更高的中断:开放优先级更高的中断 执行中断服务程序执行中
6、断服务程序 关中断关中断 恢复现场恢复现场 中断返回中断返回 5 5、中断源的识别:、中断源的识别: 查询(软件识别)查询(软件识别) 硬件识别:外设提供中断申请信号和中断矢量硬件识别:外设提供中断申请信号和中断矢量 扭净踪扳普谤厌痛烁撕例诈粘旧练孙冬探闷韦尿简然茅坷虐许秸垂眷贺壕第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 中断控制器中断控制器8259A8259A8259A8259A的功能的功能:z中断优先权管理中断优先权管理z中断屏蔽中断屏蔽z自动中断矢量转移自动中断矢量转移 8259A 8259A特点特点: :z单片单片82598259可处理可处理8 8级
7、中断级中断z级联时级联时: :最多可用最多可用9 9片处理片处理6464级中断级中断8259A8259A的片内寻址的片内寻址zA0=1A0=1、0 0瞻臣拈田每贿得项累绳宪位翅沤诱哇宴栋纷详酥卯佳姻毯恋袄季漓割骨征第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器一、一、 8529A 8529A的芯片内部结构的芯片内部结构1. 1. 数据总线缓冲数据总线缓冲2.2.读写控制逻辑读写控制逻辑3.3.级联缓冲比较级联缓冲比较4.4.中断请求寄存器中断请求寄存器5.5.中断服务寄存器中断服务寄存器6.6.中断屏蔽寄存器中断屏蔽寄存器 7.7.优先权判别单路优先权判别单路8.
8、8.控制电路控制电路 在8086系统中,CPU和8259A的所有数据传送都在数据总线的低8位上进行。地址总线的A1与8259A的A0相连,以保证数传都在总线的低8位中进行。足炔堕忆灰葵瞥切婿灾妖卢臣粘坎嵌雍祟晓镭话药焦医破利沦贰幌瞅艳姜第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器凭往酌酶佛忱蔬自疮砒犊告碍呈饰赛亢秧恫婆弄婆愤囤稼泛函酶场责鸡氢第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器8259A的工作原理如下的工作原理如下:z中断请求寄存器中断请求寄存器IRRIRR分别和分别和IRIR7 7IRIR0 0相对应,相对应,IRRIR
9、R接接收外部的中断请求。接到某一引脚的中断请求后,收外部的中断请求。接到某一引脚的中断请求后,IRRIRR中的对应位便置中的对应位便置1 1。z中断屏蔽寄存器中断屏蔽寄存器IMRIMR中的对应位为中的对应位为1 1表示此中断以表示此中断以加屏蔽,为加屏蔽,为0 0表示此中断未加屏蔽可通过而进入表示此中断未加屏蔽可通过而进入中中断优先级裁决器断优先级裁决器PRPR作裁决。作裁决。zPRPR对新进入的中断请求和对新进入的中断请求和ISRISR中当前正在处理的中中当前正在处理的中断比较,从而决定哪一个优先级更高,是否使断比较,从而决定哪一个优先级更高,是否使8259A8259A的输出端的输出端INT
10、INT为为1 1。荫者并碟惮檬扬箕化晾译旧扣护欣谁隘疾讯株骗讶税趴儿末蝉狮醚核太淀第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器如如CPUCPU的的IFIF为为1 1,CPUCPU执行完当前指令后,就可以响执行完当前指令后,就可以响应中断。应中断。CPUCPU从从INTAINTA线上往线上往8259A8259A回送两个负脉冲。回送两个负脉冲。第一个负脉冲到达时,第一个负脉冲到达时,8259A8259A完成以下动作完成以下动作: :1. 1. 使使IRRIRR的锁存功能失效的锁存功能失效2. 2. 使当前中断服务寄存器使当前中断服务寄存器ISRISR中的相应位置中的
11、相应位置1 13. 3. 使使IRRIRR寄存器中的相应位即刚才设置的位清寄存器中的相应位即刚才设置的位清0 0。第二个负脉冲到达时,第二个负脉冲到达时,8259A8259A完成下完成下 列动作列动作: : 1. 1. 将中断类型寄存器的内容将中断类型寄存器的内容ICWICW2 2送到数据总线的送到数据总线的D D7 7DD0 0, CPUCPU将此作为中断类型码。将此作为中断类型码。 2. 2. 如果如果ICWICW4 4 中的中断自动结束位为中的中断自动结束位为1 1,那么,在第,那么,在第INTAINTA 脉冲结束时,脉冲结束时,8259A8259A会将第会将第 一一 INTA INTA
12、脉冲到来时设置的脉冲到来时设置的 当前中断服务寄存器当前中断服务寄存器ISRISR的相应位清的相应位清0 0。激琴部涌招淄堤昧他喷柱戮拖敲趴姑堆瑶脑托吾式冀肇沿缩蹄悦坪抑托馅第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 二、二、8259A的工作方式的工作方式 1. 1.中断触发方式中断触发方式 (1) (1)边沿触发方式边沿触发方式 此方式由此方式由ICW1ICW1来设置。来设置。( (2)2)电平触发方式电平触发方式 当中断输入端出现当中断输入端出现1 1个中断请求并得到响应后,个中断请求并得到响应后,输入端必须及时撤除高电平。输入端必须及时撤除高电平。 中断
13、类型码中断类型码: D: D7 7D D6 6D D5 5D D4 4D D3 3 D D2 2D D1 1D D0 0 0 0 00 0 0 0 0 1 0 0 1 1 1 1 1 1 1 躬智胁厉券咖物帕滞丹涣潭县贪轰惩尿订惕檄富诗吻霉伦语照荔挎榷路属第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 2. 2. 优先级的管理方式优先级的管理方式 (1)(1)完全嵌套方式完全嵌套方式 在对在对82598259进行初始化后进行初始化后, ,没有设置其它优先级没有设置其它优先级方式方式, ,则自动按此方式工作则自动按此方式工作. . 特点特点: :在全嵌套方式中,中断
14、请求按优先级在全嵌套方式中,中断请求按优先级IR0IR7IR0IR7级进行处理,级进行处理,IR0IR0级中断的优先级最高。级中断的优先级最高。 当一个中断被响应时,中断类型码被放到数据当一个中断被响应时,中断类型码被放到数据总线上,总线上,ISRISR中的对应位中的对应位ISISn n被置被置1,1,然后进入中断然后进入中断服务程序。一般情况下(除了中断自动结束方式服务程序。一般情况下(除了中断自动结束方式外),外),在在CPUCPU发出中断结束命令(发出中断结束命令(EOIEOI)前,此对)前,此对应位一直保持应位一直保持“1 1”。腻甜激每闯募儒锰挟吐概伯奎莽诌赡桌纺财畔斥粘汤篆肥嗣藻传
15、手铝粕臼第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器跃函葡裕趋阀阴蓝泛疽窘磷功赘辗捞荆锹万动宝蒜酬桂咆挨来哨余孕妮沉第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(2)(2)优先级自动循环方式优先级自动循环方式 用在用在: :多个中断源优先级相多个中断源优先级相多个中断源优先级相多个中断源优先级相等等的场合。的场合。 特点特点: :优先级是在变化的,一个设备中断处理完优先级是在变化的,一个设备中断处理完 后后, ,它的优先级自动降为最低。它的优先级自动降为最低。 由由8259A8259A的操作命令字的操作命令字OCWOCW2 2决定
16、。决定。(3) (3) 特殊全嵌套方式特殊全嵌套方式 用于用于: :多片级联方式多片级联方式, , 特殊全嵌套方式仅设置在特殊全嵌套方式仅设置在主片中主片中. . 特点特点: : 和全嵌套方式基本相同和全嵌套方式基本相同, ,不同的是不同的是: :在处理在处理某以及中断时某以及中断时, ,可响应同级中断可响应同级中断, ,从而实现对同从而实现对同 级中断请求的特殊嵌套级中断请求的特殊嵌套. . 卉拒任旬弗赘话浊啤批衫墒翘婪吮畏豫搬旨致斡肃剔城荷租纂助遵悲糙陇第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器3.3.中断屏蔽方式中断屏蔽方式(1 1)普通屏蔽方式)普通屏
17、蔽方式 用用OCW1OCW1命令将中断屏蔽寄存器命令将中断屏蔽寄存器IMRIMR的相应位置的相应位置“1”“1”。(2 2)特殊屏蔽方式)特殊屏蔽方式 用于中断处理程序中。当要允许优先级低的用于中断处理程序中。当要允许优先级低的中断进入中断进入, ,可采用特殊屏蔽方式可采用特殊屏蔽方式. . 可用可用OCW3OCW3的的D D6 6D D5 5=11=11设置设置,此时除,此时除IMRIMR中置中置1 1位位对应的中断被屏蔽外对应的中断被屏蔽外, ,其它置其它置0 0位对应的中断无论位对应的中断无论优先级高低都可得到相应。优先级高低都可得到相应。 弟撮夕肉清译饯卓卡进陨耸岭妖矗尾仔瓤学捆胖理巫
18、叁概矛典摄蔗烬岗钦第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 (1 1)中断自动结束方式:)中断自动结束方式: 用于系统中只有一片用于系统中只有一片8259A8259A,多个中断不会嵌,多个中断不会嵌套的情形。系统一进入中断处理,就将当前中断服套的情形。系统一进入中断处理,就将当前中断服务寄存器务寄存器ISRISR的对应位清除。对的对应位清除。对8259A8259A来说,好像已来说,好像已经结束了当前中断。经结束了当前中断。 在命令字在命令字ICW4ICW4中将中将AEOIAEOI(D1D1)位置)位置“1”“1”。(2 2)一般的中断结束方式:)一般的中断结
19、束方式: 用在全嵌套的情形。用在全嵌套的情形。 CPUCPU用用OUTOUT指令往指令往8259A8259A偶地址发一个偶地址发一个EOIEOI命令,命令,8259A8259A将使将使ISRISR最高非零最高非零ISIS位清位清0 0。结束当前正在处理。结束当前正在处理的中断。的中断。4. 4. 结束中断处理的方式(结束中断处理的方式(EOIEOI)虹痉到煤北藩庶往竣止筏骇钵胎红划耻葵获狐斟隧沈弧珐膝沙曳眉定鞘岸第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(3 3)特殊的中断结束方式)特殊的中断结束方式 发一条特殊中断结束命令,命令中指出了要发一条特殊中断结束命
20、令,命令中指出了要清除当前清除当前ISRISR的哪个的哪个ISIS位。位。 往偶地址端口输出往偶地址端口输出OCW2OCW2命令。命令。 OCW2OCW2中:中:EOI=1EOI=1、SL=1SL=1、R=0R=0是是特殊中断结束特殊中断结束命令。命令。 OCW2 OCW2中:中:L2L2、L1L1、L0L0指出了要对哪个指出了要对哪个ISIS位复位复位。位。谗契侍沙塔选素履此锑迅批禄它嫡墅汝别炎渠锗而唐胳悍储琵差举僚芜铂第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器EOI命令的使用命令的使用夫怒荤缎侮烙掳狂荧毒债绩燃汐写谁氨甜祈踢溯镁锅襄甥洛翱肠铺宁枝苏第8中断
21、控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器三三.8259A的级联使用的级联使用主片:主片:SP/EN接接+5V从片:从片:SP/EN接地。接地。赚哎辆纬料粳规斧膝势刁咖沟啊滤钎药蜂搁骆辅跋漱板声郴然熏往械艰妄第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器片脊奴壳榷阂埋璃卓右只赂龚绦詹锗轿勺板权布吾仑熟磁径骑煤师碧吏氯第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器级联方式级联方式:一片主一片主8259,2片从片从8259z主 接5V,从8259 接地.z1号从8259的INT接主8259的IR6 2号从8259
22、的INT接主8259的IR4z可管理22级中断窗舆唁东惑懦驳椰堤铅晋涧挠撮屋兆臣镑烤峻熄拖啥筷陇禄凝景扬导瞧巨第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器特殊嵌套方式的使用特殊嵌套方式的使用z设1号从8259:IR7有申请,并响应z1号从8259向主8259的IR6发申请,并得到响应z现在,1号从8259:IR0有申请,而IR0的优先级别高于IR7,应该响应IR0,应该允许IR0进入。z解决办法解决办法:使用特殊全嵌套方式每蛔倘咖俯赢阮鸦坝谴激晋垃式耙奏国转傣光尸撰臣撞帖罚勘了拙敦惟贬第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器四
23、、四、8259A 的控制字和工作方式的控制字和工作方式z命令字命令字:ICWi (i=14)z操作命令字操作命令字:OCWi(i=14) 8259A的地址的地址:偶地址端口(偶地址端口(A0=0) 奇地址端口(奇地址端口(A0=1)1. 8259A的初始化命令字的初始化命令字 ICW1:芯片控制初始化命令字芯片控制初始化命令字 ICW2:设置中断类型码的设置中断类型码的 ICW3:主片主片/从片的初始化命令字从片的初始化命令字 ICW4:方式控制初始化命令字方式控制初始化命令字应阿情恃牺妓剿脸吴冶案敏习慢瞬拘烫兆一燎凉晦忧鹰饮减骑港骗谷歼阎第8中断控制器DMA控制器计数器定时器第8中断控制器D
24、MA控制器计数器定时器(1) ICW1的格式的格式(A0=0) ICW1 :芯片控制初始化命令字。:芯片控制初始化命令字。必须写入偶地址端口中。必须写入偶地址端口中。 A0 D7 D6 D5 D4 D3 D2 D1 D0 D7D5:这几位在此系统中不用,为:这几位在此系统中不用,为1为为0都可以。都可以。 D4 :设置为:设置为1,指示,指示ICW1的标志。的标志。 D3(LTIM):设定中断请求信号的形式。):设定中断请求信号的形式。 为为1,表示中断请求为电平触发方式,表示中断请求为电平触发方式, 为为0,表示中断请求为边沿触发方式。,表示中断请求为边沿触发方式。 D2(ADI):在):在
25、8086/8088中不起作用。中不起作用。 D1(SNGL):指出):指出8259A有否级联。有否级联。 为为1,表示系统中有一片,表示系统中有一片8259A, 为为1,表示系统中有多片,表示系统中有多片8259A。 D0(IC4):指出后面是否设置):指出后面是否设置ICW4。使用。使用ICW4时时IC4必须为必须为1。0亮泪努单份捂助投滁芋胸超枚丝忠菜注卓宛悉贤匀调从希炬构梆航方令侈第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 (2)ICW2的格式的格式(A0=1) ICW2是设置中断类型码的高5位初始化命令字,写入8295A的奇地址端口。 (3)ICW3的
26、格式的格式(A0=1) ICW3是标志主片/从片的初始化命令字,指出主8259那个引脚连有从8259,对应位置一。为主片为主片: A0 D7 D6 D5 D4 D3 D2 D1 D01兑杰址阜舜沤纸株顷瓮桨弊坷沤夕熬搭辩遗太墩桶镀靛赎夹麓洱描观迢论第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器驶单塔按必弄郡张吕朝柱达嫁辟睁乖恳累员默秽活患锹恰荣忘襄都停智含第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定
27、时器 本片本片8259A为从片,为从片,ICW3的格式,指出从的格式,指出从8259连在主连在主8259那个引脚,由那个引脚,由D2D1D0指出指出。 (4)ICW4的格式(的格式(A0=1) ICW4为方式控制初始化命令字,写入奇地址为方式控制初始化命令字,写入奇地址 端口。端口。 软腕鸟轿禾丸逐懊喝靛油蒸壕板雹宠龄抱恕拧软全呈抒打掉弄水绎瘸眼凉第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器鞭足酵玛废挛湃易赡媚琼姐谁兔惶衷观炮来劝阶垦鸦袖贴尹赤佣蓟驳酮面第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器用用ICW1设置,是否级连,请求设
28、置,是否级连,请求信号格式,后面是否用信号格式,后面是否用ICW4用用ICW2设置中断类型码设置中断类型码是否为级连方是否为级连方式?式?本片为主片吗?本片为主片吗?设设ICW3的高五位为佳,低三位为标识码的高五位为佳,低三位为标识码设设ICW3的各位对应的各位对应IR0IR7的连接情况的连接情况需要用需要用ICW4吗?吗?用用ICW4设置,是否为特殊全嵌套方式;缓冲设置,是否为特殊全嵌套方式;缓冲方式;自动结束中断方式;方式;自动结束中断方式;8086/8088系统系统结束结束是是否否否否否否是是是是图图 6-4 8259A的初始化流程的初始化流程2. 8259A的初始的初始化流程化流程 好
29、碱噶黍同淹皿烦扳注梆野轧煤啼旦医倘炯浪去秽魄蹲经赢孺干茂缘遗盯第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器3. 8259A的操作命令字的操作命令字:OCW1OCW3(1) OCW1的格式(的格式(A0=1) OCW1称为屏蔽命令字,写入称为屏蔽命令字,写入8259A的奇地址的奇地址端口。端口。 当当OCW1某位某位=1,表示对应的中断请求被屏蔽,表示对应的中断请求被屏蔽。返樊捍圆厕奸荔俐缝绳托吟师邯氮拦超助羹峦椰岭耘期礁栗凰俞竟贸枕秉第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 用于设置优先级循环方式和中断结束方式,用于设置优先级
30、循环方式和中断结束方式,写入偶地址单元。写入偶地址单元。 R=1,优先级循环方式;,优先级循环方式;R=0,非循环方式。,非循环方式。 EOI=1,使当前,使当前ISR的对应位的对应位ISn复位。复位。 SL=1,L2、L1、L0有效。有效。 在在ICW4中,若中,若AEIO=1,自动清除当前,自动清除当前ISn。 AEIO=0, Isn要用要用EOI清除。清除。(2)OCW2的格式(的格式(A0=0)君礁喧斯蝇揣绎许示缺掖咐斌佛坷二棵瞳辞影敷叭棕护膘乓肮刊牺根物釉第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(3)OCW3的格式(的格式(A0=0)zP=1时,表
31、示查询。时,表示查询。zRR=1,RIS=0,对,对IRR寄存器的读出;寄存器的读出;zRR=1,RIS=1,对,对ISR寄存器的读出。寄存器的读出。z若要读若要读IMR,不须设,不须设OCW3的查询命令。的查询命令。 zIR4和和IR1引脚上有中断请求,引脚上有中断请求,CPU执行一条输入指令,执行一条输入指令,从奇地址端口读得以下查询字:从奇地址端口读得以下查询字:工式蕴未桨弟钵盎棉熙诵宗购躯暮钮程岂坦梭玫偏几然钩袒伯绘玻曹异甩第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器zESMM=SMM=1,置特殊屏蔽方式,8259A脱离当前优先级方式.zESMM=1,S
32、MM=0,撤销特殊屏蔽方式整磋根晚迟汗葛良道间愤勃震痴定科台凄窜埔驾扶泰铸礼倒齿潞印忻驯散第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器4.8259A那些寄存器内容可读出? 设8259A地址80H,82H1 1)读中断屏蔽寄存器)读中断屏蔽寄存器IMRIMR内容:中断屏蔽字内容:中断屏蔽字 IN AL IN AL,82H 82H ;A A0 0=1=12 2)要读出)要读出ISRISR或或IRRIRR的内容,的内容,z必须设置必须设置OCW3OCW3中的中的P P(D D2 2)=1=1: (1 1)读)读IRRIRR:设置:设置OCW3OCW3:D D1 1D
33、D0 0=10=10 (2 2)读)读ISRISR:设置:设置OCW3OCW3:D D1 1D D0 0=11=11z执行输入指令执行输入指令 IN AL IN AL,82H82H轴许擂木驶苛绑笋否五跑焙遇刊蜕吟醉穴戊普影买郊帅巴辛疡袄捎孕宦堑第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器四四.8259A使用举例使用举例例1:IBM PC/XT 8259A (P470)津旷袍乓毅童弛功臭迢赁淋投赂荡购龋邱敖狠特额辊嚏九俭织梳凌毒痘枯第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器8259A初始化要求:z端口地址:端口地址:20H21Hz
34、8个中断请求信号:个中断请求信号:IR0IR7z采用完全嵌套方式、采用完全嵌套方式、0级最高,级最高,7级最低。级最低。z设定设定0级请求对应中断号为级请求对应中断号为8,1级为级为9,. 7级为级为0FH。 IRQ0: 0000 1 000=08H IRQ1: 0000 1 001=09H IRQ2: 0000 1 010=08H . IRQ7: 0000 1 111=0FH吭矣苗揭擎哲推携勤抹郴姆仲卢耀乔华林樟站烹汲怀边九先俱太避企坏饰第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器8259A初始化编程:初始化编程:INTA00 EQU 020H ;8259A端
35、口端口0INTA01 EQU 021H ; 8259A端口端口1.MOV AL, 13H ;ICW1:边沿触发边沿触发.单片单片.要要ICW4OUT 20H,ALMOV AL , 8 ;ICW2:IRQ0中断类型为中断类型为08HOUT 21H,AL MOV AL, 9 ;ICW4全嵌套全嵌套.8088系统系统OUT 21H,AL ;普通普通EOI方式方式绿脓澳查搔格泌匡匿诣月纪决栏爹萌秆介巨妄接乎枕奉究猩累同鼎太朱揉第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(1)预制命令字预制命令字: ICW1, ICW2. ICW3. ICW4 ICW1:边沿触发边沿触发
36、.单片单片.要要ICW4 0 0 0 1 0 0 1 1 =13H D4:设置为:设置为1,指示,指示ICW1的标志的标志。D3(LTIM):设定中断请求信号的形式。为):设定中断请求信号的形式。为0, 表示中断请求为边沿触发方式。表示中断请求为边沿触发方式。D2(ADI):): 在在8086/8088中不起作用中不起作用。D1(SNGL):指出):指出8259A有否级联。有否级联。 为为1,表示系统中有一片,表示系统中有一片8259A, D0:(IC4) : 为为1,表示系统为,表示系统为8086/8088,要用要用ICW4.脐庶痕灭罪撩辞脑藤禹郸白隙燃折坝灾桨抖奇邀乱纺版虐棵造菩熄筏妆月第
37、8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器ICW2的格式的格式: D2D1D00 1 0 0 0 0 0 0 = 80H01000 0 0 0=80H : IRQ001000 0 0 1=81H : IRQ101000 0 1 0=82H : IRQ2.01000 1 1 1=87H : IRQ7音劣趁课碑职任壳阁侮罐全邦咖毖瓦勃式酝时析奸雅越屉蝎拉荡豪母捉乱第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 ICW4的格式的格式: 必须写到8259A的奇地址端口中的奇地址端口中.z 0 0 0 0 1 0 0 1 = 09HzICW4
38、全嵌套.8088系统z非自动结束拷承效面缸翱今卉渊痉誊锅炙弊秩匪蚂疽黄密姬羽错尤搀荐盏需舶琶滨响第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器z例例2:教材教材P239例例1:一片从一片从8259的的INT端连在主端连在主8259的的IR3上上,主主8259的的IR0和和IR5端分别引入端分别引入两个中断两个中断,从从8259的的IR2和和IR3引入两个中断引入两个中断.z主主8259中断类型码为中断类型码为:40H,45H; 中断服务程序的段基址为中断服务程序的段基址为1000H,偏移地址为偏移地址为1050H和和2060H. 主主8259端口地址端口地址为为:
39、FFE8H,FFE9Hz从从8259中断类型码为中断类型码为:32H,33H; 中断服务程序的段基址为中断服务程序的段基址为2000H,偏移地址为偏移地址为5440H和和3620H. 从从8259端口地址为端口地址为:FFFAH,FFF9H 蛔符蛤备碗锣拈宪栗空秀葱澳扎水睡欣眶楞枪将描眷腕黄毕啮秦锣诛诈谱第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器z主主8259A的初始化程序段的初始化程序段:zMOV AL,11H ;定义定义ICW1,边缘触发边缘触发,级联级联,单级单级,需需ICW4 zMOV DX,0FFE8H zOUT DX,AL ;ICW1送偶地址端口送
40、偶地址端口zMOV AL,40H ;定义定义ICW2,使使IRQ0的中断类型码为的中断类型码为40HzMOV DX,0FFE9H ;送奇地址端口送奇地址端口zOUT AL,DXzMOV AL,08H ;定义主片定义主片ICW3,IR5上接从片上接从片 zOUT DX,AL ;ICW3送奇地址端口送奇地址端口zMOV AL,11H ;定义定义ICW4,8086,特殊完全嵌套方式特殊完全嵌套方式zOUT DX,ALzMOV AL,0D6H ;定义定义OCW1,屏蔽屏蔽IR0,IR3,IR5以外的中断申请以外的中断申请zOUT DX,AL zMOV AL,20H ;定义定义OCW2,普通普通EOI方
41、式方式zOUT DX,AL 款担惩凿妥也且臻盼室寥嚣欢皇膊炼岔腕佛愈瘦崇助汛串孩跑窥背万吠烧第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(1)中断类型为中断类型为40H的中断向量设置的中断向量设置: 服务程序的入口地址服务程序的入口地址:1000H:1050H 40H*4=00C8H 00C8H+2=00CAH PUSH DS XOR AX,AX ;清清AX MOV DS,AX MOV AX,1050H MOV 00C8H,AX ;设中断服务程序的入口地址设中断服务程序的入口地址,送送IP MOV AX,1000H MOV 00CAH,AX ;送送CS POP
42、DS膳恕过蓟熔蒸络们替沤赖受橙锚措公紊盛谬柞炼涩探隐磷绢筋瞪庭皂牡俄第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器例例3:1片8259A工作于全嵌套方式 若要求在若要求在IR3的中断服务中的中断服务中,允许允许IR5进入进入,该该如何作如何作? 1)在IR3中断服务程序开始z 关中断(CLI)z用OCW3设置特殊屏蔽方式z取原屏蔽字保存,z将IMR3,IMR4,IMR6,IMR7置1,允许IR5进入z开中断(STI)2)在IR3中断服务程序z适当处恢复原屏蔽字z用OCW3撤销特殊屏蔽方式嫂瀑陌品煮捞镇件示炭乒佐俄嗅阀班难枚刷唯忍疾惋胁抬籽趁妹蹿菱倔滨第8中断控制器
43、DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器思考题思考题1. 8088/8086中断向量表的作用是什么?中断向量表的作用是什么?2. 8259A中中 IRR、IMR和和 ISR三三个个寄寄存存器器的的作作用用是是 什么?什么?3.某时刻某时刻8259A的的IRR内容是内容是08H(00001000B),说,说明明_。某时刻。某时刻8259A的的ISR内容是内容是08H,说明,说明_。在两片。在两片8259A级连的中断电路中,主片级连的中断电路中,主片的第的第5级级IR5 作为从片的中断请求输入,则初始化作为从片的中断请求输入,则初始化主、从片时,主、从片时,ICW3的控制字分
44、别是的控制字分别是00100000和和 00000101 .益杖咯惠栖酞侦缚摆赚程钳鲍胆痞替寥件耘汹卫咨誓两阔绥怎衅店亢值蚕第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器第第2节节 计数器计数器/定时器定时器8253z计数器计数器/定时器定时器8253特点特点z 三个通道,可单独使用三个通道,可单独使用z片内寻址片内寻址z A1 A0= 00、01、10、11z 对应:通道对应:通道0、1、2和控制口地址和控制口地址z工作方式:工作方式:6种种镊辊痈渡慰薄理移舰事取伦徒滑灯婪尺昨蝉刑稳歌婶邢擂渝镰笛赁敦榨幻第8中断控制器DMA控制器计数器定时器第8中断控制器DMA
45、控制器计数器定时器 一、微机定时方法一、微机定时方法 1. 软件定时软件定时延迟子程序延迟子程序 2. 硬件定时硬件定时用计数器用计数器/定时器定时器8253 二、可编程计数器二、可编程计数器/定时器的工作原理定时器的工作原理 功能功能:一是为计数;一是为定时。:一是为计数;一是为定时。 8253的用处的用处:1)在多任务的分时系统中用来作为中断信号实)在多任务的分时系统中用来作为中断信号实 现程序的切换;现程序的切换;2)可以往)可以往I/O设备输出精确的定时信号;设备输出精确的定时信号;3)作为一个可编程的波特率发生器;)作为一个可编程的波特率发生器;4)实现时间延时。)实现时间延时。禹早
46、宣缴烦遣香逐秒涛拟销盼缕投匿叼翼支耸继鸥霹替炭疮届页胞咐您他第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器计数器计数器/定时器的工作特点定时器的工作特点 1)门脉冲控制时钟输入;)门脉冲控制时钟输入; 2)用门脉冲来重新启动计数;)用门脉冲来重新启动计数; 3)用门脉冲停止计数;)用门脉冲停止计数; 4)单一计数;)单一计数; 5)循环计数)循环计数. 计数初始值计数初始值=时钟频率时钟频率*T 梭产循胰垂伐队雷五似疵究总息蚜
47、章沃凄娱又骡报褥蔽栖顷航丫腻直今崎第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器8_2_1 8253芯片内部结构1.数据总线缓冲器数据总线缓冲器 往计数器设置计数初值;往计数器设置计数初值; 从计数器读取计数值;从计数器读取计数值; 往控制寄存器设置控制字。往控制寄存器设置控制字。2.读读/写逻辑电路写逻辑电路 A1 A0:端口选择:端口选择 0 0:通道:通道0(0号计数器)号计数器) 0 1:通道:通道1(1号计数器)号计数器) 1 0:通道:通道2(2号计数器)号计数器) 1 1:控制字寄存器:控制字寄存器淳也旷广极镐该荡嗓私幢慎挽铃丸几砌丧终媚独菲唆惊喷铬
48、栏鸣戍伦孪衷第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器3.通道通道0、通道、通道1、通道、通道2 计数器计数器0:CLK0计数器计数器0的时钟输入。的时钟输入。 GATE0计数器计数器0的门脉冲控制输入。的门脉冲控制输入。 OUT0计数器计数器0的输出。的输出。 计数器计数器1 计数器计数器2 定时系数(计数初值)定时系数(计数初值)n =定时时间定时时间t 时钟频率时钟频率fc =定时时间定时时间t/时钟脉冲周期时钟脉冲周期Tc 消督桐骇沤甸锥葛量服派呀菱竣戴脏据儒挺舅卯精淬丈藤诞见懊雕遥谭舟第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计
49、数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器编程结构 碱毁皱她熏杖郊滩删麓伟程坦栋秀官垂戊娜念肇债救壮瓣牛棵隘惋鱼朴番第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(2)8253的工作原理 永鸡碰说陷罕根醇蝴耽洞歌黑侧澎呵李孩带诗纯圭愁针拓霖勘锗丛续瑶数第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器
50、定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器4. 控制寄存器控制寄存器 8253控制寄存器的格式控制寄存器的格式 SC1 SC0 RW1 RW0 M2 M1 M0 BCD1-计数值为BCD码格式0-计数值为二进制格式M2 M1 M0 模式选择 0 0 0 模式0 0 0 1 模式1 / 1 0 模式2 / 1 1 模式3 1 0 0 模式4 1 0 1 模式50 0-对计数器进行锁存0 1-只读/写低8位字节 1 0-只读/写高8位字节1 1-只读/写低8位字节, 再读/写高8位字节.0 0-
51、选计数器00 1-选计数器11 0-选计数器21 1-无意义框纹栓防唬择痔噬斯怔具岸易幼垫韩筛径惨摧阔幻憨踢用棺变茹以农焚刚第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器8-2-2. 8253的工作模式的工作模式 (1)方式)方式0计数结束产生中断计数结束产生中断 一次定时或计数一次定时或计数,重重写初值写初值,启动新一轮的计数启动新一轮的计数 (2)方式)方式1可编程的单脉冲可编程的单脉冲(单稳单稳)触发器触发器 GATE边沿触发边沿触发,启动新一轮计数启动新一轮计数 (3)方式)方式2分频器分频器(速度波发生器速度波发生器) 具有计数具有计数初值重装初值重装能
52、力能力 (4)方式)方式3方波发生器方波发生器 具有计数具有计数初值重装初值重装能力能力 (5)方式)方式4软件触发的选通信号发生器软件触发的选通信号发生器 一次定时一次定时,重写初值重写初值,启动新一轮的计数启动新一轮的计数 (6)方式)方式5硬件触发的选通信号发生器硬件触发的选通信号发生器 GATE边沿触发新一轮计数边沿触发新一轮计数戊稿呈刊到鸥据株佣髓冕缠冗狙祝马枣忍狱鞘专伶睹降歧跟邮钵突慈豺东第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器图图 8-22 方式方式0计数结束产生中断计数结束产生中断彦捷毙吁使吻咕胃蒋辗行蕴视腾野粳钥邮扳阀揖架诉讶酿橱征剂恤治匣
53、毕第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器图图 8-22 单脉冲触发器单脉冲触发器高虞明谰观烛肯泛稀探常彩服霸拳豌蛔豁停扶壮韧枝澎翟贷瓮贰了廖域霜愿第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器图图 8-23 分频器分频器庆概喷鸯俭蕾卯碌括辫侦炕炕氢艾难沏骆氰奥蝶犊穷纸编纶抄缄厉追懂喜第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器图图 8-23 方波发生器方波发生器爵遍输容侧升骚苏蓟世述辽泪监午服洱帚写山岔牌目德故蒸绿氖临峻岿涌第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定
54、时器图图 8-23 软件触发的选通信号发生器软件触发的选通信号发生器幂修除为陕吼郡炸劈量屑拟掠捍演袁盏择南焊孙公粪睬始辽弥拇惮氛淘骸第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器图图 8-23 硬件触发的选通信号发生器硬件触发的选通信号发生器庐辕掸匹坛甥逼碾埋旁吠陕蹄团尖怒贫圣熙嘿推探赵朵绕绸颁悬恼律讲汀第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器8253初始化方法初始化方法:z控制字控制字z计数初值计数初值: 已知已知:CLK 的频率的频率fc与定时的时间与定时的时间t. 计数初值计数初值: n= fc t 例例1: fc=1MH
55、Z,最大计数初值:,最大计数初值: 65536 一个定时器最大定时时间:一个定时器最大定时时间: N/fc=65536/ 106 =0.065536s8-2-3 8253应用举例饶阅酶驻谰墨况馅惕棱世驭节珍旧寄戳猛已仅接嘲训恤颤皇祝春埋搀蓟塔第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器例例2:设定时器设定时器0、定时器、定时器1工作于方式工作于方式2,外部提供,外部提供一个时钟一个时钟,频率频率f=2MHZ。要求定时器。要求定时器1每每5ms产生产生一个脉冲,定时器一个脉冲,定时器0每每5s产生一个脉冲。产生一个脉冲。1). 一个定时器的最大定时时间:一个定时器
56、的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms2). 将定时器将定时器1的的CLK1接接2MHZ时钟,计数初值:时钟,计数初值:3).将定时器将定时器1的的OUT1端接到定时器端接到定时器0的的CLK0端端,定定时器时器0的计数初值的计数初值:撂井辟衬淮雅侗肇附倒尚超倚练咬谎歉馏照鼻可草败锻瓤稽妇趋慷灰娥牡第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器钥霄挺兽烘页辽吹禁稍暇己恃勉貉乖择提押驮受涛僚铭揣反耕临坝沟弃跨第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器例例3:计数器计数器2输出输出600H
57、Z方波,送扬声器。工方波,送扬声器。工作于模式作于模式3.市宽退敝蛆须慰涟泞析揉答类糯溜涸抒缮道庄狙酣裕赋导涌李魁吭咖疹电第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器发声子程序发声子程序:zSSP PROC NEARz;8253初始化初始化:zMOV AL,10110110B ;计数器;计数器2,模式模式3,初值初值16位位,二进制二进制zOUT 43H, ALzMOV AX, 1983 ; 计数初值计数初值=1.19MHZ 600HZ=1983zOUT 42H,AL ;送计数初值低位字节送计数初值低位字节zMOV AL,AHzOUT 42H,AL次次 ;送计数
58、初值高位字节送计数初值高位字节喳恃么儡忻剧颅棉祟仕奎岩洒椰坝烧合陪眺写衰沼纽寓诲黔炮带串又窘珊第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 8255控制程序控制程序: IN AL,61H ;读读8255的的PB口原输出值口原输出值 MOV AH,AL ;保留到保留到AH OR AL,03H ;使使PB0PB1均为均为1 OUT 61H,AL ;打开打开GATE2门门,输出方波到扬声器输出方波到扬声器 SUB CX, CX ;CX为循环次数为循环次数,最大为最大为216L: LOOP L ;延时延时 DEC BL ;BL为子程序入口条件为子程序入口条件 JNZ L
59、 ;BL=6,发长声发长声(3S),BL=1发短声发短声(0.5S) MOV AL,AH ;取回取回8255的的PB口原输出值口原输出值 OUT 61H, AL ; 恢复恢复8255PB口口,停止发声停止发声 RETSSP ENDP 天命顷骤疤卫苯滓纂谢昭拜抠钦狈遗肋墟弃姥物穿议宇独茄寐酱叙渠放完第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 例例4: 定时定时/ /计数器计数器 8253 8253与与 8086/8088CP
60、U 8086/8088CPU 相连相连构成完整的定时、计数或脉冲发生器系统。构成完整的定时、计数或脉冲发生器系统。要求能完成的要求能完成的功能功能是:是: 1 1)利用通道)利用通道0 0完成对外部事件计数功能,完成对外部事件计数功能,计满计满100100次向次向CPUCPU发中断请求。发中断请求。 2 2)利用通道)利用通道1 1产生频率为产生频率为1KHz1KHz的方波。的方波。 3 3)利用通道)利用通道2 2作标准时钟作标准时钟, ,定时定时1 1秒秒, ,输输出接出接IR2IR2。艰乃鞍渠乔瞒祁笛怎管坎柿谦软柳户协颈计否矫韶树结塑坊织犀幢音砰七第8中断控制器DMA控制器计数器定时器第
61、8中断控制器DMA控制器计数器定时器氛铬株练佰媚享挑涝掏庭傀奸炳捉军佣祟赴犊膊姐仅英酞胯氛爱范瞥问光第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器z(1)8253的数据线(的数据线(D7D0)与)与CPU的高的高8位数据位数据线(线(D15-D8)相连,所以)相连,所以8253的端口地址必须是的端口地址必须是奇地址(奇地址(A0=1)。)。z(2)通道通道0定义为工作方式定义为工作方式0,完成计数,完成计数. 通道通道0的计数初值应为的计数初值应为: n0= 100 控制字控制字: 00 01 0000=10Hz(3)将通道将通道1定义为工作方式定义为工作方式3,
62、 控制字控制字=0111 0110=76H, 从从CLK1输入输入2.5MHz的时钟脉冲,的时钟脉冲, OUT1输出频率为输出频率为1KHz的方波,而输出方波的周期的方波,而输出方波的周期1ms。 通道通道1的计数初值的计数初值: n1= f1*t1= 2.5 106 1 10-3 =2500=09C4H。貉谜凋矢磕空踢是樱乎召侠敢绳躯擒哲另谰羽连宽妒裂瓢煎读芜童劫膏嗜第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器(4)通道通
63、道2应定义为方式应定义为方式0, 控制字控制字=1011 0001=0B1H,每秒钟利用每秒钟利用OUT2向向CPU发出一次中断请求,由于输入时钟频率为发出一次中断请求,由于输入时钟频率为1KHz,计数初值计数初值应为应为: n2=f2*t2=1000*1=1000。 8253的控制端口地址:的控制端口地址:66H通道通道0的端口地址:的端口地址:60H通道通道1的端口地址:的端口地址:62H通道通道2的端口地址:的端口地址:64H 8253-0 EQU 60H 8253-1 EQU 62H 8253-2 EQU 64H 8253-C EQU 66H磁词满感棠唬痞诉嚣淀巍崔蕉箔偶甲宣潞絮告玲曝
64、诣匹贸促慑垣惶撤缨智第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 STT:MOV DX,8253-C ;8253控制口地址MOVAL,10HOUTDX,AL;通道0工作在方式0MOVDX,8253-0 ;8253通道0地址MOVAL,64HOUTDX,AL;给通道0送计数值MOVDX,8253-CMOVAL,76HOUTDX,AL;通道1工作在方式3MOVDX,8253-1 ;8253通道1地址MOV AX,09C4H OU
65、TDX,AL ;给通道1送计数初值低8位MOVAL,AHOUTDX,A ;给通道1送计数值高位MOVDX,8253-CMOV AL,0B1HOUTDX,AL;通道2工作在方式0峻腆煽没漾一式脾册傍驾星袜纶镣扼腊禄沏毯木坞囱绸弯只苛袖肪蝶殷蚜第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器MOVDX,8253-2 ;通道2地址MOVAX,1000H ;1000的BCD数1000HOUTDX,AL ;给通道2送计数初值的低8位MOV
66、AL,AHOUTDX,AL ;给通道2送计数值的高8位MOVDX,8259A偶MOVAL,13HOUTDX,AL ;设ICW1,边缘触发,需ICW4MOVDX,8259A奇 MOVAL,50H ;设设ICW2, 0通道中断类型码为50HOUTDX,AL ; 通道2的中断类型码为52HMOVAL,03 OUTDX,AL ;设ICW4,非自动EOI方式MOVAL,0FAH ;OCW1,屏蔽IR0,IR1以外的输入OUTDX,ALSTIFF:HLTJMP FF淆游押谅宙例摇坏芹渝聂忙界彻崎垒氯艾韶巴嘿歼诊巡傍径赚氧捻旦烦喜第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器I
67、R2时钟程序时钟程序:zS1 DB ? ;秒秒zS2 DB ? ;分分zS3 DB ? ;时时z.zIR2_TIMER: INC S1z CMP S1,60z JNC EXIT ;不满不满60秒秒,退出退出z MOV S1,00H z INC S2 ;分单元加一分单元加一z CMP S2,60 ;不满不满60分分,退出退出z JNC EXITz MOV S2,00H ;时单元加一时单元加一z INC S3 真拙钓锦槐村靳樟烫及肉裔复虑戌肤舜戴梁浩蚜搔主既冯鞠楚畏医带馒吃第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器z JMP S3,24z JNC EXITz MO
68、V S3,00Hz CALL DISPLAY ;显示时间显示时间z .z STI zEXIT: IRET 椎碑选允扶焦察图婴福踞镶硫箔独睁憨蹭影潜峪疾恃阀祁比胎毒谅听株获第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器思考题:思考题:l. 微机中实现定时控制的主要方法是什么? 2. 8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么? 3. 8253每个通道有_ 种工作方式可供选择。若设定某通道为方式0后,其输出引
69、脚为电平;当_后通道开始计数,信号端每来一个脉冲就减1;当_则输出引脚输出电平,表示计数结束。8253的CLKO接15MHZ的时钟,欲使OUT。产生频率为300kHZ的方波信号,则8253的计数值应为_,应选用的工作方式是_. 4. 试按如下要求分别编写 8253的初始化程序,已知 8253的计数器0 2和控制字IO地址依次为04H07H。 ( l)使计数器 11作在方式0,仅用 8位二进制计数,计数初值为 128。 ( 2)使计数器 O工作在方式 1,按 BCD码计数,计数值为 3000。 ( 3)使计数器2工 在方式 2,计数值为 02F0H。 5. 设8253计数器02和控制字的I/O地
70、址依次为F8HFBH,说明如下程序的作用。 mov al; 33h out ofbh, al mov al, 80h out ofsh, al mov al, 50h out of8h, al刻苛上茨宙钠插峰晰幌翔厩筛求妨凸峰踢假械描氛纶磺十鸿仗衍楚棠愿汾第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器习题习题1 1分析:分析: 用通道用通道 0 0 作定时器,初始编程使通道作定时器,初始编程使通道0 0按方式按方式3 3工作,
71、每秒产工作,每秒产生生18.218.2次输出信号,该信号送到次输出信号,该信号送到8259A8259A中断控制器的中断控制器的IRQ0IRQ0输入端。输入端。每每55ms55ms产生一次中断请求,产生一次中断请求,80868086对其计数,用来计算时间。对其计数,用来计算时间。通道通道 1 1 用作动态用作动态RAMRAM刷新定时,每隔刷新定时,每隔5.12us5.12us产生一次输出信号,请求产生一次输出信号,请求动态刷新。动态刷新。OUT1OUT1输出产生输出产生DMADMA请求信号送请求信号送82378237,由,由82378237对动态对动态RAMRAM刷新。(刷新。(82538253
72、地址为地址为40H43H40H43H)通道通道0 0:地址为:地址为40H40H,控制字为,控制字为36H36H,工作方式,工作方式3 3,计数初值为,计数初值为0 0通道通道1 1:地址为地址为41H41H,控制字为,控制字为 54H 54H,工作方式,工作方式2 2,计数初值为,计数初值为12H12HTIMEMODECTRLTIMEMODECTRLEQUEQU43H43HTIMEADDTIMEADDEQUEQU40H40HCTRL1CTRL1DBDB36H36HCTRL2CTRL2DB DB 54H54HTIME1TIME1DWDW0 0TIME2TIME2DWDW12H12H锥噶耙蜡胆阿
73、庆眨植袱除间莹凭尤挤浦频岿刊同闰骂布测冷悲泞障馒知轰第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器MOVBP,TIMEMODECTRLMOVAL,CTRL1;送通道0控制字MOVBYTE PTR BP,ALMOVAL,CTRL2;送通道1控制字MOVBYTE PTR BP,ALMOVBP,TIMEADD;通道0端口地址送BPMOVAX,TIME1MOVBYTE PTR BP,ALMOVBYTE PTR BP,AH;送通道0时常
74、数INCBP;通道1端口地址送BPMOVAX,TIME2MOVBYTE PTR BP,ALMOVBYTE PTR BP,AH;送通道1时常数 INCBP伍垄逛伞夕贱舅骇被撼字啡痹霍猛奋阴脆兢崩睬正易释古脏学摊扦邹梨木第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器第3节 DMA控制器8237Az主要内容:zDMA控制器的一般结构和概要zDMA控制器8237A的原理z8237A的编程和使用疫刺矩她锅地蚀扑宇湿蒲嘘幅忱猜钥于挡贸摧眺刘窄媚乱匈橙屠铱磺寐泽第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器基本问题:基本问题:z说明在说明在DMA方
75、式时内存往外设传输数据的过程方式时内存往外设传输数据的过程。zDMA控制器初始化工作包括哪些内容?控制器初始化工作包括哪些内容?zDMA控制器在什么时候作为主模块?控制器在什么时候作为主模块? 什么时候作为从模块?什么时候作为从模块?z为什么为什么CPU对对DMA控制器提出的总线响应要比中控制器提出的总线响应要比中断请求响应快?断请求响应快?膘甩衬肘獭哭馋靴落乙啪固译集糟读子噎寥哗偏缨豹胡枚臻闷间贫讣差晓第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器
76、DMA控制器计数器定时器DMA控制器控制器 DMA 控制器可以象控制器可以象CPU那样得到总线控制权,那样得到总线控制权,用用DMA方式实现外部设备和存储器之间的数据高方式实现外部设备和存储器之间的数据高速传输。速传输。 一个一个DMA控制器通常可以连接一个或几个输入控制器通常可以连接一个或几个输入/输出接口,每个接口通过一组连线和输出接口,每个接口通过一组连线和DMA控制器控制器相连。相连。 将将DMA控制器中和某个接口有联系的部分为控制器中和某个接口有联系的部分为一个通道。而一个一个通道。而一个DMA控制器一般由几个通道组控制器一般由几个通道组成。成。谣市便去狸稚辣凌拿梳闻屹汞频浮卞锦庚凌
77、躁甚姐吏荒鲜吾订雇乏呼蹬讶第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 DMA方式,外设向內存传输数据的过程:方式,外设向內存传输数据的过程:z当一个接口中有数据要输入时,就往当一个接口中有数据要输入时,就往DMA控制器发个控制器发个DMA请求;请求;DMA控制器接到请求后,便往控制总线上发控制器接到请求后,便往控制总线上发一个总线请求;一个总线请求;z如果如果CPU允许让出总线,则发一个总线允许信号;允许让出总线,则发一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一
78、个线上,同时往接口发一个DMA回答信号,并发一个回答信号,并发一个1/O读信号和一个内存写信号;读信号和一个内存写信号;z接口接口接到接到DMA回答信号以后,将数据送到数据总线上,并回答信号以后,将数据送到数据总线上,并撤除撤除DMA请求信号;内存在接收到数据以后,一般往请求信号;内存在接收到数据以后,一般往DMA控制器回送一个准备好信号,于是,控制器回送一个准备好信号,于是,DMA控制器的控制器的地址寄存器内容加地址寄存器内容加1或减或减1,计数器的值减,计数器的值减1,而且撤除总,而且撤除总线请求信号,这样,就完成了对一个数据的线请求信号,这样,就完成了对一个数据的DMA输入传输入传输。输
79、。郴偶掠花牢杉漱燕忙民望脆侈华讳疼著跟啃憨势加岁孔瑞聂骑协恶胳撼镶第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 DMA传输结束时,往接口发一个结束信号,向CPU交回总线控制权。其状态寄存器的传输结束标志置“1”。查询时查询时,CPU在主程序中通过查询状态寄存器的传输结束标志,决定是否进行后续处理。中断方式时中断方式时,结束信号可作为送到外设的中断请求信号(也可以送到总线控制逻辑)。后续程序后续程序必须检查出错标志,确定是否重新传输、打印出错信息。注意:注意:DMA控制器不能提供中断类型号。稀藉昔积吓妨勺志恒盟疙铂川嫌纪淹溶吴拎袖蒲幢晌呢郁旁炭名斩柔寸司第8中断控
80、制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器图 6-8 DMA控制器内部编程结构和外部连接8.3.1 8257芯片内部结构z数据总线缓冲器数据总线缓冲器z读写逻辑电路读写逻辑电路z工作方式寄存器工作方式寄存器z状态寄存器状态寄存器z优先选择逻辑优先选择逻辑z4个个DMA通道通道畏骋炙借卖豺悲仿也陵估品舒夏蘑煞缠直详览逮购泵沥吁柄芝度蜀业竖菏第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器虚骚格自等马果逢抄寥署仑谊埠趾如满芭心汇峰晴愈灵种末垢晰激飞箱润第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器5.8257工作方式
81、寄存器和状态寄存器工作方式寄存器和状态寄存器香竞蛛帚唁锅恒眺窘黄斡拇乏抽夫仗粹直券胁褥阂梆粟交惩来垂府臭滩劈第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器详兄我汲毛喧稽咐客刘纤滨轻痔缠虑夯偷矮翼拄谆腊椎砧母诬防枉爪岂嫡第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器沁雅港娠疡嫉囤种熊芹匆刃琉文葵藕稍戚宋拴哨刊暴峨衍百芯效部彰夜买第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器 DMA控制器内部包含一个控制器寄存器和一个状态寄存器,一个地址寄存器和计数器。多通道时,控制寄存器和状态寄存器为本多个通道所公用,而地
82、址寄存器和计数器为本每个通道所独有。 DMA的初始化的初始化: (1)将数据传输缓冲区的起始(结束)地址送到地址寄存器中。 (2)将传输的字节数(字数)送到计数器中。鬼汐服屁为矢醇讣艰觅邹海斡涅猿石碗钡强阳禁夫亏寄芍怎罗抡盆竭蜜吨第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器三、三、8257A的编程和使用的编程和使用 裂目糊烃肇孩那绅弓涣昏拴酵隧直楞汹硫例催姻最渴箔葱谅巾贿讶诅剪扮第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器第8章小节z一. 中断控制器z1.中断的概念z 中断:z 外部中断(硬件中断):NMI.INTRz 内部中断(
83、软件中断):INTn.INTO.单步z 中断过程:中断请求.中断响应.中断处理.中断返回z 其汀鸦易澡逾腆萝遣是战位蛾未搏软央渗蜗乌胞生陵骇锡戴澈扛质谣胚烹第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器2.8086中断系统中断系统 1)中断类型中断类型: 硬件中断硬件中断(外部中断外部中断) 内部中断内部中断:与硬件无关与硬件无关,不执行中断响应周期不执行中断响应周期,除单除单步中断外步中断外,内部中断不可屏蔽内部中断不可屏蔽,优先级高于外部中断优先级高于外部中断2)中断向量表中断向量表:00000003FFH3.中断响应过程中断响应过程1).可屏蔽中断响应过程可
84、屏蔽中断响应过程 响应条件响应条件:TF=1.无总线请求无总线请求.当前指令结束当前指令结束 CPU发中断请求信号后发中断请求信号后,CPU回答信号回答信号INTA 8059给出中断类型码给出中断类型码,CPU由中断类型码找到中由中断类型码找到中断向量的地址指针断向量的地址指针胆吟褂萤昆傈熟颐培搂扳讨滥志慑沉琉辛绽训储氓仪钳俏酿杆鲜炯尿浦菱第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器zCPU保护断点保护断点:将将CS.IP.标志寄存器内容入栈标志寄存器内容入栈z清清IF.TFz查中断向量表查中断向量表,取中断服务程序首地址取中断服务程序首地址z执行中断处理程序执
85、行中断处理程序z中断返回中断返回z2)非屏蔽中断响应过程非屏蔽中断响应过程z 由由NMI引入引入,CPU优先响应优先响应,类型码为类型码为2.z3).内部中断响应内部中断响应z 由指令或硬件给出由指令或硬件给出,无外部逻辑输入无外部逻辑输入z 无中断响应周期无中断响应周期z 与与IF无关无关z 除单步中断外除单步中断外,内部中断优先级高于外部中断内部中断优先级高于外部中断芝彭孜敛逊铸高塔项摊付迭猜踪宣视庆稠议定笨包渺广茄崇鸦缅哉屋彭爵第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器4.8259中断控制器中断控制器 可编程中断控制器可编程中断控制器:单片管理单片管理8
86、级级 级联时级联时:9片管理片管理64级中断级中断 初始化命令字初始化命令字:ICW1ICW4 操作命令字操作命令字:OCW1OCW31)设置优先级方式设置优先级方式 全嵌套方式全嵌套方式.特殊全嵌套方式特殊全嵌套方式.优先级自动循环方优先级自动循环方式式2)屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式,用用OCW1屏蔽屏蔽,特殊屏蔽方式特殊屏蔽方式3).结束中断方式结束中断方式 自动结束方式自动结束方式.非自动结束方式非自动结束方式O侨榔启怠瘦大贡酶椿苯姻私济越把品肢卡筐点卡吵顿面逞母惜搬酞泊组桩第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器z二二.计数
87、器计数器/定时器定时器8253z1.基本结构基本结构z 3个通道个通道:0、1、2z 内部逻辑内部逻辑:A组组.B组组z2.端口的选通端口的选通z 2根地址线根地址线A1A0与读写信号与读写信号z3.工作方式工作方式z 方式方式0、1、2、4、5z4、控制字、控制字z5、计数初值的确定、计数初值的确定丑宅锨液悼噪严典冶瓜谆卖斥炯西椭厨醇拭锗矢此抖叶桌届窍峨坤暴舱枚第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器第第8章思考题章思考题:z1、说明在DMA方式时内存往外设传输数据的过程。z2、DMA控制器初始化工作包括哪些内容?z数值内容:写入要访问的内存地址起始值z
88、写入传输的字节数z功能编程:命令寄存器、模式寄存器、请求寄存器z 屏蔽寄存器、状态寄存器 z3、DMA控制器在什么时候作为主模块?z 什么时候作为从模块?z4、CPU对DMA控制器提出的总线响应要比中断请求响应快?因为:z 橇条匡毕拐焰贰婉熏既区渍谓榆今泉悟翼您旬拣扦嗜乔急锅恭蔬粳胆秩赌第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器5. 微机中实现定时控制的主要方法是什么?微机中实现定时控制的主要方法是什么?6. 8253每个通道有每个通道有_ 种工作方式可供选择。若设定某通种工作方式可供选择。若设定某通道为方式道为方式0后,其输出引脚为电平;当后,其输出引脚为电
89、平;当_后通道开始计后通道开始计数,信号端每来一个脉冲就减数,信号端每来一个脉冲就减1;当;当_则输出则输出引脚输出电平,表示计数结束。引脚输出电平,表示计数结束。8253的的CLKO接接15MHZ的时钟,欲使的时钟,欲使OUT。产生频率为。产生频率为300kHZ的方波信的方波信号,则号,则8253的计数值应为的计数值应为_,应选用的工作方式是,应选用的工作方式是_.7. 8088/8086中断向量表的作用是什么?中断向量表的作用是什么?8. 8259A中中 IRR、IMR和和 ISR三个寄存器的作用是三个寄存器的作用是 什么?什么?9.某时刻某时刻8259A的的IRR内容是内容是08H(00001000B),说明,说明_。某时刻某时刻8259A的的ISR内容是内容是08H,说明,说明_。在两片。在两片8259A级连的中断电路中,主片的第级连的中断电路中,主片的第5级级IR5 作为从片的中作为从片的中断请求输入,则初始化主、从片时,断请求输入,则初始化主、从片时,ICW3的控制字分别的控制字分别是是00100000和和 00000101 .秩作廷厘陇凳抠摈她瓶灰傅早貉沦俯墒父懦秸谰粥藻震诫稽果剖歌猖汪厚第8中断控制器DMA控制器计数器定时器第8中断控制器DMA控制器计数器定时器