[键入文字]
断点,寻找中断源;
(3) 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);
(4) 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC, 从而转入相应的中断服务程序。
(5)中断返回,程序返回断点处继续执行。
31.MCS-51的中断服务程序能否存放在64KB程序存储器的任意区域?如何实现? 解:
可以。在相应的中断源的中断程序入口地址处,用一条长跳转指令(LJMP Add16),转到相应64K程序存储器的任意地址(Add16)处,执行相应的中断程序。
习题4
9. 扩展外部存储器时要加锁存器74LS373,其作用是( A )。
A:锁存寻址单元的低八位地址 B:锁存寻址单元的数据
C:锁存寻址单元的高八位地址 D:锁存相关的控制和选择信号
16. MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突? 解:
程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于数据存储器的读和写由RD和WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突,并且,访问二者的指令也不同。因此,两者虽然共处于同一地址空间,但由于控制信号和访问指令不同,所以不会发生总线冲突。
17.某一单片机应用系统,需扩展4KB的EPROM和2KB的RAM,还需外扩一片8255并行接口芯片,采用线选法,画出硬件连接图,并指出各芯片的地址范围。 解:
硬件连接图如下图所示。
图 4.17题硬件连接电路图
注:8255的复位线RESET应与MCS-51的RESET线连上。复位、晶振电路应画上。 各芯片的地址范围为:
2732:E000H~EFFFH 6116:D800H~DFFFH 8255:BFFCH~BFFFH 20.8255A有几种工作方式?如何选择工作方式?A口和B口的工作方式是否完全相同?解:
8255A有3种工作方式:方式0、方式1和方式2。 ① 方式0(基本输入/输出方式)。这种方式不需要任何选通信号,适合于无条件传输数据的设备,数据输出有锁存功能,数据输入有缓冲(无锁存)功能。
② 方式1(选通输入/输出方式)。这种工作方式下,A组包括A口和C口的高四位(PC7~
[键入文字]
PC4),A口可由程序设定为输入口或输出口,C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低四位(PC3~PC0),功能和A组相同。
③ 方式2(双向I/O口方式)。仅A口有这种工作方式,B口无此工作方式。此方式下,A口为8位双向I/O口,C口的PC7~PC3用来作为输入输出的控制和同步信号。此时,B口可以工作在方式0或方式1。
21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。 解:
程序如下:
ORG 0000H LJMP START ORG 0030H
START:MOV SP, #60H
MOV DPTR,#7F03H MOV A,#10010100B MOVX @DPTR,A SJMP $
END
习题5
18.A/D转换器ADC0809的编程要点是什么? 解:
在软件编写时,应根据硬件连接电路计算被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;转换结束后,执行一条输入指令,读取A/D转换结果。
可以采用延时、查询和中断的方法判别A/D转换结束 。 19.在什么情况下要使用D/A转换器的双缓冲方式?试以DAC0832为例画出双缓冲方式的接口电路。 解:
(1)应设置D/A转换器的双缓冲方式的情况
有些D/A转换器(如DAC0832)的内部具有两极缓冲结构,即芯片内有一个8位输入寄存器和一个8位DAC寄存器。
这样的双缓冲结构,可以使DAC转换输出前一个数据的同时,将下一个数据传送到8位输入寄存器,以提高D/A转换的速度。更重要的是,能够使多个D/A转换器在分时输入数据后,同时输出模拟电压。
(2)D/A转换器DAC0832的双缓冲方式的接口电路如图5.19所示。
图5.19 DAC0832双缓冲连接电路图
20.用单片机控制外部系统时,为什么要进行A/D和D/A转换? 解:
单片机只能处理数字形式的信息,但是在实际工程中大量遇到的是连续变化的物理量,如温
[键入文字]
度、压力、流量、光通量、位移量以及连续变化的电压、电流等。对于非电信号的物理量,必须先由传感器进行检测,并且转换为电信号,然后经过放大器放大为OV~5V电平的模拟量。所以必须加接模拟通道接口,以实现模拟量和数字量之间的转换。A/D(模/数)转换就是把输入的模拟量变为数字量,供单片机处理;而D/A(数/模)转换就是将单片机处理后的数字量转换为模拟量输出。
习题6
5.显示器和键盘在单片机应用系统中的作用是什么? 解:
具有人机对话功能。实现人对应用系统的状态干预和数据输入以及应用系统向人报告运行和运行结果。
12.矩阵式键盘的编程要点是什么? 解:
(1)判断键盘上有无键按下:列输出全0,读行输入状态,若状态为全1,则说明键盘无键按下;若不全为1,则说明键盘有按下。
(2)消除按键抖动的影响:在判断有键按下后,用软件延时的方法,再判断键盘状态,如果仍为有键按下状态,则认为有一个确定的键按下,否则当作按键抖动处理。
(3)求按键位置,计算键号:用扫描的方法识别闭合键N所在的行号X和列号Y,并根据:以下公式计算闭合键的键号N =X行首键号+列号Y。
(4)键闭合一次仅进行一次按键处理:方法是等待按键释放之后,再进行按键功能的处理操作。
习题7
1.简述单片机应用系统设计的一般方法及步骤。 解:
单片机应用系统设计的一般方法及步骤如图7.1所示。 (1)明确设计任务 (2)器件选择 (3)总体设计
[键入文字]