《单片机原理及应用》期末复习题1.docx
《《单片机原理及应用》期末复习题1.docx》由会员分享,可在线阅读,更多相关《《单片机原理及应用》期末复习题1.docx(23页珍藏版)》请在冰点文库上搜索。
《单片机原理及应用》期末复习题1
一、填空题
1、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为2/12us,机器周期为2us。
2、MCS-51单片机共有5个中断源,由IE寄存器设定中断的开放
和禁止;
每个中断源有两个优先级,由IP寄存器设定。
3、单片机的内部RAM区中,可以位寻址的地址范围是
20H~2FH,特殊功能寄存器中,可位寻址的地址是
80H~FFH。
4、MSC-51单片机引脚信号中,信号名称带上划线的表示可外接电路或低电平时该信号有效;
5、函数是C语言的基本单位。
6、若由程序设定RS1、RS0=0、1,则工作寄存器R0~R7的直接地址为
08H~0FH。
7、串行口通信方式2接收到的第9位数据送SCON寄存器的RB8位中保存。
8、MCS-51内部提供2个可编程的16位定时/计数器,定时器有4种工作方式。
9、在C51中,变量的数据类型说明为bit,则其取值范围是0或
1。
10、串行口方式3发送的第9位数据要事先写入SCON寄存器的RB8位。
11、MCS—51单片机外部中断请求信号有电平方式和脉冲方式,在电平方式下,当采集到
P3.2或P3.3引脚的有效信号为低电平时,激活外部中断。
12、CPU又称MPU,一般由运算器和控制器两部分组成。
13、使用DPTR作间址指针进行寄存器间接寻址时,其寻址能力为所有存
储器。
14、整型变量的占用的存储空间是两个字节;字符型变量占用的存储空间是一个字节
15、ALU指的是算术/逻辑单元。
16、MCS-51单片机的中断源分别是外部中断0、定时/计数器
0、外部中断1、定时/计数器1、串行口接收/发送中断。
17、KeiLC51软件中,工程文件的扩展名是.Uv2,编译连接后生成可烧写的文件扩展名是_.hex
二、选择题
1、C语言中最简单的数据类型包括(
B/D
)。
A、整型、实型、逻辑型
B、整型、实型、字符型
C、整型、字符型、逻辑型
符型
D、整型、实型、逻辑型、字
2、下列描述中正确的是(D)。
A、程序就是软件B、软件开发不受计
算机系统的限制
C、软件既是逻辑实体,又是物理实体D、软件是程序、数据与相关文档的集合3、下列计算机语言中,CPU能直接识别的是(D)。
A、自然语言B、高级语言C、汇编语言D、机器语言
4、MCS-5l单片机的堆栈区是设置在(C)中。
A、片内ROM区B、片外ROM区C、片内RAM区D、片外RAM区5、以下叙述中正确的是(C)。
A、用C语言实现的算法必须要有输入和输出操作
B、用C语言实现的算法可以没有输出但必须要有输入C、用C程序实现的算法可以没有输入但必须要有输出D、用C程序实现的算法可以既没有输入也没有输出6、定时器/计数器工作方式1是(D)。
A、8位计数器结构B、2个8位计数器结构C、13位计数结构D、16位计数结构
8、C语言提供的合法的数据类型关键字是(D)。
A、DoubleB、shortC、
integerD、Char
9、片内RAM的20H~2FH为位寻址区,所包含的位地址是(B)。
A、00H~20HB、00H~7FHC、20H~2FHD、00H~FFH
10、以下能正确定义一维数组的选项是(B)。
A、inta[2,5]={0,1,2,3,4,5};B、char
a[]={0,1,2,3,4,5};
C、chara={'A','B','C'};D、inta[5]="0123";
11、MCS-51单片机的复位信号是(A)有效。
A、高电平B、低电平C、脉冲D、下降沿
12、8051的单片机的堆栈指针(D)A、只能位于内部RAM低128字节范围内B、可位于内部RAM低256字节范围内C、可位于内部ERRAM内。
D、可位于内部RAM或外部RAM内
13、在串行口工作于异步通信方式时,其接收由(C)来启动。
A、RENB、RIC、REN和RID、TR
14、存储16×16点阵的一个汉字信息,需要的字节数为(A)
A、32B、64C、128
D、256
15、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(B)
A、2MHzB、1MHzC、500kHzD、250kHz
16、利用下列(D)关键字可以改变工作寄存器组
A、interruptB、sfr
C、whileD、using
17、C51中一般指针变量占用(c)字节存储。
A、一个B、两个C、三个D、四个18、使用宏来访问绝对地址时,一般需包含的库文件是(b)
A、reg51.hB、absacc.hC、intrins.hD、startup.h19、单片机的定时器/计数器工作方式1是(D)。
A、8位计数器结构B、2个8位计
数器结构
C、13位计数结构D、16位计数结构
20、串行口每一次传送(C)字符。
A、1个B、1串C、1
帧D、1波特
21、数据的存储结构是指(D)。
A、存储在外存中的数据B、数据所占的存储空间量C、数据在计算机中的顺序存储方式D、数据的逻辑结构在计算机中的表示22、下列关于栈的描述中错误的是(C)。
A、栈是先进后出的线性表B、栈只能顺序存储
C、栈具有记忆作用D、对栈的插入和删除操作中,不需要改变栈底指针
23、在寄存器间接寻址方式中,间址寄存器中存放的数据是(B)。
A、参与操作的数据B、操作数的地址值
C、程序的转换地址D、指令的操作码
24、MCS-51单片机的复位信号是(A)有效。
A、高电平B、低电平C、脉
冲D、下降沿
25、为了使模块尽可能独立,要求(A)。
A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
26、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过(4)。
A、2μsB、4μsC、
8μsD、1ms
27、以下选项中可作为C语言合法常量的是(A)
A、-80B、-080C、-8e1.0D、-80.0e
28、能够用紫外光擦除ROM中程序的只读存储器称为(C)。
A、掩膜ROMB、PROMC、EPROMD、EEPROM
29、以下不能定义为用户标识符是(D)。
A、MainB、_0C、
_intD、sizeof
30、下选项中,不能作为合法常量的是(B)。
A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0
31、存储16×16点阵的一个汉字信息,需要的字节数为(D)
A、32B、64C、
128D、256
32、以下选项中合法的字符常量是(D)
A、"B"B、’010’C、
68D、D
33、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(B)
A、2MHzB、1MHzC、500kHzD、
250kHz
34、下列数据字定义的数表中,(D)是错误的。
A、DW“AA”B、DW“A”C、DW“OAB”C
三、判断题
D、DWOABCH
(√╳)1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。
(√)2、自动变量属于局部变量。
(√)3、Continue和break都可用来实现循环体的中止。
(╳)4、在MCS-51系统中,一个机器周期等于1.5μs。
(√)5、若一个函数的返回类型为void,则表示其没有返回值。
(√)6、所有定义在主函数之前的函数无需进行声明。
(√)7、定时器与计数器的工作原理均是对输入脉冲进行计数。
(√)8、END表示指令执行到此结束。
(╳)9、MCS-51的相对转移指令最大负跳距是127B。
(╳)10、MCS-51的程序存储器只是用来存放程序的。
(√)11、TMOD中的GATE=1时,表示由两个信号控制定时器的的启停。
(╳)12、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(√)13、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。
(√)14.寄存器间接寻址可以访问数据存储器,也可以访问程序存储器。
(√)15.在C51中,将数据的存储类型说明为data,则该数据映射的存储空间为片内位寻址空间。
(╳)16.MCS—51属于16位的单片机。
(╳)17.基址加变址寻址只能访问程序存储器。
(√)18.位地址和字节地址在形式上没有区别。
(√)19.如果x=0xEA,则执行x<<2后,x的值为0xA8。
(√)20.在MCS—51的指令系统中,地址分为字节地址和位地址。
(╳)21.汇编语言指令就是指能被CPU直接执行的指令。
(√)22.在MCS—51的指令系统中,伪指令、指令都是在程序执行的时候起作用。
(╳)23、(R7)表示工作寄存器R7中的内容。
(√)24、若一个函数的返回类型为void,则表示其没有返回值。
(√)25、定时器与计数器的工作原理均是对输入脉冲进行计数。
(√)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单片机的中断服务函数时需要使用关键字interruptm进行定义。
参数m可以取那些值?
分别表示何种意义?
解:
m可以去0~4,相应对应各个中断,0为外部中断0,1为定时器/计数器0,2
外部中断1,3为定时器/计数器1,4为串行口接收/发送中断。
5.什么是指令周期、机器周期和震荡周期?
解:
指令周期为单片机执行一条指令的时间,机器周期为单片机执行一条最简单的指令需要的时间,震荡周期为石英震荡器震荡一次的时间。
6.在C51中,存储器类型有几种,它们分别表示的存储器区域是什么?
解:
片内数据存储器,片外程序存储器,片外数据存储器。
片内数据存储器由00H~FFH;
片外程序存储器由0000H~FFFF;H
片外数据存储器由0000H~FFFF;H7.简述动态局部变量和静态局部变量的区别。
解:
静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,且静态局部变量只对定义自己的函数体始终可见。
动态局部变量也只有局部作用域,它是自动对象(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=6MH,Z要求T1定时10ms,选择方式0,装入时间初值后T1计数器自启动。
计算时间初值X=?
并填入TMO、DTCON和TH1、TL1的值?
解:
fOSC=6MH,Z一个机器周期为2us;方式0的最大定时是8192*2=16384us;10ms=(8192-X)*12/fosc;X=3192;
TMOD=0x0;0TCON=0x4;0TH1=0x0c;TL1=0x78;
一、填空题
IE=0x88;
1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。
2.AT89S51单片机的1个机器周期含有12个晶振周期或6状态周期。
3.AT89S51单片机进行扩展时,用P0口作为地址/数据总线,用P2口作为地址总线高8位。
二、单项选择题
1.AT89S51单片机的(d)口的引脚,还具有外中断、串行通信等第二功能。
a)P0b)P1c)P2d)P32.单片机应用程序一般存放在(b)
a)RAMb)ROMc)寄存器d)CPU
3.已知某数的BCD码为0111010101000010则其表示的十进制数值为(b)
a)7542Hb)7542c)75.42Hd)75.42
4.下列指令中不影响标志位CY的指令有(d)。
a)ADDA,20Hb)CLRc)RRCAd)INCA
5.CPU主要的组成部部分为(a)
a)运算器、控制器b)加法器、寄存器
c)运算器、寄存器d)运算器、指令译码器
6.AT89S51的CPU是(c)位的单片机
a)16b)4
c)8d)准16
7.当需要从AT89S51单片机程序存储器取数据时,采用的指令为(b)。
a)MOVA,@R1b)MOVCA,@A+DPTRc)MOVXA,@R0d)MOVXA,@DPTR
8.AT89S51单片机中既可位寻址又可字节寻址的单元是(a)
a)20Hb)30Hc)00Hd)70H9.下列哪条指令是正确的(d)
a)PUSHR2b)ADDR0,Ac)MOVXA@DPTRd)MOV@R0,A
11.要使累加器A的高4位置为0000,低4位不变,以下指令正确的是B。
(A)ANLA,#0F0H(B)ANLA,#0FH(C)ORLA,#0F0H(D)ORLA,#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片626(4
(A)1(B)2(C)4(D)8
8K×8bit)。
15.若单片机当前正在执行高优先级的中断服务,则以下能响应的中断是D。
(A)高优先级中断(B)同优先级中断(C)低优先级中断(D)以上都不能响应
16.键盘的软件消除键抖动是通过C来实现的。
(A)加滤波器(B)中断(C)延时(D)加RS触发器
三、写出实现下列各要求的指令或程序段
1、将80H单元中的内容与数据4FH相比较,相等返回,不相等将80H单元置FFH返回。
MOVA,80H
42H单元中的内容各为多少?
(
5分)
MOVA,50H
;(A)=40H
MOVR0,A
;(R0)=40H
MOVA,#00H
;(A)=0
MOV@R0,A
;(40H)=0
MOVA,#3BH
;(A)=3BH
MOV41H,A
;(41H)=3BH
MOV42H,41H
;(42H)=3BH
5、将外部数据存储器3000H开始100个存储单元的内容存入3070开始的存储单元(9分)
MOVDPTR#3000HMOVP2,#30H
MOVR1,#70HMOVR5,#100
L1:
MOVXA,@DPTR
MOVX@R1,AINCR1
INCDPTRDJNZR5,L1RET
四、读程序填空
1.CLRC
MOVA,4DHSUBBA,,4EH
MOV30H,AMOVA,7FH
SUBBA,2BH
MOV31H,ASJMP$
(1)该程序的功能是:
两个16位数的减法:
(7F4DH)-(2B4EH),结果存入内部RAM的30H和31H单元,31H单元存差的高8位,30H单元存差的低8位
(2)若(4DH)=06H,(4EH)=05H,(7FH)=0AH,(2BH)=01H
则执行上述程序后(30H)=01H。
(31H)=09H。
2.START:
MOVR0,#40HMOVR7,#04H
MOVA,@R0LOOP:
INCR0
MOV50H,@R0
CJNEA,50H,NEXTNEXT:
JNCBIE1
MOVA,50H
BIE1:
DJNZR7,LOOPMOV30H,A
RET
(1)该程序的功能是:
求出40H—44H中最大的无符号数,并将最大数存入30H中
(2)设(40H)=12H,(41H)=22H,(42H)=6EH,(43H)=5AH,(44H)=8AH,
填写程序执行后的结果,(30H)=8AH。
3.已知(30H)=49H,(31H)=2BH,(32H)=0A3H,执行以下程序:
MOVR7,#4
RR0:
MOVR6,#3CLRC
MOVR0,#30HRR1:
MOVA,@R0RRCA
MOV@R0,AINCR0
DJNZR6,RR1
DJNZR7,RR0RET
从该程序可看出这段程序的功能是:
将内RAM中30H~32H的内容右移4位
执行后结果:
(30H)=04H,(31H)=92H,(32H)=0BAH。
(3分)
4、已知(A)=58H,(30H)=7FH,(P1)=EAH,执行下列程序:
MOVSP,#40HPUSHA
PUSH30H
MOVA,P1MOV30H,APOP30H
POPA
执行后结果:
(SP)=40H,(A)=58H,(30H)=7FH,(41H)=58H。
五、根据题意,按要求答题。
1.AT98S51单片机P1口上接8只发光二极管(高电平亮,低电平灭),若晶振频率是12MHz,用定时/计数器T0以工作方式1工作,使8只发光二极管每1S单循环点亮。
(1)计算定时初值,写出过程
(2)根据相关注释,填写程序
(3)
答:
(1)定时初值:
(216-X)×1μS=50mSX=216-50000
=15536
(2)MOV
TMOD,#01H
;设T0工作方式
MOV
DPTR,#15536
;置定时初值50mS
MOV
TH0,DP