38.什么是中断优先级?中断优先级处理的原则是什么?
答:通常,在系统中有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情况。这就要求计算机既能区分各个中断源的请求,又能确定首先为哪一个中断源服务。为了解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。
中断优先级处理的原则是:当两个或者两个以上的中断源同时提出中断请求时,计算机首先为优先权最高的中断源服务,服务结束后,再响应级别较低的中断源。
39.中断响应过程中,为什么通常要保护现场?如何保护?
答:因为一般主程序和中断服务程序都可能会用到累加器、PSW寄存器和其他一些寄存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱。因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序前再恢复现场。
保护现场的一般方法是把累加器、PSW寄存器及其他一些与主程序有关的寄存器压入堆栈。在保护现场和恢复现场时,为了不使现场数据受到破坏或者造成混乱,一般规定此时CPU不响应新的中断请求。这就要求在编写中断服务程序时,注意在保护现场前要关中断,在恢复现场后要开中断。如果在中断处理时允许有更高级的中断打断它,在保护现场之后要再开中断,恢复现场之前关中断。
40.在80C51的ROM中,应如何安排程序区?
答:主程序一般从0030H开始,主程序后一般是子程序及中断服务程序。 中断源 中断矢量地址 INT0 0003H T0 000BH INT1 0013H T1 001BH 串行接口 0023H
41.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
答:如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:外部中断0的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行: ORG 0003H LJMP INTOP
42.简述子程序调用和执行中断服务程序的异同点。
答:相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点:
(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
(2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。
(3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。
43.80C51定时器有哪几种工作模式?有何区别?
答:有模式0,模式1,模式2,模式3。
(1)模式0:选择定时器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF0进位,并申请中断。
定时时间t=(213-初值)*振荡周期*12;计数长度为213=8192个外部脉冲。 (2)模式1:与模式0的唯一区别是寄存器TH与TL以全部16位参与操作。
21
定时时间t=(216-初值)*振荡周期*12;计数长度为216=65536个外部脉冲。
(3)模式2:把TL0与TL1配置成一个可以自动重装载的8位定时器/计数器。TL用作8位计数器,TH用以保存初值。TL计数器溢出是不仅使TF0置1,而且还自动将TH中的内容装载到TL中。
定时时间t=(28-初值)*振荡周期*12;计数长度为256个外部脉冲。 (4)模式3:对T0和T1不大相同。
若T0设为模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。 TH0仅用于作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1的控制。 定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为模式0~2。
44.定时器方式2有什么特点?适用于什么应用场合?
答:(1) 方式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。
(2) 用于定时工作方式时间(TF0溢出周期)为T=(28-TH0初值)×振荡周期×12,用于计数工作方式时,最大记数长度(TH0初值=0)为28=256个外部脉冲。这种工作模式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串行波特率发生器。
45.定时器用作定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?
答:定时时间与定时器的工作模式,初值及振荡周期有关。作计数器时对外界计数频率要求最高为机器振荡频率的1/24。
46.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)
答:定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H,TMOD的值是00000001B,TH0=13H;TL0=88H。
47.串行数据传送的主要优点和用途是什么?
答:串行数据传送是将数据按位进行传送的方式。其主要优点是所需的传送线根数少,对于远距离数据传送的情况,采用串行方式是比较经济的。所以窜行方式主要用于计算机与远程终端之间的数据传送。
48.简述80C51串行接口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。当向SBUF发“写”命令时(执行“MOV SBUF,A“指令),即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位T1=1。在满足串行接口接收中断标志位RI(SCON。)=0的条件下,置允许接收位REN(SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过80C51内部总线送CPU。
49.80C51串行接口有几种工作方式?
答:80C51串行接口有四种工作方式;方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
50.简述80C51串行接口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。当向SBUF发“写”命令时(执行“MOV SBUF,A”指令),即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4) =1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过80C51内部总线送CPU。
51.80C51中SCON的SM2、TB8、RB8有何作用?
答:80C51中SCON的SM2是多机通信控制位,主要用于方式2和方式3。若置SM2=1,则允许多机通信。
22
TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需求有软件置位或复位。它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。
RB8是接收数据的第9位,在方式2或方式3中,接收到的第9位数据放在RB8位。它或是约定的奇/偶校验位,或是约定的地址/数据标识位。
52.简述单片机多机通信的原理。
答:当一片80C51主机与多片从机通信时,所有从机的SM2位置1。主机首先发送的一帧数据为地址,即某从机机号,其中第9位1,所有的接收到数据后,将其中第9位装入RB8中。各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1,说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,只有被寻址的目标从机清除SM2(SM2=0),以接收主机发来的一帧数据(点对点通信)。其他从机仍然保持SM2=1。
53.串行通信的总线标准是什么?有哪些内容?
答:美国电子工业协会(EIA)正式公布的串行总线接口标准有RS—232C、RS—422、RS—423和RS—485等。在异步串行通信中应用最广的标准总线是RS—232C。它包括了按位串行传输的电气和机械方面的规定,如适用范围、信号特性、接口信号及引脚说明等,适用于短距离(<15m)或带调制解调器的通信场合。采用RS—422、RS—485标准时,通信距离可达1000m。
54.简述单片机系统扩展的基本原则和实现方法。
答:(1)以P0口作地址/数据总线,此地址总线是系统的低8位地址线。(2)以P2口的口线作高位地址线。(不固定为8位,需要几位就从P2口引出几条口线。)(3)控制信号线:
①、使用ALE作为地址锁存的选通信号,以实现低8位地址线。 ②、以 PSEN信号作为扩展程序存储器的读选通信号。 ③、以EA信号作为外程序存储器的选择信号。
④、以RD和WR作为扩展数据存储器和I/O端口的读写选通信号,执行MOVX指令时,这两个信号分别自动有效。
55.简述80C51单片机的片内并行接口的作用。
答:1、连接负载;2、做通用I/O口;3、做数据/地址总线使用;4、对接口进行位操作。
56.写出TCON、TM0D、SCON、PSW、IE 等特殊功能寄存器的名称。
答:TCON 定时/计数器 控制寄存器 TM0D 定时/计数器方式控制寄存 SCON 串行通信控制寄存器 PSW 程序状态字寄存器 IE 中断允许寄存器
57.80C51单片机有哪几个并行I/O端口?各I/O口有什么特性?
答:80C51单片机有4个8位双向的并行I/O口P0~P3,每一个口都由口锁存器(D触发器)、输出驱动器(FET)和输入缓冲器(3态门)组成。各口每一位I/O线都能独立地用作输入或输出,CPU对口的读操作有两种,一种是读取口锁存器的状态,另一种是读取口引脚状态。但这4个并行I/O口的结构和功能却完全不同,它们各自的特性如下:
P0口为三态双向I/O口(开漏输出,内部无上拉电阻)。P0口可以作为一般I/O口,也可作为系统扩展的地址/数据总线口。 P1口为准双向I/O口(内部有上拉电阻)。用作外部引脚输入时,相应位的口锁存器必须为“1”,使输出驱动器FET截止。 P2口为准双向I/O口(内部有上拉电阻)。P2口可以像P1口一样用作一般I/O口使用,也可以作为系统扩展的地址总线口, P3口也是准双向I/O口(内部有上拉电阻),且具有两个功能。作为第一功能使用时,与P1口一样用作一般I/O口。
58.试说明非编码键盘的工作原理。如何去键抖动?如何判断是否释放?
答:(1)非编码键盘是靠软件识别的键盘。根据系统中按键数目的多少来选择不同的键盘结构。键数少时,可采用独立式按键结构;当键数多时
23
可采用行列式按键结构。无论采用什么结构,都是通过单片机对它控制,因此可有三种控制方式:程序控制扫描方式、定时扫描方式及中断扫描方式。以行列式非编码键盘,采用程序控制扫描方式为例,其工作原理为:首先判断键盘上有无键按下,若有键按下则去键的机械抖动影响,然后逐列(行)扫描,判别闭合键的键号,再判别键是否释放,如果键释放则按键号处理相应程序。
(2)当判断有键按下时,执行5ms~10ms的延时程序后再判断键盘的状态。如果仍为键按下状态,则认为确实有一个键按下;否则按照键抖动处理。
(3)判断键是否释放时,先判断键是否仍为闭合状态,如果为是,则执行5ms~10ms延时程序后再判断键直到键释放,以便达到对键的一次闭合仅作一次处理。
59.什么是D/A转换器?简述T形电阻网络转换器的工作原理。
答:在计算机控制的实时控制系统中,有时被控对象需要用模拟量来控制,模拟量是连续变化的电量。此时,就需要将数字量转换为相应的模拟量,以便操纵控制对象。这一过程即为“数/模转换”D/A(Digit to Analog)。能实现D/A转换的期间称为D/A转换器或DAC。
一个二进制数是由各位代码组合起来的,每位代码都有一定的权。为了将数字量转换成模拟量,应将每一位代码按权大小转换成响应的模拟输出分量,然后根据叠加原理将各代码对应的模拟输出分量相加,其综合就是与数字量成正比的模拟量,由此完成D/A转换。
为实现上述D/A转换,需要使用解码网络。解码网络的主要形式有二进制权电阻解码网络和T形电阻解码网络。
T形电阻网络整个电路是有相同的电路环节所组成的,每节有二个电阻(R和2R)、一个开关,相当于二进制数的一位,开关由该位的代码所控制。由于电阻接成T形解码网络。此电路采用了分流原理实现对输入为数字量的转换。
60.波特率、比特率和数据传送速率的含意各是什么?
答:在数据通信中,描述数据传送速度的方式有3种:
(1)波特率——每秒传送多少个信号码元(或每秒信号码元变换的总个数),单位是波特(Bd)。 (2)比特率——每秒传送多少个二进制位(或每秒传送二进制码元的个数),单位是b/s。
(3)数据传送速率(或字符传送速率)——每秒传送多少个字符(或单位时间内平均数据传移速率),单位是字符/秒。
五.编程题
3.内部RAM 40H和41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM 2000H单元中。
参考答案:
ORG 0000H
LJMP START ORG 30H
START: MOV A,40H ANL A,#0FH SWAP A
MOV R0,A MOV A,41H ANL A,#0FH ORL A,R0
MOV DPTR,#2000H MOVX @DPTR,A END
4.将存放在内部RAM 20H-2FH单元的压缩型BCD码(高位在前)转换成相应的ASCII码,依次存放到外部RAM 1000H开始的单元区中。
参考答案:
24
相关推荐: