当前位置:   article > 正文

单片机练习题2_at89s52单片机运行时程序出现“跑飞”或陷入“死循环”时,说明利用看门狗来摆脱困

at89s52单片机运行时程序出现“跑飞”或陷入“死循环”时,说明利用看门狗来摆脱困

一、填空

1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为        答:2µs

2. AT89S51单片机的机器周期等于        个时钟振荡周期。答:12

3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为               答:28H,88H

4. 片内字节地址为2AH单元最低位的位地址是         ;片内字节地址为A8H单元的最低位的位地址为         答:50H,A8H

5. 若A中的内容为63H,那么,P标志位的值为         答:0

6. AT89S51单片机复位后,R4所对应的存储单元的地址为        ,因上电时PSW=        。这时当前的工作寄存器区是         组工作寄存器区。答:04H,00H,0。

7. 内部RAM中,可作为工作寄存器区的单元地址为        H~        H。答:00H,1FH

8. 通过堆栈操作实现子程序调用时,首先要把         的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到           ,先弹出的是原来          中的内容。答:PC, PC,PCH

9. AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51单片机的PC是16位的,因此其寻址的范围为         KB。答:64

10. AT89S51单片机复位时,P0~P3口的各引脚为        电平。答:高

11. AT89S51单片机使用片外振荡器作为时钟信号时,引脚XTAL1接        ,引脚XTAL2的接法是          。答:片外振荡器的输出信号,悬空

12. AT89S51单片机复位时,堆栈指针SP中的内容为           ,程序指针PC中的内容为          。答:07H,0000H

二、单选

1. 程序在运行中,当前PC的值是        

    A.当前正在执行指令的前一条指令的地址      B.当前正在执行指令的地址。

    C.当前正在执行指令的下一条指令的首地址    D.控制器中指令寄存器的地址。

答:C

2. 判断下列哪一种说法是正确的?

    A.PC是一个可寻址的寄存器            B.单片机的主频越高,其运算速度越快。

C.AT89S51单片机中的一个机器周期为1µs  

D.特殊功能寄存器SP内存放的是堆栈栈顶单元的内容。

答: B

三、简答

1. AT89S51单片机片内都集成了哪些功能部件?

答:集成了如下部件:1个CPU;128个数据存储器(RAM)单元 ;8K Flash程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P3口); 1个全双工串行口;3个16位定时器/计数器; 1个看门狗定时器;一个中断系统,6个中断源,2个优先级;32个特殊功能寄存器(SFR)。

2. AT89S51单片机有哪两种低功耗节电模式?说明两种低功耗节电模式的异同。

答:AT89S51单片机有两种低功耗节电工作模式:空闲模式(idle mode)和掉电模式(power down mode)。

空闲模式下,虽然振荡器仍然运行,但是CPU进入空闲状态。此时,片内所有外围电路(中断系统、串行口和定时器)仍继续工作,SP、PC、PSW、A、P0~P3端口等所有其他寄存器,以及内部RAM和SFR中的内容均保持进入空闲模式前的状态。因为CPU耗电量通常要占芯片耗电的80%~90%,因此CPU停止工作则会大大降低功耗。

掉电模式下,振荡器停止工作。由于没有了时钟信号,内部的所有部件均停止工作,但片内的RAM和SFR的原来内容都被保留,有关端口的输出状态值都保存在对应的特殊功能寄存器中。

3. AT89S51单片机运行时程序出现“跑飞”或陷入“死循环’时,说明如何利用看门狗来摆脱困境的工作原理。 

答:可采用看门狗定时器。工作原理如下:

“看门狗”技术就是使用一个“看门狗”定时器来对系统时钟不断计数,监视程序的运行。当看门狗定时器启动运行后,为防止看门狗定时器的不必要溢出而引起单片机的非正常的复位,应定期地把看门狗定时器清0,以保证看门狗定时器不溢出。

当由于干扰,使单片机程序“跑飞”或陷入“死循环”时,单片机也就不能正常运行程序来定时地把看门狗定时器清0,当看门狗定时器计满溢出时,将在AT89S52的RST引脚上输出一个正脉冲(宽度为98个时钟周期),使单片机复位,在系统的复位入口0000H处重新开始执行主程序,从而使程序摆脱 “跑飞”或“死循环”状态,让单片机归复于正常的工作状态。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/857102
推荐阅读
相关标签
  

闽ICP备14008679号