周国运版51单片机课后习题答案(5)

2019-03-16 20:35

32.在Keill C的调试状态下,如何设置断点和删除断点?

答:方法1:用鼠标双击。在需要设置的行的最前面,双击鼠标左键,即可设置或清除断点。

方法2:用命令或命令按钮。先将光标移到需要设置的行,然后点击Debug菜单下的Insert/Remove Breakpoint命令或工具栏中的相应按钮,即可设置或清除断点。

另外还有断点禁用和全部清除命令及按钮。

33.在Keill C的调试状态下,如何观察和修改寄存器?

答:寄存器窗口、在线帮助窗口和工程管理器是同一个窗口,在工程管理器窗口下包含3个标签,即包含3个区域。在调试状态下,点击View菜单下的Project Window命令或对应的按钮,就会显示或隐藏工程管理器窗口,然后点击窗口下边的寄存器标签,即显示出寄存器窗口。

除了sec和states之外,其它寄存器的值都可以改变。改变的方式有两种:一是用鼠标直接点击左键进行修改;二是在调试命令窗口直接输入寄存器的值,如输入“A=0x32”,则寄存器A的值立即显示0x32。

34.在Keill C的调试状态下,如何观察和修改变量?

答:在调试状态下,点击View菜单下的Watch & Call Stack Window命令或对应的按钮,就会显示出或隐藏起变量窗口。变量窗口包含有4个标签,即4个显示区,可以分别显示局部变量(Locals标签)、指定变量(Watch #1和Watch #2两个标签)、及堆栈调用(Call Stack标签)。

在局部变量区,显示的是当前函数中的变量,这些变量不用设置,自动出现在窗口中。为了观察其它变量,可以在Watch#1或Watch#2标签按F2输入变量名。在程序运行中,可以观察这些显示的变量的变化,也可以用鼠标点击修改它们的值。

另外还有更简单的方法观察变量的值,在程序停止运行时,将光标放到要观察的变量上停大约1秒,就会出现对应变量的当前值,如operate=0x32。

35.在Keill C的调试状态下,如何观察和修改data区、idata区、xdata区的数据?如何观察code区的数据?

答:在调试状态下,点击View菜单下的Memory Window命令或对应的按钮,就会显示出或隐藏起存储器窗口。存储器窗口包含4个标签,即4个显示区,分别是Memory#1、?、Memory#4。

在4个显示区上边的“Address”栏输入不同类型的地址,可以观察不同的存储区域。

1)设置观察片内RAM直接寻址的data区,在Address栏输入D:xx(xx为十六进制的两位数,下同),便显示从xx地址开始的数据。高128字节显示的是特殊功能寄存器的内容。

2)设置观察片内RAM间接寻址的idata区,在Address栏输入I:xx,便显示从xx地址开始的数据。高128字节显示的也是数据区的内容,而不是特殊功能寄存器的内容。

3)设置观察片外RAM xdata区,在Address栏输入X:xxxx,便显示从xxxx地址开始的数据。

21

4)设置观察程序存储器ROM code区,在Address栏输入C:xxxx,便显示从xxxx地址开始的程序代码。

在显示区域中,默认的显示形式为十六进制的字节。

除了程序存储器中的数据不能修改之外,其它3个区域的数据均可修改。修改方法是,用鼠标对准欲修改的单元,点击鼠标右键,在弹出的菜单中对Modify Memory at 0x?命令点击鼠标左键,会弹出的文本输入栏输入数据,然后用鼠标左键点击“OK”即可。

36.在Keill C的调试状态下,如何观察各个片内外设的运行状态?如何修改它们的设置?

答:在调试状态下,点击Peripherals菜单下的不同外设选项命令,就会显示或隐藏对应外设的观察窗口。如显示定时器0窗口,点击Peripherals菜单下的Timer下面的Timer0选项,便会显示出定时器/计数器0状态窗口。

在程序运行时,各个片内外设的状态会不断地变化,为了随时观察它们的变化,可以启用View菜单下的Periodic Windows Update命令,让Keil C自动周期刷新各个调试窗口。另外,也可以在窗口中对设备直接进行设置,与程序中的命令设置一样,并且立即生效。

第5章 习题答案

1.什么是中断和中断系统?计算机采用中断系统带来了哪些优越性? 答:当CPU当CPU正在处理某事件的时候,外部或者内部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件后,再返回到原来被中止的地方继续原来的工作,这样的过程称为中断。

1.CPU与外设同步工作 2.实时处理 3.故障处理

2.MCS-51共有几个中断源?各中断标志是如何产生的,又如何清零的?CPU响应中断时,中断入口地址各是多少?

答:MCS-51共有5个中断源。各中断标志是通过中断请求产生的,通过指令或硬件清零的。CPU响应中断时,中断入口地址各是03H,0BH,13H,1BH,23H。

3.编写一段对中断系统那个初始化的程序,使之允许INT0、INT1、T1、串行口中断,且使串行口中断为高优先级。 EX0=1; EX1=1; ET1=1; ES=1; EA=1; PS=1;

4.什么是中断优先级?什么是中断嵌套?处理中断优先级的原则是?

答:中断响应的优先次序是中断优先级。当一个中断处理的过程中又响应了更高优先级的中断是中断嵌套。处理中断优先级的原则是先高级中断,后低级中断。

22

同级的按自然优先级排序。

5.MCS-51在什么情况下可以响应中断?中断响应的过程是? 答:响应中断的条件 (1)中断源有中断请求; (2)中断总允许位EA=1;

(3)请求中断的中断源的中断允许位为1; 在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。 (1)CPU正在执行一个同级或高优先级的中断服务程序。 (2)正在执行的指令尚未执行完。

(3)正在执行中断返回指令 RETI或者对专用寄存器IE、IP进行读/写的指令。CPU在执行完上述指令之后,要再执行一条指令,才能响应中断请求。

中断请求被响应后,有内部长调用(LCALL)将程序转向对应的中断矢量地址,执行执行中断服务程序。

6.中断响应过程中,为什么通常要保护现场?如何保护和哪些信息要进行保护? 答:因为中断服务程序会用到寄存器和存储器的数据会被覆盖,而中断是要返回的,所以通常要保护现场。方法是把要保护的内容压入到堆栈。

7.MCS-51的ROM中,应如何安排程序区?

答:程序区从00H到32H的存储区依次存放主程序入口和各中断服务程序的入口。

8.外部中断触发方式有几种?它们的特点是什么?

答:外部中断触发方式有2种。它们的特点是低电平触发方式,边沿触发方式,上一个机器周期检测为高电平,接下来的下一个机器周期为低电平。

9.中断系统的初始化一般包括哪些内容?

答:开相应中断允许,开总中断允许,设置中断优先级。

10.中断响应的时间是否使确定不变的?为什么?在实际以用中应如何考虑这一因素?

答:中断响应的时间不是确定不变的。因为中断发生的位置是不确定的。在实际应用中对实时性要求高的场合要考虑这一因素,合理安排程序。

11.在中断请求有效并开中断的状况下,能否保证立即响应中断?有什么条件? 答:在中断请求有效并开中断的状况下,不能保证立即响应中断。如果要立即响应中断必须是当前指令的最后周期,没有同级或更高级中断发生,下一条指令不是 RETI或者对专用寄存器IE、IP进行读/写的指令。

12.中断服务程序与普通子程序有什么根本的区别? 答:中断服务程序是随机发生的,结束后要返回断点。 普通子程序是安排好的,没有断点。

13.为什么要用RETI指令结束中断服务程序?RETI指令的功能是什么?为什么

23

不用RET指令作为中断服务程序的返回指令?

答:中断服务程序返回指令RETI,除了具有“RET”指令的功能外,还将开放中断逻辑的作用。

14.哪些中断源的中断请求标志位是由硬件自动复位的?哪些中断的中断请求标志必须通过软件编程进行复位?

答:外部中断和定时器中断是由硬件自动复位的。串行口中断的中断请求标志必须通过软件编程进行复位。

第6章 习题答案

1. MCS-51单片机内部有几个定时器/计数器,有几种工作方式?

答:89C52内部有3个定时器/计数器,定时器0有4种工作方式,定时器1有3种工作方式,定时器2有4种工作方式。

2.定时器/计时器用作定时器用时,其定时时间和哪些因素有关?作计数器时,对外界计数频率有何限制?

答:定时器的定时时间和单片机的振荡频率和定时初值有关。做计数器时候,其外界计数频率最大不能超过Fosc/12。

3. MCS-51单片机的定时器/计数器的定时和计数两种功能各有什么特点? 答:定时是对时钟脉冲进行计数。 计数是对外部计数脉冲进行计数。

4.MCS-51单片机的T0、T1定时器/计数器四种工作方式各有什么特点? 答:方式0:13位计数模式。 方式1:16位计数模式。

方式2:8位自动重装入计数模式。 方式3:只有T0有的双8位计数模式。

5.根据定时器/计数器0方式1逻辑结构图,分析门控位GATE取不同值时,启动定时器的工作过程。

答:当GATE=0:软件启动定时器,即用指令使TCON中的TR0置1即可启动定时器0。

GATE=1:软件和硬件共同启动定时器,即用指令使TCON中的TR0置1时,只有外部中断INT0引脚输入高电平时才能启动定时器0。 6.当定时器/计数器的加1计数器计满溢出时, 溢出标志位TF1由硬件自动置1,简述对该标志位的两种处理方法。

答:一种是以中断方式工作,即TF1置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF1置1后必须用软件使TF1清0。

7.设MCS-51单片机fosc=12MHz,要求T0定时150μs,分别计算采用定时方式0、方式1和方式2时的定时初值。

24

答:方式0的定时初值:IF6AH 方式1的定时初值:FF6AH 方式2的定时初值:6AH

8. 设MCS-51单片机fosc=6MHz,问单片机处于不同的工作方式时,最大定时范围是多少?

答:方式0的最大定时范围:131,072μs 方式1的最大定时范围:16,384μs 方式2的最大定时范围:512μs

9.设MCS-51的单片机晶振为6MHZ,使用T1对外部事件进行计数,每计数200次后,T1转为定时工作方式,定时5ms后,又转为计数方式,如此反复的工作,试编程实现。 答:

#include bit F0=0; void main() {

TMOD=0x60; TL1=56; TH1=56; TR1=1; ET1=1; EA =1; While(1); }

void serve() interrupt 3 {

if (!F0)

{ TMOD=0x10; TL1=63036; TH1=63036/16; F0=~F0; } else

{

TMOD=0x60;

TL1=56; TH1=56;

F0=~F0; } }

10. 用方式0设计两个不同频率的方波,P1.0输出频率为200Hz,P1.1输出频

25


周国运版51单片机课后习题答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:米易县精英保安公司白马选矿厂分队

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: