资源描述:
《第七章中断与中断控制习题选解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、7.78259A只有两个端口地址,但可读/写寄存器数远远多于两个,如何保证正确读/写?解:8259A屮使川了如下儿种方法来实现同一地址寻址多个内部寄存器:(1)利用命令字OCW:事先指定读IRR或ISR;⑵利用命令字中位4和位3的状态來决定写ICW1,OCW:还是写0CW3;(3)根据顺序來决定同一我口地址下的命令字(1CWZJCW3,1CW4,OCW1)。7.11某80X86微机的中断系统有5个外部中断源,接在8259A的IR()〜/R?端,屮断类型码为5BH,5CH,5DH,5EH和5FH,8259A的端口地址为BOH,B1H。允许它们以全恢套工作方式工作,中断请求采用电
2、平触发方式。试编写8259A的初始化程序。解:先确定耍写哪些控制字,以及每个控制字对应位的取值,再编程。此题,要写的控制字及位取值如下:(1)ZCWI=xxxllxll,即:中断请求为电平触发、单片8259A、写ICW4□(2)/CW2=01011xxx,即:此片8259A中断类型码髙5位为:01011V(3)ICW3无需写。2(4)ICW4=00000x01,即:一般嵌套、非缓冲、正EOI,8086/8088模式。其中x表示取值为0或1均可。假定控制字中的x固定为0,初始化程序如下:MOVDX,0B0H;指向端口0MOVALJBH;中断请求为边沿触发、单片8259A、写IC
3、W4OUTDX,AL泻ICWIX、INCDX;指向端口10MOVAL,58H;中断类型码高5位为01011OUTDX,AL泻ICW2MOVAL,01H;一般嵌套、非缓冲、正常EOI,8086/8088模式OUTDX,X泻ICW47.12某80X86系统中设置三片8259A级联使用,一片为主,两片为从,从片分别接人主片的〃?2和〃若已知当前主8259A和从8259A的/尽上各接有一个外部中断源,其中断向量号分别为75H,85H,95HO假设它们的中断入口地址均在同一段中,段基址为4310H,偏移地址分别为1230H,2340H,3450H;所有中断都采用边沿触发方式、全嵌套方式
4、、止常EOI结束方式。(1)试画出该系统的硬件连线图;(2)试编写全部初始化程序。解:(1)此题硬件连线要考虑各8259A与CPU的连接,还要考虑三片8259A间的级联连接。8259A与CPU连接的方法是:①端口选择线与一般与MPU低位地址线直接相连,也可与其他4相连。②数据线d()〜q与MPU数据线D()〜D7直接相连。③片选线石与余卞MPU高位地址线经译码后产生的片选信号相连。①/N77?分别与控制总线组合形成的IOR、/OW和中断响应信号/N77?相连。①土片的INT与MPU的INTR直接相连。8259A级联连接方法是:①从片的INT与主片的某个/尺直接相连。②主片的C
5、AS2-CAS。与各从片的CAS2-CAS。直接相连。③SP/EN则取决于是采用缓冲还是非缓冲方式。木题釆用非缓冲方式,主片SP/EN接+5V,从片护/丽接地。由此画出硬件连线图,如图7.3所示。外部中断PORTO外那中斷PORTI。1234s41RIRIRIRIRLRIR1RAO_csTNTD?~Do8259SP/EN(主)INTA更WR1NTRDlD。S?S
6、80X86SoD^Do+5VCASj*CASoIRoWR:R;』IRS8259INTAIR■(从I)IRs叭IRtINTASoIORS
7、Tows?总线控制器CAS’YAS.WRIRoDlDoSP/ENINTrINTA
8、8259IR3D7~D,从2〉爱;ir61R7A。cs外部中断A。POTR2图7.38259A构成的中斷邃榊(1)初始化程序应包括两部分内容,即主、从片的初始化和填写相关中断向量表。对主片编程时要注意。在多片级联方式下,系统要工作在完全嵌套方式,主片必须设置为特殊全嵌套方式,以便同级中断能打断同级中断。因为在多片级联方式下,从片的8个中断源是共用主片的一个中断级,而实际上从片的8个中断源也有优先级区别。假定当前正在服务的中断级是从片的某个中断级,若当CPU正在为该中断源服务时,该从片又向主片捉出中断请求,此时对主片而言是同一级中断请求,但对从片來说却是出现了一个高优先级中断请
9、求,应该优先处理,假定主片、从片1、从片2地址分别为:PORTOO.PORTOI,PORT10,PORT11,PORT20,PORT21,程序段如下::初始化8259A主片MOVOUTMOVAL,11HPORTOO,ALAL,70H:写农⑷]边沿触发、多片级联、写ICW4;写ICW2,主片中断向断号为70H—78HOUTPORTO1.ALMOVAL.,00010100B;写ICW3,IR2,IR4,接有从片OUTPORTO1.ALMOVAL,0001(X)0IB;写広¥4特殊全嵌套、非缓冲、正常EOI