资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
一、 填空题
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、 KeiL C51软件中, 工程文件的扩展名是____ .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、 Double B、 short C、 integer D、 Char
9、 片内RAM的20H~2FH为位寻址区, 所包含的位地址是( B )。
A、 00H~20H B、 00H~7FH C、 20H~2FH D、 00H~FFH
10、 以下能正确定义一维数组的选项是( B ) 。
A、 int a[2,5]={0,1,2,3,4,5}; B、 char a[ ]={0,1,2,3,4,5};
C、 char a={'A','B','C'}; D、 int a[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、 REN B、 RI C、 REN和RI D、 TR
14、 存储16×16点阵的一个汉字信息, 需要的字节数为( A )
A、 32 B、 64 C、 128 D、 256
15、 设MCS-51单片机晶振频率为12MHz, 定时器作计数器使用时, 其最高的输入计数频率应为( B )
A、 2MHz B、 1MHz C、 500kHz D、 250kHz
16、 利用下列( D ) 关键字能够改变工作寄存器组
A、 interrupt B、 sfr
C、 while D、 using
17、 C51中一般指针变量占用( c )字节存储。
A、 一个 B、 两个 C、 三个 D、 四个
18、 使用宏来访问绝对地址时, 一般需包含的库文件是( b )
A、 reg51.h B、 absacc.h C、 intrins.h D、 startup.h
19、 单片机的定时器/计数器工作方式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μs B、 4μs C、 8μs D、 1ms
27、 以下选项中可作为C语言合法常量的是( A )
A、 -80 B、 -080 C、 -8e1.0 D、 -80.0e
28、 能够用紫外光擦除ROM中程序的只读存储器称为( C )。
A、 掩膜ROM B、 PROM C、 EPROM D、 EEPROM
29、 以下不能定义为用户标识符是( D ) 。
A、 Main B、 _0 C、 _int D、 sizeof
30、 下选项中, 不能作为合法常量的是( B ) 。
A、 1.234e04 B、 1.234e0.4 C、 1.234e+4 D、 1.234e0
31、 存储16×16点阵的一个汉字信息, 需要的字节数为( D )
A、 32 B、 64 C、 128 D、 256
32、 以下选项中合法的字符常量是( D )
A、 "B" B、 ’\010’ C、 68 D、 D
33、 设MCS-51单片机晶振频率为12MHz, 定时器作计数器使用时, 其最高的输入计数频率应为( B )
A、 2MHz B、 1MHz C、 500kHz D、 250kHz
34、 下列数据字定义的数表中, ( D )是错误的。
A、 DW ”AA” B、 DW ”A” C、 DW ”OABC” D、 DW OABCH
三、 判断题
( √╳ ) 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 <reg51.h>与#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;
展开阅读全文