单片机期末考试复习指南
前言
发现很多人都写了单片机原理及接口技术课后习题的答案,但是也就只写了答案而已,可能是他们觉得太简单的缘故吧,我这里对此进行一下我近段时间复习的总结,本篇博客只展示选择题、填空题和判断题的答案,仅供参考,如果有错误还希望大佬能够指出。
题目来源:单片机原理及接口技术(C51编程)(第3版)张毅刚
相关链接
单片机C51复习题(课后习题及答案)_程序存储器的最大寻址范围有多少个中断源-CSDN博客https://blog.csdn.net/weixin_45813438/article/details/131283863
第一章
一、填空
- 除了单片机这一名称之外,单片机还可以称为嵌入式控制器或微控制器。
- 单片机与普通微型计算机的不同之处在于其将CPU、存储器和I/O口3部分,通过内部总线连接在一起,集成在一块芯片上。
- AT89S51单片机工作频率上限为33MHz。AT89C51单片机工作频率上限为24MHz。
- 专用单片机已使系统结构最简化,软硬件资源利用最优化,从而大大降低成本和提高可靠性。
二、单选
1.
单片机内部数据之所以用二进制形式表示,主要是
B
A.为了编程方便 B.受器件的物理性能限制
C.为了通用性 D.为了提高运算速度
2.
在家用电器中使用单片机应属于微计算机的
B
。
A.辅助设计应用 B.测量、控制应用
C.数值计算应用 D.数据处理应用
3.
下面的哪一项应用,
不属于
单片机的应用范围
C
。
A.
工业控制 B.家用电器的控制
C.数据库管理
D.汽车电子设备
三、判断对错
1.
STC
系列单片机是
8051
内核的单片机。
√
2.
AT89S
5
2
与
AT89S
5
1
相比,片内多出了
4
K
B
的
Flash
程序存储
器
、128B
的
RAM、1
个
中
断 源
、
1
个定时器(且具有捕捉功能
)。
√
3.
单片机是一种
CPU。
×
分析:单片机是微控制器MCU,集成了CPU。
4.
AT89S52
单片机是
微处理器
。
×
分析:“微控制器”
5.
AT89
S
51
片内的
Flash
程序存储器可在线写入(ISP
)
,而
AT89C52
则不能。
√
6.
为
AT89C51
单片机设计的应用系统板,可将芯片
AT89C51
直接用芯片
AT89S51
替换。
√
7.
为
A
T
89S51
单片机设计的应用系统板,可将芯片
AT89S51
直接用芯片
AT89S52
替换。
√
8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是 DSP的长处。√ 分析:DSP:Digital Signal Processor 数字信号处理器
第二章
一、填空
1.
在
AT89S51
单片机中,如果采用
6MHz
晶振,一个机器周期为
2µs
。
分析:机器周期=12/fosc=12/6=2.周期的单位是us,频率的单位是MHz。这个也好理解,先把频率求一个倒数然后根据第二题的机器周期等于 12个时钟振荡周期,就可以得到公式了。
2.
AT89S51
单片机的机器周期等于
12
个时钟振荡周期。
3.
内
部
R
A
M
中,
位
地
址
为
40
H
、
8
8
H
的
位
,
该
位
所
在
字节
的
字节
地址
分
别
为
28H和88H。
分析:片内RAM区地址20H~2FH,特殊功能寄存器区80H~FFH。一个是可以查表,还有一个可以直接计算,(40H/8)+20H=28H,因为一个字节是有8位,然后首地址是从20H开始。
4.片内字节地址为 2AH 单元最低位的位地址是50H;片内字节地址为 A8H 单元的最低 位的位地址为A8H。分析:这个就是第三题反过来。
5.若 A 中的内容为 63H,那么,P 标志位的值为0。分析:P标志位是奇偶标志位,把63H写成二进制就知道了。
6.
AT89S
5
1
单片机复位后
,
R4
所对应的存储单元的地址为
04H
,
因上电时
PSW=
00H
。 这时当前的工作寄存器区
是
0
组工作寄存器区。
分析:这个R我一直没搞懂是什么,后面在书上找到是表示寄存器,一共有8个寄存器R0~R7,所以R4就是04H。
7.
内部
RAM
中,可作为工作寄存器区的单元地址为
00
H~
1F
H。
分析:4组通用工作寄存器区。
8.
通
过
堆栈
操
作实
现
子程
序
调
用
时
,首
先要
把
PC
的
内
容
入
栈,
以
进行
断
点保
护。
调 用子程序返回指令时
,
再进行出栈保护
,
把保护的断点送
回到
PC
,先弹出的是原来
PC
中的内容。
分析:这个后面好多是PCH,我也不知道为什么,但是他们都这样写,我在书上没看到,有知道小伙伴可以在评论区留言。
9.
AT8
9
S
5
1
单片
机
程序
存
储器
的
寻址
范
围是由
程
序计数
器
P
C
的
位
数所
决
定
的
,
因
为
A
T8
9
S5
1
单 片机的
PC
是
16
位的,因此其寻址的范围为
64
KB。
分析:这个就是书上有说明的,PC是16位,可以最多表示2的n次方个的地址,计算机以一个字节为寻址单位,所以就是65536B=64KB,不是65536bit!!!
10.
AT89S51
单片机复位时
,P0
~
P3
口的各引脚为
高
电平。
11.
AT89S51
单片机使用片外振荡器作为时钟信号时,引脚
XTAL1
接
外部时钟振荡器信号
,引脚
XTAL2
的接法是
悬空
。
AT89S51 单片机复位时,堆栈指针 SP 中的内容为07H,程序指针 PC 中的内容为0000H。
分析:就是书上的概念,堆栈实际上从08H单元开始。
二、单选
1.程序在运行中,当前 PC 的值是 C
A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。
C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。
2.判断下列哪一种说法是正确的? BC
A.PC 是一个可寻址的寄存器
B.单片机的主频越高,其运算速度越快。
C.AT89S51 单片机中的一个机器周期为 1µs
D.特殊功能寄存器 SP 内存放的是堆栈栈顶单元的内容。
分析:参考答案是B,又是单选题,但是C选项感觉也是对的,机器周期是1µs可以计算出他的晶振频率是12MHz,所以是我计算错了?还是单片机不能为12MHz?我们已知AT89S51单片机的工作频率上限是33HMz。A选项,用户不能直接使用指令对PC进行读写。D选项,存放堆栈顶部在内部RAM块中的位置。
三、判断对错
1.使用 AT89S51 单片机且引脚EA =1 时,仍可外扩 64KB 的程序存储器。× 分析:超过4KB Flash转向读取片外60KB。
2.
区分片
外
程序存
储
器和片外
数
据存储
器的
最可靠的
方
法是看
其位
于地址范
围
的
低端还是 高端。
×
分析:观察连线,PSEN是片外程序存储器,RD和WR是片外数据存储器。
3.
在
AT89S
5
1
单片机中,为使准双向的
I/O
口工作在输入方式,必须事先预置为
1。
√
4.
PC
可以看成是程序存储器的地址指针。
√
5.
AT89S
5
1
单片机中特殊功能寄存器(SFR)使用片内
RAM
的部份字节地址。
√
6.
片内
RAM
的位寻址区,只能供位寻址使用,而不能进行字节寻址。
×
分析:可以进行字节寻址。
7.
AT89S
5
1
单片机共有
26
个特殊功能寄
存器,它们的位都是可以用软件设置的,因此,都 是可以位寻址的。
×
分析:字节地址的末位是0H或8H才可以进行位寻址。
8.
堆栈区是单片机内部的一个特殊区域,与
RAM
无关。
×
分析:堆栈区00H~7FH
9.
AT89S51
单片机进入空闲模式,CPU
停止工作。片内的外围电路(如中断系统、串行口和 定时器)仍将继续工作。
√
10.
AT89S51
单片机不论是进入空闲模式还是掉电运行模式后,片内
RAM
和
SFR
中的内容均 保持原来的状态。
√
11.
AT89S51
单片机进入掉电运行模式
,
CPU
和片内的外围电
路
(如中断系统
、
串行
口和定时 器)均停止工作。
√
12.AT89S51
单片机的掉电运行模式可采用响应中断方式来退出。
√
第三章
一、填空
1.
与汇
编
语言
相
比
,
C51
语言具
有
可读性好
、
可移植性好
、
模块化开发与资源共享
、
生成的代码效率较高
等优
点。
2.
C51
语言头文件包括的内容有
8051
单片机
片内的外设硬件资源
,
以及
相应的特殊功能寄存器
的说明
。
3.
C51
提供了两种不同的数据存储类型
xdata
和
pdata
来访问片外数据存储区。
4.
C51
提供了
code
存储类型来访问
程序储存区
。
5.
对于
SMALL
存储模式,所有变量都默认位于
8051
单片机
内部的数据存储
。
6.
C51
用
“*”
和“&”
运算符来提取指针变量
的
内容
和变量的
地址
。
二、判断对错
1.C51 语言处理单片机的中断是由专门的中断函数来处理的。√
2.在 C51 语言中,函数是一个完成一定相关功能的执行代码段,它与另外两个名词“子程序 ”和“过程”用来描述同样的事情。√
3.在 C51 语言编程中,编写中断服务函数时需要考虑如何进行现场保护、阻断其他中断、 返回时自动恢复现场等处理的程序段的编写。× 分析:C51编译器在编译时自动添加。
4.全局变量是在某一函数中存在的变量,它只在该函数内部有效。× 分析:全局变量在整个源文件中都存在。
5.全局变量可使用 static 关键词进行定义,由于全局变量一直存在,占用了大量的内存单 元,且加大了程序的耦合性,不利于程序的移植或复用。√
6.绝对地址包含头文件
absacc.h
定义了几个宏,用来确定各类存储空间的绝对地址。
√
第五章
一、填空
1.AT89S51 单片机任何一个端口要想获得较大的驱动能力,要采用低电平输出。
2.检测开关处于闭合状态还是打开状态,只需把开关一端接到 I/O 端口的引脚上,另一端接 地,然后通过检测I/O端口引脚的电平来实现。
3.“8”字型的 LED 数码管如果不包括小数点段共计7段,每一段对应一个发光二极 管,有共阳极和共阴极两种。
4.对于共阴极带有小数点段的数码管,显示字符“6”(a 段对应段码的最低位)的段码为7DH,对于共阳极带有小数点段的数码管,显示字符“3”的段码为B0H。 分析:这个就是画那个图就行了,首先确定是共阳极还是共阴极,然后最上方是a然后一个顺时针,一共有七段,最低位表示是a段,最高位是表示他的是共阳极还是共阴极,假设是共阴极最高位就是0,然后七段对应0就是灭,1就是亮,6的段码就是0111 1101(7DH),同理可以求出3的段码。
5.已知8段共阳极LED数码显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示 的字符为d。 分析:这种题型写出一个就行了。
6.LED 数码管静态显示方式的优点是:显示无闪烁,亮度较高,软件控制比较 容易,但是占用的I/0口线较多。
7.当显示的 LED 数码管位数较多时,一般采用动态显示方式,这样可以降低成本, 减少I/O端口的数目。
8.LCD 1602 是字符型液晶显示模块,在其显示字符时,只需将待显示字符的ASCII由 单片机写入 LCD 1602 的显示数据 RAM(DDRAM),内部控制电路就可将字符在 LCD 上显示出来。
9.LCD 1602 显示模块内除有80字节的显示数据RAM 外,还有64字节的自定 义字符RAM(CGRAM),用户可自行定义8个 5×7 点阵字符。
10.当按键数目少于8个时,应采用独立式键盘。当按键数目为64个时,应采用矩阵式键 盘。
11.使用并行接口方式连接键盘,对独立式键盘而言,8根I/O口线可以接8个按键,而 对矩阵式键盘而言,8根I/O口线最多可以接16个按键。 分析:矩阵键盘要想连接的按钮最多,设x,y,x+y=16,求max(xy)=?解出来就行了
12.LCD 1602 显示一个字符的操作过程为:首先 读忙标志位BE,然后写命令,随后写显示字符, 最后自动显示字符。
二、判断对错
1.P0 口作为总线端口使用时,它是一个双向口。√
2.P0 口作为通用 I/O 端口使用时,外部引脚必须接上拉电阻,因此它是一个准双向口。√
3.P1~P3 口作为输入端口用时,必须先向端口寄存器写入 1。√
4.P0~P3 口的驱动能力是相同的。× 分析:P1~P3口每一位的驱动能力只有P0口的一半。
5.当显示的 LED 数码管位数较多时,动态显示所占用的 I/O 口多,为节省 I/O 口与驱动电 路的数目,常采用静态扫描显示方式。× 分析:动态显示和静态显示说反了。
6.LED 数码管动态扫描显示电路只要控制好每位数码管点亮显示的时间,就可造成“多位 同时亮”的假象,达到多位 LED 数码管同时显示的效果。× 分析:控制每位数码管点亮的时间和间隔。
7.使用专用的键盘/显示器芯片, 可由芯片内部硬件扫描电路自动完成显示数据的扫描刷新 ,和键盘扫描。√
8.控制 LED 点阵显示器的显示,实质上就是控制加到行线和列线上的电平编码来控制点亮 某些发光二极管(点),从而显示出由不同发光的点组成的各种字符。√
9.16×16 点阵显示屏是由 4 个 4×4 的 LED 点阵显示器组成。× 分析:4个8*8的LED点阵
10.LCD 1602 液晶显示模块,可显示 2 行,每行 16 个字符。√ 分析:看1602。
11.HD7279 是可自动获取按下键盘按键的键号以及自动对 LED 数码管进行动态扫描显示用 于键盘/LED 数码管的专用接口芯片可,为并行接口芯片。×
12.LED 数码管的字型码是固定不变的。× 分析:有共阳极和共阴极
13.为给扫描法工作的 8×8 的非编码键盘提供接口电路,在接口电路中需要提供两个 8 位并
行的输入口和一个 8 位并行的输出口。×
14.LED 数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。√
15.动态显示的数码管,任一时刻只有一个 LED 数码管处于点亮状态,是 LED 的余辉与 人眼的“视觉暂留”造成数码管同时显示的“假象”。√
第六章
一、填空
1.
外部中断
1
的中断入口地址为
0013H
。定时器
T1
的中断入口地址为
001BH
。
2.
若(I
P
)
=0001010
0
B,则优先级最高者为
外部中断1
,最低者为
定时器T1
。
分析:IP是中断优先级寄存器,从地位到高位依次是外部中断0中断优先级控制位、定时器T0中断优先级控制位、外部中断1中断优先级控制位、定时器T1中断优先级控制位、串行口中断优先级控制位。所以外部中断1和串行口被设置为高优先级,考虑同级中断的查询顺序从高到低依次是外部中断0、T0溢出中断、外部中断1、T1溢出中断、串行口中断,所以外部中断1为优先级最高,最低就是定时器T1。
3.AT89S51 单片机响应中断后,产生长调用指令 LCALL,执行该指令的过程包括:首先把
PC
的内容压入堆栈,以进行断点保护,然后把长调用指令的
16
位地址送入
PC
,使程 序执行转向
程序存储器
中的中断地址区。
4.
AT89S51
单片机复位后,中断优先级最高的中断源是
外部中断0
。
5.
当
AT89S51
单片机响应中断后,必须用软件清除的中断请求标志是
串行中断
。
二、单选
1.
下列说法
错误
的是(
B
)。
A.
同一级别的中断请求按时间的先后顺序响应
B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应
C.
低优先级
中
断请求不能中断高优先级中断请求
,
但是高优先级中断请求能中断低优先 级中断请求
D.同级中断不能嵌套
分析:所有同级的中断都被阻止。
2.在
AT89S
5
1
的中断请求源中,需要外加电路实现中断撤销的是(
A
)
A.电平方式的外部中断请求
B.
跳
沿
方式的外部中断请求
C.外部串行中断
D.定时中断
分析:电平方式不加外电路就会维持低电平,串行中断要软件。
3.中断查询确认后,在下列各种 AT89S51 单片机运行情况下,能立即进行响应的是(
C)。 A.当前正在进行高优先级中断处理
B.当前正在执行
RETI
指令
C.当前指令是 MOV A,R3
D. 当前指令是
DIV
指令,且正处于取指令的机器周期
4.下列说法正确的是(
D)。
A.
各中断源发出的中断请求信号,都会标记在
AT89S51 的
IE
寄存器中
B.
各中断源发出的中断请求信号,都会标记在
AT89S51
的
TMOD
寄存器中
C.
各中断源发出的中断请求信号,都会标记在
AT89S51
的
IP
寄存器中
D.各中断源发出的中断请求信号,都会标记在AT89S51 的TCON、SCON 寄存器中
分析:IP:中断优先级寄存器,IE:中断允许寄存器,TMOD:定时器/计数器工作方式寄存器,SCON:串行口控制寄存器。
三、判断对错
1.定时器 T0 中断可以被外部中断 0 中断。√
2.必须有中断源发出中断请求,并且 CPU 开中断,CPU 才可能响应中断。 ×
3.AT89S51 单片机中的同级中断不能嵌套。√
4.同为高中断优先级,外部中断 0 能打断正在执行的外部中断 1 的中断服务程序。 × 分析:同级的中断被阻止。
5.中断服务子程序可以直接调用。× 分析:在任何情况下都不能直接调用中断函数。
6.在开中断的前提下,只要中断源发出中断请求,CPU 就会立刻响应中断。× 分析:和第四个原因一样。
第七章
一、填空
1.
如果采用晶振的频率为
3MHz,定时器/
计数器
T
x
(
x
=0,1)工作在方式
0、1、2
下,其方
式
0
的最大定时时间为
32.768ms
,
方式
1
的最大定时时间为
262.144ms
,
方式
2
的最大定时
时间为
1024us
。
分析:这个就是看定时器的位数,然后带入公式就行了,以方式0为例就是(8192-X)*12/晶体振荡器频率,要想定时时间最大,那X就取值为0,然后就可以求出最大定时时间了。
2.
定
时
器
/计
数
器
用
作计数
器
模式时
,外
部输入
的
计数脉
冲的
最高频
率
为系
统
时
钟
频
率
1/24
的
。
3.
定
时
器/
计
数器
用作
定时器
模
式时
,
其计
数
脉冲由
系统时钟信号12分频
后
提供
,定时
时
间与
定时器初值
有关。
4.
定时
器
/计数器
T1
测量某正单脉冲的宽度,采
用
方式1定时
方式可得到最大量程?若时钟 频率为
6MHz,
求允许测量的最大脉冲宽度为
131.072ms
。
分析:同理带入公式即可。
5.
定时器
T2 有
3
种
工作方式:
16位自动重装载
、
16位捕捉
和
波特率发生器
,可通过对寄存器
T2CON
中 的相关位进
行
软件设置来选择。
6.
AT89S5
2
单片
机
的
晶
振
为
6MH
z,
若
利用定
时
器
T
1的方
式
1定时
2m
s,
则
(
TH
1)
=
0xFC
,
(TL1)= 0x18。分析:这个已经计算过很多次了也是直接带公式最后换算成十六进制即可。
二、单选
1.定时器 T0 工作在方式 3 时,定时器 T1 有种C工作方式。
A.1 种 B.2 种 C.3 种 D.4 种
2. 定时器 T0、T1 工作于方式 1 时,其计数器为 B位。
A.8 位 B.16 位 C.14 位 D.13 位
3. 定时器 T0、T1 的 GATEx=1 时,其计数器是否计数的条件 C。
A. 仅取决于 TRx 状态
B. 仅取决于 GATE 位状态
C. 是由 TRx 和INT x 两个条件来共同控制
D. 仅取决于INT x 的状态
4. 定时器 T2 工作在自动重装载方式时,其计数器为D位。
A.8 位 B. 13 位 C.14 位 D. 16 位
5.要想测量INT 0 引脚上的正单脉冲的宽度,特殊功能寄存器 TMOD 的内容应为 B。
A.87H B. 09H C.80H D. 00H
分析:测量INT0设置低四位即可。
三、判断对错
1.下列关于 T0、T1 的哪些说法是正确的。A
A.特殊功能寄存器 SCON,与定时器/计数器的控制无关。
B.特殊功能寄存器 TCON,与定时器/计数器的控制无关。
C.特殊功能寄存器 IE,与定时器/计数器的控制无关。
D.特殊功能寄存器 TMOD,与定时器/计数器的控制无关。
分析:SCON是串行口控制寄存器。
2.定时器 T0、T1 对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持 续时间不小于 1 个机器周期。特殊功能寄存器 SCON 与定时器/计数器的控制无关。 × 分析:这个和第三题应该是对照看的。
3.定时器 T0、T1 对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平 的持续时间均不小于 2 个机器周期。√
第八章
一、填空
1.AT89S51 的串行异步通信口为全双工(单工/半双工/全双工)。
2.串行通信波特率的单位是bit/s。
分析:每秒发送(或接收)的位数。
3.AT89S51 的串行通信口若传送速率为每秒 120 帧,每帧 10 位,则波特率为 1200.
4.串行口的方式 0 的波特率为fosc/12。
5.AT89S51 单片机的通讯接口有串行和并行两种型式。在串行通讯中,发送时要把并行数据转换成串行 数据。接收时又需把串行数据转换成并行数据。
6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为11.0592MHz。
7.AT89S51单片机串行口的4种工作方式中,方式1和方式2的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
8.帧格式为 1 个起始位,8 个数据位和 1 个停止位的异步串行通信方式是方式1。
9.在串行通信中,收发双方对波特率的设定应该是相同的。
10.串行口工作方式 1 的波特率是(2SMOD/32)*定时器T1的溢出率。
分析:是2的SMOD次方除以32再乘以定时器T1的溢出率。
二、单选
1.AT89S51 的串行口扩展并行 I/O 口时,串行接口工作方式选择 A 。
A. 方式 0 B.方式 1 C. 方式 2 D.方式 3
2.控制串行口工作方式的寄存器是D。
A.TCON B.PCON C. TMOD D.SCON
三、判断对错
1.串行口通信的第 9 数据位的功能可由用户定义。√
2.发送数据的第 9 数据位的内容是在 SCON 寄存器的 TB8 位中预先准备好的。√
3.串行通信方式 2 或方式 3 发送时,指令把 TB8 位的状态送入发送 SBUF 中。 ×
4.串行通信接收到的第 9 位数据送 SCON 寄存器的 RB8 中保存。√
5.串行口方式 1 的波特率是可变的,通过定时器/计数器 T1 的溢出率设定。√
6.串行口工作方式 1 的波特率是固定的,为 fosc/32。 × 分析:方式0
7.AT89S51 单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。 × 分析:有固定波特率的。
8.AT89S51 单片机进行串行通讯时,定时器方式 2 能产生比方式 1 更低的波特率。 ×
9.串行口的发送缓冲器和接收缓冲器只有 1 个单元地址,但实际上它们是两个不同的寄存。√
单片机相关实验
LED数码管的静态显示与动态显示(Keil+Proteus)_proteus数码管动态显示-CSDN博客
LED点阵显示原理(取字模软件+Keil+Proteus)_led点阵取模软件-CSDN博客
字符型液晶显示器LCD 1602的显示控制(Keil+Proteus)-CSDN博客
独立键盘接口设计(Keil+Proteus)-CSDN博客
矩阵键盘独立接口设计(Keil+Proteus)-CSDN博客
外中断的应用-CSDN博客
单片机实验(一)-CSDN博客
单片机实验(二)-CSDN博客
定时器/计数器的应用-CSDN博客
单片机实验(三)-CSDN博客
串行口的工作原理及应用-CSDN博客
单片机双机通信控制跑马灯-CSDN博客
定时器控制数码管的动态流水显示-CSDN博客
总结
浅浅记录一下对单片机的学习,还是有很多地方没有掌握,