中北大学微机原理及接口技术习题及练习册-----参考答案
口作状态输入(RDY)线。 3.在输入,输出均允许中断的情况下,可在中断服务程序中查询状态字,判断OBF和IBF位的状态,来区分是输入中断还是输出中断,并采取相应操作。
4.两种方法:1)使用字节型输出方式,向PC口输出最低位为“1”的值;2)使用按位操作,将PC0置为“1” 5. 1)首先规定行线为输出,列线为输入。2)从行线上输出全“0”的数据,从列线读取数据,如果读取数据为全“1”,则说明没有键按下,否则,有键按下。3)当有键按下时,将列线规定为输出、行线为输入。4)将第二步从列线上读取的数据输出到列线上,从行线上读取数据,若读取的数据为全“1”,则认为是一个干扰,否则,根据当前行、列线的数据值,可以唯一确定哪一个键按下。 6. 8255 A是可编程的并行接口芯片,设有三个8位的数据输入/输出端口,共有三种工作方式:方式0为基本的输入/输出方式;方式1为选通式输入/输出方式;方式2为双向数据传送方式。 四、硬件编程题
1. 1)10010001B 即91H
2) MOV AL,91H; OUT 43H,AL
3)IN AL,40H; NOT AL; OUT 41H,AL
2.
1) MOV AL,92H 2) MOV AL,0C4H 3) MOV AL,0B6H 4) MOV AL,0B1H
OUT 63H,AL OUT 63H,AL OUT 63H,AL OUT 63H,AL
3. 根据端口地址知,端口A地址为:160H,端口B地址为:162H,端口C地址为:164H,控制端口地址为:166H。端口A方式0输出,端口B方式0输入,端口C方式0输入知:控制字8BH。
MOV AL, 8BH MOV DX, 164H
MOV DX, 0166H IN AL, DX
OUT DX, AL ADD AL, BL MOV DX, 0162H NOT AL IN AL, DX MOV DX, 0160H
MOV BL, AL OUT DX, AL
ADD BL, AL
五、硬件设计题 1.
1) 参见图
2) MOV DX, 306H MOV AL, 90H OUT DX, AL
37
3) MOV DX, 300H
IN AL, DX MOV DX, 302H OUT DX, AL
中北大学微机原理及接口技术习题及练习册-----参考答案
2. MOV DX, 236H MOV AL, 82H OUT DX, AL
MOV AX, SEG FIRST MOV DS, AX
MOV SI, OFFSET FIRST LOP: MOV DX, 232H
IN AL, DX MOV [SI], AL MOV DX, 230H OUT DX, AL JMP LOP
第8章 串行接口及8251A应用参考答案
一、填空题
1. 1488、1489(MAX232) 2. 异步,同步 (次序无关)
3.数据发送线Txd,数据接收线Rxd,和地线,逻辑“0” +5V~+15V,逻辑“1” -5V~15V 二 选择题
1. B 2. D 3. C 4. B 三 简答题
1. 状态字中D6位SY/BR与SYNDET,D2位TxEPTY与TxE,D1位RxRDY与RxRDY,D0位TxRDY与TxRDY引脚有关。状态位TxRDY与引信号TxRDY区别在于,TxRDY位为1的条件是:8251A内部数据输出寄存器内容为空或即将发送完毕,TxRDY端输出变高条件是TxRDY=1,CTS输入为低电平且命令字设置TxEN发送允许位为1。它们在系统设计中可用于中断请求或中断查询。
2. 具有5个功能模块:I/O缓冲器,读/写控制逻辑,接收器,发送器,调制/解调器。读/写控制逻辑主要功能是接收来自CPU控制总线的控制信号,对数据在内部总线的传送方向进行控制。 3. 有7个寄存器和外部电路有关,方式寄存器,同步字符寄存器1和2,控制寄存器,数据输入寄存器,数据输出寄存器,状态寄存器。只占用两个端口地址,因为寄存器的区分是依靠读/写的固定顺序。 四、编程题
1.系统总线A1与C/D引脚相连,控制端口地址为82H,数据端口地址为80H MOV AL,0 MOV AL,0CEH OUT 82H,AL OUT 82H,AL OUT 82H,AL MOV AL,05H OUT 82H,AL OUT 82H,AL
2. XOR AX,AX MOV AL,18H MOV DX,66H OUT DX,AL OUT DX,AL MOV AL,SYNC OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL MOV AL,40H MOV AL,0BFH OUT DX,AL OUT DX,AL
3 8
中北大学微机原理及接口技术习题及练习册-----参考答案
第9章 中断及8259A参考答案
一、填空题
1. 160H--163H,中断服务程序的偏移地址和段地址 2. 00070H,00073H,4 3. 非屏蔽中断,可屏蔽中断 (次序无关) 4. 15
5. 奇地址(21H) 6. 初始化命令字(ICW),操作命令字(OCW) 7. 中断向量表,(中断类型号*4)-->IP,(中断类型号*4+2)-->CS,70H,72H字单元,(00070H)=2030H,(00072H)=5110H
8. 8 9. 2
10. 多个中断同时发生,中断处理过程中另一更高优先级的中断源提出中断请求 11. 中断服务程序入口地址 12. 可屏蔽中断,非屏蔽中断 二、简答题
1. IMR的8位对应8个中断级,其中置为1的位所对应的中断级的输入线IR处于被屏蔽方式,被屏蔽的中断级请求不能使8259A的INT输出端产生有效的请求信号。所以即使当中断允许IF=1时也无法响应。IF是CPU的中断允许标志,当IF=0时所有可屏蔽中断被禁止。在中断响应过程中,通过设置IF,IMR可灵活控制中断的优先次序。
2. 其原因可能有四个:(1)CPU处于关中断状态,IF=0。(2)该中断请求已被屏蔽;(3)该中断请求的时间太短,未能保持到指令周期结束;(4)CPU已释放总线(即已响应了DMA请求),而未收回总线控制权。
3. 初始化命令字通常在系统初始化阶段设置,从ICW1开始,按照固定次序的设置,一经设置完成,则在以后的操作中基本保持不变,操作命令字是在程序执行阶段向8259A发出的命令字,实现以8259A的状态,中断方式和过程的控制。操作命令字可以一个程序中多次设置,从而改变中断的方式。初始化命令字有4个,分别为ICW1,ICW2,ICW3,ICW4,操作命令字有3个,分别为OCW1,OCW2,OCW3。
4. 中断控制器提供中断类型码,从中断向量表中相应位置取出中断服务程序首址置入IP和CS中,程序转至中断服务程序。
5. 可屏蔽中断能否响应受到CPU标志寄存器FLAG的限制,如果IF=0,则所有可屏蔽中断都不能响应,只有IF=1时,CPU才能响应可屏蔽中断,另外,可屏蔽中断是从CPU的INTR引脚引入的。 非屏蔽中断是从CPU的NMI引脚引入CPU的,它不受标志寄存器中IF的限制,只要有请求,而在请求时没有总线请求,就可以响应。
6. 在响应中断时,根据中断类型号,从中断类型号*4开始的连续的4个单元中保存有中断服务程序的入口地址(段内偏移地址和段地址),取出来,直接送给PC和CS即可。 三、选择题
1. B 2. B 3. D 4. B 5. A 6. A 7. D 8. D 9. B 10. C
第10章 定时器/计数器参考答案
一、填空题 1. 30H,,56H,0FEH,50H,0FH,50H 2. 3 3. 40000,2 二、选择题
1. BF 2.D 3.B 4.B 5.D 6.C 三、简答题 1. 软件定时:利用CPU执行某一指令需要一定机器周期的原理,在软件编程时循环执行一段指令,
39
中北大学微机原理及接口技术习题及练习册-----参考答案
从而产生累积的定时。优点是不需要增加硬件。缺点是耗费CPU资源,故软件定时只适用于短时定时。而且,不同CPU的时钟频率不同,同一段软件延时程序在不同的机器上运行,可能结果不同,即兼容性不强。
硬件定时和计数:以硬件计数器构成,计数脉冲触发硬件计数器计数,如果计数脉冲的周期固定,则计数同时产生定时。优点是不占用CPU资源,定时精确,定时范围大。缺点是增加一些硬件开销。
2. 它由与CPU的接口、一个控制寄存器以及三个16位计数器所组成。每个计数器通过3个引腿和外部联系,1个为时钟输入端CLK,1个为门控信号输入端GATE,别1个为输出端OUT。 四、综合题
要输出脉冲周期为1ms,输出脉冲的频率是
11?10?3?1?103,当输入时钟频率为2MHz时,
2?103计数器初值是?2000。 31??10使用计数器1,先加载低8位,后加载高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是103H,计数器1的地址是101H。程序段如下:
MOV DX,103H MOV AX,2000 MOV AL,76H OUT DX,AL OUT DX,,AL MOV AL,AH MOV DX,101H OUT DX,AL
第11章 模拟量通道参考答案
一、填空、选择题
1.模拟量信号 2.B 二、简答题
1.DAC0832中具有两级锁存器,第一级锁存器为输入寄存器,锁存信号为ILE和CS;第二级锁存器为DAC寄存器,锁存信号为XFER。
为了DAC0832进行数/模转换,可使用两种方法对数据进行锁存。第一种方法是使输入寄存器工在锁存状态,而DAC寄存器工作在不锁存状态 。即使WR2和XFER均为低电平,DAC寄存器的锁存端为无效状态,而使输入寄存器的有关控制信号,ILE为高电平,CS为低电平。当WR1来一个负脉冲时,就可完成一次转换。
第二种方法是输入寄存器工作在不锁存状态,DAC寄存器工作在锁存状态,即使WR1为低电平,CS为低电平
而ILE为高电平。这样输入寄存器的锁存信号处于无效状态,而WR2和XFER输入一个负脉冲,使DAC寄存器为锁存状态。
2.如果有一个D/A转换器超过8位,CPU则通过两条输出指令向两个锁存器对应的端口地址输出数据,但是第一次执行输出指令后,D/A转换器会得到一个局部的输入,由此,输出端得到一个局部的,实际上不需要的模拟量输出。因此用两级缓冲结构来解决,CPU先用两条输出指令把数据送到第一级数据缓冲器,通过第三条输出指令使数据送到第二级数据缓冲器,从而使D/A转换器一次得到所有位待转换的数据。这就是用带两级缓冲器的D/A转换器必须要用3条输出指令才能完成16位或12位数据转换的理由。
3.采样保持电路有两种工作状态,一种是采样状态,一种是保持状态。在采样状态,输出随输入而变化,增益为1,在保持状态,输出保持为某个值。
4 0
中北大学微机原理及接口技术习题及练习册-----参考答案
三、编程题 1. MOV DX,328H MOV AL,0 LOP: OUT DX,AL INC AL JNZ LOP
2. COD SEGMENT ASSUME CS:COD
MAIN PROC FAR
MOV AL,0 MOV DX,180H
LOP: OUT DX,AL
MOV
LLL: OUT
DEC JNZ JMP
DEC JMP
MAIN ENDP COD ENDS
END
AL,0FEH DX,AL AL LLL LOP AL LOP MAIN
第12章 与实验相关的问题参考答案
一、填空题
1. .ASM 2. 编辑源程序 ,汇编,连接,调试 二、选择题
1. C 2. C 3. A 三、问答题
1. 采用8255做输入输出接口,将PB0连接按键,PA0连接发光二极管。编写程序实现上述功能。8255初始化为方式0,A口做输出,B口做输入,从B口读入数据判断按键是否按下,进而控制发光二极管的状态。
2. 发出中断结束命令,通知中断控制器8259将中断服务寄存器ISR中的相应位清除。 3. 设置中断屏蔽字,在不改变其他引脚的中断屏蔽状态的情况下,将8259的中断请求引脚IR7允许中断。
4.不能完成,因为0000:0000H是中断向量表,而实验系统本身有许多工作是用中断完成的,如果你改变了中断向量表,则实验箱的监控程序将无法工作,更不用说调试软硬件了,所以实验也就无法完成了。
5. 硬件实验:取出实验箱,连接好串行通信电缆和实验箱电源,根据实验内容,在实验箱中连接好设计用的电路,将实验箱电源打开,打开计算机电源启动计算机,启动实验集成环境,编制输入实验用程序,汇编程序、连接程序、将程序装载如实验箱,调试程序的运行并记录实验箱内实验指示部件的状态。
按与启动实验相反的次序,关闭各个实验部件,将实验室内实验所使用的物品放归原处,清洁、整理实验室。对实验结果进行分析,写出实验报告。
41