单片机原理及应用课后习题参考答案1~6章 下载本文

NOP NOP NOP

;1 ;1 ;1 ;1 ;2 ;2 ;2

LOOP: NOP

DJNZ R7,LOOP DJNZ R6,LOOP RET

延时周期数为1+(5*data2+5)*data1+2,选择最合适的data1和data2 Data1=200,data2=99,延时机器周期数为10003个,延时

4-17 利用查表技术将累加器A中的一位BCD码转换成相应的十进制数的七段码,结果仍放在A中(设显示管0~9的七段码分别是40H,79H,24H,30H,19H,12H,02H,78H,00H,1BH)。

SUB1: INC A

RET

DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,1BH

4-18 试编一采用查表法求1~20的二次方数的子程序。要求:X在累加器A中,1≤X≤20,二次方高位存放在R6中,低位存放在R7中。

SUB: MOV DPTR,#0100H

MOV R0,A ADD A,R0 MOV R0,A MOVC A,@A+DPTR MOV R7,A INC DPTR MOV A,R0 MOVC A,@A+DPTR MOV R6,A RET ORG 102H

DB 01H,00H,04H,00H,09H,00H,10H,00H,19H,00H DB 24H,00H,31H,00H,40H,00H,51H,00H,64H,00H DB 79H,00H,90H,00H,0A9H,00H,0C4H,00H,0E1H,00H DB 00H,01H,21H,01H,44H,01H,69H,01H,90H,01H

MOVC A,@A+PC

第五章 MCS-51单片机中断系统

5-1 MCS-51单片机的中断系统由哪些功能部件组成?分别有什么作用? 答:51单片机的中断系统由与中断有关的特殊功能寄存器(中断允许控制寄存器IE、中断优先等控制寄存器IP、定时器/计数器控制寄存器TCON、T2CON、串行口控制寄存器SCON)和6个中断源(2个外部中断源INT0[]、INT1[],3个定时器/计数器中断源T0[]、T1[]、T2[]),1个串行接口中断源(RXD[]接收数据中断、TXDp[]发送数据中断)组成。

中断允许控制寄存器IE由七个控制位构成,其中D7位EA是所有中断的总开关,若EA=1,CPU中断允许,EA=0时,CPU屏蔽一切中断请求。其余6位D5~D0分别控制6个中断源,置1为允许申请中断,清0为禁止申请中断。其字节地址是A8H,位地址是A8H~ADH和AFH,每位都可由软件来置1或清0。

中断优先等控制寄存器IP用于设置每个中断的优先级,该寄存器由6个控制位构成(D5~D1)分别控制每个中断源的优先级,置1为高优先级,置0为低优先级。其位地址为B8H~BDH,每位都可由软件来置1或清0。

定时器/计数器控制寄存器TCON字节地址88H,其位地址88H~8FH,除D6和D4位用于控制定时器/计数器0、1启停外,其余6位分二组分别控制定时器/计数器0、1的中断信号方式(IT0/IT1),外部中断请求标志位(IE0/IE1)、溢出标志位(TF0/TF1)、T2CON字节地址为C8H,可按位寻址,但只有2位(D7和D6位)用作中断控制,当T2EX(脚)的负跳变有效时T2的硬件置D6位EXF2()=1,tm CPU申请中断。当T2计数溢出时由硬件置D7(TF2,)=1,向CPU申请中断。

串行口控制寄存器SCON字节地址为98H,其位地址98H~ 9FH。与中断有关的只有D0位和D1位。串行口发送了一帧信息,便由硬件置TI=1,向CPU申请中断。串行口接收一邓一帧信息,便由硬件置RI=1,向CPU申请中断。

5-2 MCS-51系列单片机能提供几个中断源? 答:MCS-51系列单片机能提供6个中断源,。

5-3 MCS-51单片机的中断系统中有几个优先级?如何设定?

MCS-51单片机有2个中断优先级。各个中断源的优先级是由特殊功能寄存

器IP来确定,IP中和各个中断源对应位为1时,此中断源为高优先级,否则为低优先级。在同一优先级中,各个中断源的优先顺序是由自然优先级来确定的。

5-4 CPU响应中断有哪条件?在什么情况下中断响应会受阻?

答:CPU响应中断的基本条件有以下三个:①有中断源提出中断请求。②中断总允许位EA=1,即CPU开放中断。③申请中断的中断源的中断允许位(ET2、ES、ET1、EX1、ET0、EX0)为1,即没有被屏蔽。

在中断源提出中断申请后,有二种情况可以使中断受阻:①中断允许寄存器IE中对应于有中断请求的控制位为0,屏蔽了中断请求,即CPU没无法收到中断请求。②中断允许寄存器IE的D7位(EA位)为0,即CPU没有开放中断响应。

CPU正在处理同等级或高等级中断时,CPU将在处理完该中断并返回执行一条指令后才响应新中断请求。

现行的机器周期不是所执行指令的最后一个机器周期。 正在执行的指令是RETI或访问IE、IP指令。 5-5 简述MCS-51系列单片机的中断响应过程。

答:MCS-51系列单片机的中断响应过程是按照以下顺序执行的:开中断→中断请求→中断判断→中断响应→中断返回。

5-6 MCS-51单片机中断响应时间是否固定?为什么?

答:MCS-51单片机中断响应时间不固定,因为当中断源向CPU提出中断请求时,CPU正在执行的指令的指令周期是不一样的,一般情况下中断响应时间在3~8个机器周期之间。当然如果中断到来时是在处理同级或高级中断服务程序中,则响应时间就无法估计了。

5-7 MCS-51中若要扩充8个中断源,可采用哪些方法?如何确定优先级? 答:一般可采取中断加查询方式,软件先查询到的为高优先级,最后查询到的为低优先级。

5-8 8031芯片的INT0、INT1引脚分别输入压力超限、温度超限中断请求信号,定时器/计数器0作定时检测的实时时钟,用户规定的中断优先权排队次序为:压力超限→温度超限→定时检测。要求确定IE、IP的内容,以实现上述要

求。

答:IE设87H,IP设05H。

第六章 MCS-51单片机定时器/计数器

6-1 MCS-51单片机内部设有几个定时器/计数器?它们是由哪些专用寄存器组成的?

设有3个定时器/计数器T0、T1、T2。

它们由特殊功能寄存器工作方式寄存器TMOD(字节地址89H,不能按位寻址,用来控制T0和T1的工作方式),TCON控制寄存器(字节地址88H,位地址88H~8FH ,用高4位控制定时器/计数器0、1的启、停,和作溢出标志位),定时器/计数器2的控制寄存器T2CON(其字节址C8H,位地址C8H~CFH)组成,各定时器/计数器还有1个16位工作寄存器(TL0[8AH]、TH0[8CH]、TL1[8BH]、TH1[8DH]、TL2[CCH]、TH2[CDH],T2还有二字节特殊功能寄存器RLDL[CAH]和RLDH[CBH])。

6-2 MCS-51单片机的定时器/计数器有哪几种工作方式?各有什么特点? 答:MCS-51定时器/计数器有0,1,2,3四种工作模式。模式0为13位1定时器/计数器,模式1为16位1定时器/计数器,模式2为自动赋初值的8位定时器/计数器,模式3可以增加一个8位定时器(T1没有模式3)。

6-3 MCS-51定时器作定时和计数时其计数脉冲分别由谁提供?

答:MCS-51定时器作定时器时,输入的记数脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器可看作是对单片机机器周期的计数器。8051定时器作计数器时,则对外部事件进行计数。

6-4 8051定时器的门控信号GATE设置为1时,定时器如何启动? 答:8051定时器的门控信号GATE为1时,通常先设置TR0或TR1为1,将T0或T1的启动控制权交由INT0或。当INT0(或)引脚为高电平时,相应的T0或T1才能选通工作。

6-5 定时器/计数器用作定时时,其定时时间与哪些因素有关?作计数器