前言
发现很多人都写了单片机原理及接口技术课后习题的答案,但是也就只写了答案而已,可能是他们觉得太简单的缘故吧,我这里对此进行一下我近段时间复习的总结,本篇博客只展示选择题、填空题和判断题的答案,仅供参考,如果有错误还希望大佬能够指出。
题目来源:单片机原理及接口技术(C51编程)(第3版)张毅刚
相关链接
单片机C51复习题(课后习题及答案)_程序存储器的最大寻址范围有多少个中断源-CSDN博客https://blog.csdn.net/Leesnwen/article/details/117573376单片机原理及接口技术 - 第三版 张毅刚 习题答案_单片机原理及接口技术第三版-CSDN博客https://blog.csdn.net/weixin_45813438/article/details/131283863
第一章
一、填空
- 除了单片机这一名称之外,单片机还可以称为嵌入式控制器或微控制器。
- 单片机与普通微型计算机的不同之处在于其将CPU、存储器和I/O口3部分,通过内部总线连接在一起,集成在一块芯片上。
- AT89S51单片机工作频率上限为33MHz。AT89C51单片机工作频率上限为24MHz。
- 专用单片机已使系统结构最简化,软硬件资源利用最优化,从而大大降低成本和提高可靠性。
二、单选
A.为了编程方便 B.受器件的物理性能限制
C.为了通用性 D.为了提高运算速度
A.辅助设计应用 B.测量、控制应用
C.数值计算应用 D.数据处理应用
三、判断对错
8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是 DSP的长处。√ 分析:DSP:Digital Signal Processor 数字信号处理器
第二章
一、填空
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写成二进制就知道了。
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。
第三章
一、填空
二、判断对错
1.C51 语言处理单片机的中断是由专门的中断函数来处理的。√
2.在 C51 语言中,函数是一个完成一定相关功能的执行代码段,它与另外两个名词“子程序 ”和“过程”用来描述同样的事情。√
3.在 C51 语言编程中,编写中断服务函数时需要考虑如何进行现场保护、阻断其他中断、 返回时自动恢复现场等处理的程序段的编写。× 分析:C51编译器在编译时自动添加。
4.全局变量是在某一函数中存在的变量,它只在该函数内部有效。× 分析:全局变量在整个源文件中都存在。
5.全局变量可使用 static 关键词进行定义,由于全局变量一直存在,占用了大量的内存单 元,且加大了程序的耦合性,不利于程序的移植或复用。√
第五章
一、填空
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.定时器 T0 中断可以被外部中断 0 中断。√
2.必须有中断源发出中断请求,并且 CPU 开中断,CPU 才可能响应中断。 ×
3.AT89S51 单片机中的同级中断不能嵌套。√
4.同为高中断优先级,外部中断 0 能打断正在执行的外部中断 1 的中断服务程序。 × 分析:同级的中断被阻止。
5.中断服务子程序可以直接调用。× 分析:在任何情况下都不能直接调用中断函数。
6.在开中断的前提下,只要中断源发出中断请求,CPU 就会立刻响应中断。× 分析:和第四个原因一样。
第七章
一、填空
(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博客
总结
浅浅记录一下对单片机的学习,还是有很多地方没有掌握,