第五章
译码电路设计
1、利用全地址译码将6264芯片接在8088系统总线上,地址范围为BE000H~BFFFFH,试画出连接电路图。译码电路要求用逻辑门实现。(15分)
答案:
存储容量 寻址
2、如下图所示,8088系统扩展了存储容量,请分别给出ROM、RAM的总存储容量及相应的物理地址范围。(5分)
图1
答案:
ROM 1000 000 0 0000 0000 0000B~ 1000 011 1 1111 1111 1111B 共32KBytes RAM 1000 100 0 0000 0000 0000B~ 1000 111 1 1111 1111 1111B 共32Kbytes
第六章
菊花链 中断响应
3、简述图2(a)菊花链逻辑电路的工作原理。如图2(b)所示,某机器的中断系统采用一级链路排队,如在某一时刻,CPU在响应外设3键盘的中断的过程中,扫描仪和打印机均产生一个事件,试问CPU如何响应?为什么?(10分) 外设4外设3外设2外设1外设接口打印机键盘传真机扫描仪 CPUDB外设接口4外设接口1外设接口2外设接口3 IREQIREQIREQIREQ中断确认中断确认中断确认中断确认 中断确认菊花链菊花链菊花链菊花链INTAINTAINTAINTAINTA菊花链 INTA逻辑电路逻辑电路逻辑电路逻辑电路逻辑电路& =1≥1 INTAINTAoutINTR≥1 (a)菊花链逻辑电路 (b)链式判优电路原理 图2 三态门中断向量码EIREQininininoutinINTR
答案:
答:当某个外设有中断请求时,CPU如果允许中断,则会发出INTA#信号(1分),如果菊花链的前端的外设没有发出中断请求信号,那么这级中断逻辑电路就会允许中断响应信号INTA#原土封不动地向后传递,一直传到发出中断请示的外设,同时,这个外设发出的中断请求会自动对后面的设备的中断逻辑电路实现封锁,使INTA#信号不再传到后面的外设(其后的外设的INTA#输入端全部为“1”信号)(2分)。因而,菊花链电路中各个外设的中断优先权就由其在链中的位置决定,处于菊花链前端的比处于链条后端的优先权高。
菊花链前面发出中断请求的外设截获INTA#信号后,就打开三态门把自己的中断类型码放到数据总线上(1分),CPU读取该中断类型码,并据此计算相应的中断服务程序的入口,然后转去执行之。(2分)
当多个外设同时发出断请求信号时,根据电路分析可知,菊花链中位置靠前的外设将截获INTA#信号,而排在菊花链中较后位置的外设就收不到INTA#信号,因而暂不会被处理。若CPU正执行某个中断服务程序时,又有级别较高外设提出中断请求,由于菊花链电路中级别低的外设不能封锁级别高的外设得到中断响应信号,故仍可响应该中断请求,所以,此电路也能实现中断嵌套(2分)。因此CPU在响应外设3的过程中仍可响应扫描仪的中断请求。(2分)
片选 74LS374 译码
4、说明下面接口电路(图1)工作原理、实现功能?并写出译码地址。(10分)
74LS374
Q7 D7-D0 D7-D0 Q6 D7 D6 D5 D4 D3 D2 D1 D5 IOW A15 | A10 A9 | A3 A2 A1 A0 Q5 Q4 Q3 Q2 外设 74LS138 & ≥1 G Y0 G2A G2B C Y3 B A ≥1 CP Q1 Q0 OE STROBE BUSY ≥1 状态端口 Q S D Q CP IOR
图1
答案:
答:电路工作原理:外设的STROBE(低电平有效)信号通过2分频器(由D触发器构成),再经过一个三态门连到CPU数据总线的D5位;同时与374的OE(低电平有效)端相连。CPU数据线(D0~D7)通过374与外设的数据线(D0~D7)相连。译码电路采用138全地址译码,译码输出分别连到外设状态端口和外设数据端口。
CPU在IOR(低电平有效)及138输出Y3同时有效时,打开三态门将外设的STROBE(低电平有效)信号状态读入到CPU数据总线的D5位上,CPU通过查询读入的第5位(bit5)(=1忙,=0准备好)状态判断是否向外设写入数据。如果第5位(bit5)状态为0,表明外设已经准备好接收数据,CPU在IOW(低电平有效)及138输出Y0同时有效时,将要写入的数据写入到374中等待外设读取。否则,继续查询。(6分)
实现功能:用查询方式进行输出。第5位(bit5)为状态标志(=1忙,=0准备好),写入数据会使状态标志置1 ;外设把数据读走后又把它置0。(2分)
译码地址:外设状态端口地址为FC03H(Y3),外设数据端口地址为FC00H(Y0)。(2分)
菊花链 中断响应
5、图2(a)是什么工作原理图?说明其工作原理。图2(b)是某中断系统中断优先级硬件判优电路,如在某一时刻,外设1至外设4同时产生中断,试问CPU如何响应?为什么?(10分)
外设接口三态门外设1扫描仪CPU外设接口1IREQ中断确认IREQ外设2传真机外设接口2IREQ中断确认菊花链逻辑电路外设3键盘外设4打印机外设接口4IREQIREQDB中断向量码外设接口3E中断确认INTAin菊花链逻辑电路中断确认INTAin菊花链逻辑电路INTAout中断确认菊花链逻辑电路INTAINTAin菊花链逻辑电路INTAin&=1≥1INTAinINTRINTAoutINTR≥1
(a) (b) 图2
答案:
答:(a)为菊花链逻辑电路。其工作原理:当某个外设有中断请求时,CPU如果允许中断,则会发出INTA#信号(1分),如果菊花链的前端的外设没有发出中断请求信号,那么这级中断逻辑电路就会允许中断响应信号INTA#原土封不动地向后传递,一直传到发出中断请示的外设,同时,这个外设发出的中断请求会自动对后面的设备的中断逻辑电路实现封锁,使INTA#信号不再传到后面的外设(其后的外设的INTA#输入端全部为“1”信号)(2分)。因而,菊花链电路中各个外设的中断优先权就由其在链中的位置决定,处于菊花链前端的比处于链条后端的优先权高。
菊花链前面发出中断请求的外设截获INTA#信号后,就打开三态门把自己的中断类型码放到数据总线上(1分),CPU读取该中断类型码,并据此计算相应的中断服务程序的入口,然后转去执行之。(2分)
当多个外设同时发出中断请求信号时,根据电路分析可知,菊花链中位置靠前的外设将截获INTA#信号,而排在菊花链中较后位置的外设就收不到INTA#信号,因而暂不会被处理。若CPU正执行某个中断服务程序时,又有级别较高外设提出中断请求,由于菊花链电路中级别低的外设不能封锁级别高的外设得到中断响应信号,故仍可响应该中断请求,所以,此电路也能实现中断嵌套(2分)。因此CPU在外设1至外设4同时产生中断时响应外设1(扫描仪)的中断请求。(2分)
片选 74LS138 译码 汇编语言
6、下图是根据开关状态在7段数码管上显示数字或符号的接口电路(图1),写出译码地址并编写实现当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’功能的程序 。(10分)
74LS273 7406 Rx8 D0 Q0 8个 a D0 ~D7 | Q1 反相器 b D7 Q2 c 译码电路 Q3 d Q4 e IOW ≥1 CP Q5 f Q6 g 74LS138 Q7 DP & A7~A4 G Y3 +5V A15 ~A8 ≥1 G2A 74LS244 K0~K3 D0 O1 I1 A3 G2B A2 D1 O2 I2 Y6 C A1 B D2 A0 O3 I3 A D3 O4 I4 ≥1 #E1 IOR
图1
Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H ……
答案:
答:译码地址:74LS273的地址为0F3H(Y3),74LS244的地址为0F6H(Y6)。(2分) 程序如下:(8分)
Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H …… LEA BX, Seg7 ;取7段码表基地址 MOV AH, 0
GO: MOV DX, 0F6H ;开关接口的地址为0F6H IN AL, DX ;读入开关状态 AND AL, 0FH ;保留低4位
MOV SI, AX ;作为7段码表的表内位移量 MOV AL, [BX+SI] ;取7段码
MOV DX, 0F3H ;7段数码管接口的地址为0F3H OUT DX, AL JMP GO
片选 译码
7、图2是什么电路原理图?说明其译码方式并写出译码地址。(5分)
1 5V &
图2
答案:
答:利用全地址译码将6264芯片接在8088系统总线上,地址范围为BE000H~BFFFFH。(5分)
译码
8、说明下图采用的译码方式并分别写出两片SRAM的译码地址。(5分)
答案:
答:利用全地址译码(1分)将两片SRAM芯片接在8088系统总线上,地址范围分别为: 第1片:78000H~787FFH(2分) 第2片:78800H~78FFFH(2分)。
片选 74LS138 译码 汇编语言
9、下面电路图中,外设状态端口地址为3FAH,第5位(bit5)为状态标志(=1忙,=0准备好).。外设数据端口地址为3F8H,写入数据会使状态标志置1 ;外设把数据读走后又把它置0。 (1)试补充完整电路图。(5分)
(2)外设为七段数码管,通过查询状态标志,逐次显示0-F字符,试补充完整下面程序段。(10分)
DATA SEGMENT 'DATA'
SEG7 DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h DATA ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE, DS:DATA SEG7ID EQU 3F8H SWITCHID EQU 3FAH
START: LEA BX,SEG7 MOV AX,0H
MOV SI,AX
GO:
CHECKSWITCH:
JMP
CODE ENDS END START
答案:
DATA SEGMENT 'DATA'
SEG7 DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h DATA ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE, DS:DATA SEG7ID EQU 3F8H SWITCHID EQU 3FAH
START: MOV AX, DATA (0.5分) MOV DS, AX (0.5分) LEA BX,SEG7 MOV AX,0H
MOV SI,AX
GO: MOV DX, SWITCHID 以下每行各1分 IN AL, DX TEST AL,20H JNZ CHECKSWITCH
MOV AL,[BX+SI] MOV DX,SEG7ID OUT DX,AL INC SI AND SI,0FH
CHECKSWITCH:
JMP GO
CODE ENDS END START
片选 74LS138 译码 汇编语言
10、下图是根据开关状态在7段数码管上显示数字或符号的接口电路(图2),请给出读开关状态及显示数码的译码地址,并编写一段程序,实现当开关的状态为00不显示(暗);分别为01、10、11时,在7段数码管上对应显示’1’、’2’、’3’。(15分)
图2
Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H ……
答案:
答: 74LS244作为输入口,读取开关K0到K1的状态;地址为03F1H;
74LS243作为输出口,把数据送到7段数码管;地址为03F0H;
Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H
LEA BX, Seg7 ;取7段码表基地址 MOV AH, 0 GO: MOV DX, 03F1H ;开关接口的地址为F1H
GO1:
IN
AND CMP JNE MOV OUT JMP MOV MOV MOV OUT JMP
AL, DX ;读入开关状态 AL, 03H ;保留低 2位 AL,0 ;判断AL是否等于0 GO1 AL,0 ;输出不显示 DX,AL GO
SI, AX ;作为7段码表的表内位移量 AL, [BX+SI];取7段码
DX, 03F0H ;7段数码管接口的地址为F0H DX, AL GO
因篇幅问题不能全部显示,请点此查看更多更全内容