《单片机原理及应用》期末复习题1 联系客服

发布时间 : 星期三 文章《单片机原理及应用》期末复习题1更新完毕开始阅读c3dbbdd016fc700aba68fcb1

( √ )26、SFR中凡是能被8整除的地址,都具有位寻址能力。 ( √ )27、不能用“sfr16” 直接访问定时器/计数器0和1。 ( ╳ )28、MCS-51单片机的程序存储器只能用来存放程序的。 ( ╳ )29、串口中断标志由硬件清0。

( √ )30、特殊功能寄存器的名字,在C51程序中,全部大写。 ( √ )31、“sfr”后面的地址可以用带有运算的表达式来表示。

( √ )32、#include 与#include “reg51.h”是等价的。 ( ╳ )33、sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。

四、简答题

1、在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么? 解:1、配置定时器/计数器的工作方式。 2、给THi和TLi赋初值。 3、启动定时/计数器。

4、打开定时/计数器中断标志。 5、打开总中断。 2、在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率? 解:如果有串行通信时,定时器/计数器1的作用是控制波特率。 串行口的波特率是有定时器1的溢出率决定的。

3.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义? 解:51系列单片机具有5个中断源。

外部中断0、1是由EXi外部中断标志位,ITi中断触发方式和EA总中断决定。

定时器/计数器0、1是由TMOD工作方式控制器,THi和TLi初始值控制器,TRi定时/计数器开关,ETi定时/计数器中断标志位和EA总中断决定。

串行口接收/发送中断是由SCON串行口控制寄存器,定时/计数器的波特率设置决定。

51系列单片机的5个中断源都可以被定义为高优先级。只要在IP中断优先级控制寄存器的相应位控制就可以!如:串行口优先级:PS置1,串口通信就是高优先级,反之为低优先级。

4.在C51语言中,定义MSC-51单片机的中断服务函数时需要使用关键字interrupt m 进行定义。参数m可以取那些值?分别表示何种意义? 解:m可以去0~4,相应对应各个中断,0为外部中断0,1为定时器/计数器0,2外部中断1,3为定时器/计数器1,4为串行口接收/发送中断。

5. 什么是指令周期、机器周期和震荡周期? 解:指令周期为单片机执行一条指令的时间,机器周期为单片机执行一条最简单的指令需要的时间,震荡周期为石英震荡器震荡一次的时间。

6.在C51中,存储器类型有几种,它们分别表示的存储器区域是什么? 解:片内数据存储器,片外程序存储器,片外数据存储器。 片内数据存储器由00H~FFH; 片外程序存储器由0000H~FFFFH;

片外数据存储器由0000H~FFFFH;

7.简述动态局部变量和静态局部变量的区别。

解:静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,且静态局部变量只对定义自己的函数体始终可见。 动态局部变量也只有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。

8. MSC—51单片机指令系统中有哪几种寻址方式?

解:1、立即寻址,2、直接寻址,3、寄存器寻址,4、寄存器间接寻址,5、变址寻址,6、相对寻址,7、位寻址。

五、计算题

1已知一单片机系统的外接晶体振荡器的振荡频率为12MHz,请计算该单片机系统的拍节P、状态S、机器周期所对应的时间是多少?指令周期中的单字节双周期指令的执行时间是多少?

解:时钟周期=1/12MHZ=0.0833us;

因为一个机器周期可分为12个时钟周期,一个状态周期可分为2个时钟周期,两个时钟周期可分为2个节拍。

所以1个节拍P的时间=时钟周期=0.0833us,1个状态S的时间=2*时钟周期=0.167us;

1个机器周期=12*时钟周期=1us;

指令周期中得单字节指令的执行时间是一个机器周期=1us;1个双字节指令的执行时间是两个时钟周期=2us;

2、51单片机,当fosc=6MHz和fosc=12MHz时,最大定时各为多少?

解:当fosc=6MHz时;一个机器周期为2us;定时器的最大定时数为65536; 时间T=65536*2us=131072us=0.131072s;

当fosc=12MHz时;一个机器周期为1us;定时器的最大定时数为65536; 时间T=65536*1us=65536us=0.065536s;

3、若fOSC=6MHZ,要求T1定时10ms,选择方式0,装入时间初值后T1计数器自启动。计算时间初值X=?并填入TMOD、TCON和TH1、TL1的值?

解:fOSC=6MHZ,一个机器周期为2us;方式0的最大定时是8192*2=16384us; 10ms=(8192-X)*12/fosc;X=3192; TMOD=0x00;TCON=0x40;IE=0x88; TH1=0x0c;TL1=0x78;

一、填空题

1.相对寻址是以 PC 的当前值为基准,加上指令中给出的相对 偏移量 形成目标地址的方式。

2.AT89S51单片机的1个机器周期含有 12 个晶振周期或 6 状态周期。

3.AT89S51单片机进行扩展时,用 P0 口作为地址/数据总线,用 P2 口作为地址总线高8位。

4.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把 程序存储器1031H单元的内容送累加器A中 5. 指令格式是由 操作码 和 操作数 部分组成。

6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是 TI 和 RI 7. JNC rel指令执行时,当CY位为 0 时程序发生跳转。

8. 单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元

的地址应该是 22H 。

9.外部中断0的中断入口地址为 0003H ,定时/记数器T1的中断入口地址为

001BH 。

10.串行口工作方式2为 9位异步通信,若SMOD=0,f OSC = 6 MHZ ,则其相应波特率为

6×106/64 b/s

11.堆栈应遵循 先进后出 规律,堆栈指针的符号为 SP 12、程序计数器PC存放的是 下一条要执行指令的地址 ; 13、指令MOVX A, @DPTR的寻址方式是 寄存器间接寻址 :

14、MCS-51访问ROM、片内RAM、片外RAM的指令助记符分别为 MOVC 、

MOV和 MOVX 。

15、机器字长为8位,则[—10]原 = 8AH ,[-10]反 = F5H ,[-

10]补 = F6H 。

16、已经累加器A = 97H,则执行指令ADD A, #7DH后,A = 14H ,C =

1 ,OV = 0 ,AC = 1 。

二、单项选择题

1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。

a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在( b )

a)RAM b)ROM c)寄存器 d)CPU

3.已知某数的BCD码为0111010101000010 则其表示的十进制数值为( b )

a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有( d )。

a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为( a ) a)运算器、控制器 b)加法器、寄存器

c)运算器、寄存器 d)运算器、指令译码器 6.AT89S51 的CPU是( c )位的单片机

a) 16 b)4 c)8 d)准16

7.当需要从AT89S51单片机程序存储器取数据时,采用的指令为( b )。

a)MOV A, @R1 b)MOVC A, @A + DPTR c)MOVX A, @ R0 d)MOVX A, @ DPTR 8.AT89S51单片机中既可位寻址又可字节寻址的单元是( a )

a)20H b)30H c)00H d)70H 9.下列哪条指令是正确的( d )

a) PUSH R2 b) ADD R0, A c) MOVX A @DPTR d) MOV @R0, A

11.要使累加器A的高4位置为0000,低4位不变,以下指令正确的是 B 。 (A)ANL A, #0F0H (B)ANL A, #0FH

(C)ORL A, #0F0H (D)ORL A, #0FH

12. 利用串行口工作方式1进行异步串行通信,当其波特率为4800bps,每秒最多能传送 A 个字符。 (A)480

(B)960

(C)4800

(D)9600

13. C51中,要编写一个中断函数,则必须在函数名后加 B 修饰符。 (A)void

(B)interrupt

(C)using

(D)unsigned

14. 51系列单片机系统中需扩展32KByte的片外RAM,则需要 C 片6264(8K×8bit)。 (A)1

(B)2

(C)4

(D)8

15. 若单片机当前正在执行高优先级的中断服务,则以下能响应的中断是 D 。 (A)高优先级中断 (B)同优先级中断 (C)低优先级中断 (D)以上都不能响应 16. 键盘的软件消除键抖动是通过 C 来实现的。 (A)加滤波器

(B)中断

(C)延时

(D)加RS触发器

三、写出实现下列各要求的指令或程序段

1、将80H单元中的内容与数据4FH相比较,相等返回,不相等将80H单元置FFH返回。 MOV A,80H