20 09 --20 10 学年第 2 学期 物电学院 学院期末考试卷 《 微机原理与接口技术 》(A) 学号: 姓名: 班级: 题号 得分 一 二 三 四 五 六 七 八 九 总分
装 一、 填空题(每空1分,共15分)
1.8086/8088 CPU 与外设进行信息传递的方式是: 、 、 。
2.已知 PC 机系统中某接口板的板地址译码电路如图1*所示。现希望该板的地址范围为 0240~0247H ,请确定 DIP 开关各位的状态。应该关闭的开关有: 。
3.8255A当A口作为方式1输入时,C口的 作为控制信号, 当B口作为方式1输出时,C口的 作为控制信号。
4.在8259A初始化命令字ICW1中,其识别位D4= ,若要写ICW4,则D0= ,若为单8259A使用,则D1= 。 5.8255A芯片若A口工作在方式1,需要有中断请求信号输出,置位/复位控制字的数据为 ,若A口工作在方式2,有
第 1 页 , 共 10 页
订 线 中断请求信号输入,需要置1的位有 和 。 6.已知某8253占用I/O空间地址为320H~323H,如图2所示,输入其CKL1端的脉冲频率为1MHz,要求用8253连续产生10秒的定时信号。
问:计数初值是 ;通道1方式控制字 ;通道2方式控制字 。
二、选择题(每题1分,共10分)
1.8255A的读/写控制线RD?0,A0=0,A1=1时,完成的工作是( )。
A.将A通道数据读入 B. 将B通道数据读入 C.将C通道数据读入 D. 将控制字寄存器数据读入
2.8255A写入方式控制字,不正确数据为( )。 A.80H B. 91H C. 00H D. B7H 3.8255A写入置位/复位控制字,正确的数据为( ) A. 07H B. 80H C. FFH D. 88H
4.当8255A的PC4~PC7全部为输出线时,表明8255A的A端口工
第 2 页 , 共 10 页
作方式是( )
A.方式0 B. 方式1 C. 方式2 D. 任何方式 5.若对8253写控制字的值为AEH,8253工作在( )。 A.计数器0工作在方式0 B. 计数器1工作在方式1 C. 计数器2工作在方式3 D. 计数器3工作在方式5 6. 8253采用软件触发启动计数的工作方式为( ) A.方式0和方式1 B. 方式0和方式4
装 C.方式0和方式5 D. 方式0和方式2 7.8259A应用中,需对IR5、IR3进行屏蔽,操作命令字OCW1应写入( )
A.53H B.35H C.00H D.28H
8.若8259A的初始化命令字ICW2的值为80H,说明8259A8个中断源IR0-IR7所对应的中断类型号为( )
A.00H—07H B.08H—0FH C.80H—87H D.88H—8FH 9.8259A操作命令字OCW3的值为0AH,PC机从220H口进行输入操作时,完成的工作是( )
A.读中断查询结果 B.读IRR寄存器内容
C.读ISR寄存器内容 D.读IMR寄存器内容
10.下面的中断中,只有 需要硬件提供中断类型码。
第 3 页 , 共 10 页
订 线 A. INT0 B. INT n C. NMI D. INTR
三、8259A与8088总线的连接如图3所示,按以下要求对8259A编程(包括初始化程序和写操作命令字程序)。(10分)
●允许8个中断源边沿触发,单片8259A,不需要缓冲; ● 一般全嵌套方式工作
●与IR0~IR3对应的中断向量码为40H~43H; ●IR4~IR7不用。
四、按下述要求对8255A进行编程:(10
分)
1.A口方式1输入,B口方式1输入,PC6、PC7作为输出端,对8255A初始化。
2.使8255A的C口PC1位产生一个方波信号。 假设:8255A的端口地址为04A0H~04A6H。
五、8253方式0的工作波形如图4所示。,
根据波形图简答下列问题。(10分)
1.复位后OUT的状态。 2.启动条件。 3.GATE的作用。 4.OUT输出波形。 5.在计数过程中改变计数值对计数过程的影
第 4 页 , 共 10 页
响。
六、(15分)图5所示为某同学设计的一个开关检测电路。他希望实现如下循环检测功能:当按下自复按钮K时,检测开关K0、K1、K2的闭合/开状态,然后根据表1要求,
通过发光二极管LED0—LED7 指示开关状态;当PC键盘有任意按键按下时,退出程序。但硬件和程序(如下所列)设计好后,通过调试总是得不到正确的结果。现已知8255各端口地址分别为248H、24AH、24CH和24EH,希望你能帮他找出硬件和程序中存在的错误(假定元器件可靠性没问题),并给予纠正(允许增加或删除指令)。 DATA SEGMENT
MESG DB ‘按任意键退出检测!’,0DH,0AH,’$’ ;定义显示信息
TAB DB 00000001B,00000010B,00000100B,00001000B DB 00010000B,00100000B,01000000B,10000000B DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MOV AX,DATA MOV DS,AX MOV DX,24EH
MOV AL,10000110B ;方式控制字 OUT DX,AL LEA DX,MESG MOV AH,9 INT 21H
SCAN: MOV AH,1 ;检测PC键盘是否有键按下 INT 16H
JNZ RETURN ;有键按下退出 AGAIN: MOV DX,24CH IN AL,DX
TEST AL,80H ;按钮K是否按下 JNZ AGAIN MOV DX,24AH
第 5 页 , 共 10 页
装 订 线 IN AL,DX AND AL,0FH LEA BX,TAB XLAT
NOT AL ;查表得到输出控制字 MOV DX,248H OUT DX,AL JMP SCAN RETURN: MOV AX,4CH INT 21H CODE ENDS END
七、按下列要求完成对8253的编程。(15
分)
装 1.编写8253初始化程序。要求:计数器1工作于方式3(方波方式),CLK1接4MHZ 信号,要求OUT1输出周期为10ms的方波,选择二进制数,计数初值为16位二进制数。设8253的端口地址为200H~203H。
2.读8253计数器的现行值。
八、图6是一个8088计算机应用系统的一部分,其中8255A的PA口用于和打印机交换数据,工作于方
式1,输出打印字符,CPU与其交换数据采用中断方式,PB口作其他用途,方式0输入。请编写包括初始化在内的完整程序。(15分) 设8255A的4个端口地址为00H,01H,02H,03H。
第 6 页 , 共 10 页
订 线 *说明:74LS688是数字比较器,功能:74LS688将P边输入的8位二进制编码与Q边输入的8位二进制编码进行比较。当P=Q,即两个8位二进制数相等时,“=”引出脚为低电平。
第 7 页 , 共 10 页
装 订 线
8259控制字如下:
第 8 页 , 共 10 页
装 订 第 9 页 , 共 10 页 线
8255控制字如下:
第 10 页 , 共 10 页
2008—2009学院度第2学期 微机原理与接口技术课程期终考试试卷(A卷)
参考答案
一、 填空
1.程序控制;中断控制;DMA控制
2.应该关闭的开关有 Q0 、 Q1 、 Q2 、 Q4 、 Q5 3.Pc3,pc4,pc5;pc0,pc1,pc2
4.确定通道工作方式及选择通道。 5.1;1;1
6.09H;PC4;PC6 7.107;74H;B4H 二、
1:C 2:C 3:A 4:A 5:D 6:C 7:B 8:D 9:C 10:B 11:C 12:D
13:D 14:A 15:D 三、 解:
解:根据要求,各初始化参数及工作参数如下: ICW1=00010011=13H,ICW2=40H(中断向量码),
ICW4=00000011B=03H,OCW1=11110000H(中断屏蔽字)。 初始化程序如下:
MOV DX,E010H;A0=0,写ICW1
第 11 页 , 共 10 页
装 MOV AL,13H;上升沿触发,单片,写ICW4 OUT DX,AL
MOV DX,E011H;A0=1,写ICW2,OCW1 MOV AL,40H;ICW2 OUT DX,AL
MOV AL,03H;ICW4 OUT DX,AL
MOV AL,OFOH;OCW1,屏蔽IR4~IR7 OUT DX,AL 四、
1.初始化程序段如下:
MOV DX,04A6H ;送控制口地址 MOV AL,B7 H ;设置方式选择控制字10110111B OUT DX,AL 2.程序段如下:
MOV DX,04A6H ;送控制口地址 LL:MOV AL,00000011B ;对PC1位置1 OUT DX,AL
CALL DELAY ;延时
MOV AL,00000010B ;对PC1位置0 OUT DX,AL
JMP LL ;循环,产生周期信号 五、 解: 1.高;2. 向初值寄存器写入初值。;3. 高电平允许计数。; 4.启动后为高,计数到0输出负脉冲,宽度为一个CLK脉冲。 5.如果在计数过程中写入新的初值,且GATE信号一直维持高电平,则新的初值不会立即影响当前的计数过程,但在计数结束后的下一个计数周期将按新的初值计数,即新的初值下次有效。 六、解 P152
1、方式控制字:10000011B 2、TEST AL,01H 3、AND AL,07H 4、删除 NOT AL 5、MOV AH,4CH
第 12 页 , 共 10 页
七:解:
解:1.确定通道控制字;01110110B=76H
计数初值=时钟频率/输出频率=4MHZ/(1/10ms)=40000=9C40H 2.计数值的低8位为40; 3.计数值的高8位为9C。 初始化程序为: MOV AL,76H OUT 203H,AL MOV AL,40H OUT 201H,AL MOV AL,9CH OUT 201H,AL
在计数过程中,8253读计数器现行值的方法:(将计数值存入内部锁存器)
MOV AL,43H ;计数器0的锁存命令 OUT 0FBH,AL;写入控制寄存器 IN AL,0F8H ;读低8位 MOV CL,AL ;存入CL中 IN AL,0F8H ;读高8位 MOV CH,AL ;存入CH中 八:解: 分析:
PC0充当打印机的选通信号,通过对PC0的置位/复位产生选通。PC7接收打印机发出的“BUSY”信号。
8255A的控制字为:10001000 即88H
A口方式0,输出;C口高位方式0输入,低位方式0输出 PC0置位: 00000001 即 01H PC0复位: 00000000 即 00H
8255A的4个口地址为:00H,01H,02H,03H。 编制程序 DADA SEGMENT
第 13 页 , 共 10 页
BUFF DB 'This is a print program!','$' DATA ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA START:MOV AX, DATA MOV DS, AX
MOV SI,OFFSET BUFF
MOV AL, A3H ;8255A初始化,A口方式1,输出 OUT 03H, AL ; C口高位方式0输入,低位方式0输出
MOV AL, 01H;
OUT 03H,AL ;使PC0置位,即使选通无效 WAIT: IN AL, 02H
TEST AL, 80H ;检测PC7是否为1即是否忙 JNZ WAIT ; 为忙则等待 MOV AL,[SI]
CMP AL,'$' ;是否结束符 JZ DONE ; 是则输出回车
OUT 00H,AL ;不是结束符,则从A口输出 MOV AL, 00H
OUT 03H,AL ;产生选通信号
INC SI ;修改指针,指向下一个字符 JMP WAIT DONE: MOV AL,0DH
OUT 00H,AL ;输出回车符 MOV AL, 00H
OUT 03H,AL ;产生选通 MOV AH,4CH INT 21H CODE ENDS END START
第 14 页 , 共 10 页