51单片机思考题与习题.docx
《51单片机思考题与习题.docx》由会员分享,可在线阅读,更多相关《51单片机思考题与习题.docx(31页珍藏版)》请在冰豆网上搜索。
![51单片机思考题与习题.docx](https://file1.bdocx.com/fileroot1/2022-10/27/e47f6220-f323-418f-a295-12410dd40a4e/e47f6220-f323-418f-a295-12410dd40a4e1.gif)
51单片机思考题与习题
第一章思考题与习题
1.什么叫嵌入式系统?
与单片机的关系如何?
以应用为中心,以计算机技术为基础,软硬件可裁剪,针对具体应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统被称为嵌入式系统。
单片机又称嵌入式微控制器,是嵌入式系统应用的主流。
2.单片机主要应用在哪些方面?
电子、消费电子等方面。
3.单片机系统的开发过程分几步进行?
单片机的应用开发可分为五个过程,总体方案设计、硬件单元电路设计与制作、应用程序的设计与调试、系统联调、固化(烧写)与脱机运行。
4.下表每一行给出了一种数制的无符号数,试将它转换为其他两种数制,并填入表中。
二进制
十进制
十六进制
010110011B
179
0B3H
110010010B
402
192H
11110101B
245
0F5H
01101100B
108
6CH
11111111B
255
0FFH
01110110B
118
76H
5.试写出下列真值所对应的机器数。
(1)+1010011
(2)-1011010
(3)+0101110(4)-0111111
以8位二进制补码表示为:
(1)11010011
(2)10100110(3)10101110(4)11000001
6.试写出下列机器数所对应的真值。
(1)11000000
(2)01111111
(3)01011011(4)11111111
(1)-64
(2)+127(3)+91(4)-1
7.下表每一行给出原码、反码或补码中的一个值,试求出其它两个码,并填入下表中。
原码
反码
补码
01111111B
01111111B
01111111B
10000000B
11111111B
00000000B
10001111B
11110000B
11110001B
01010101B
01010101B
01010101B
10000010B
11111101B
0FEH
00000011B
00000011B
03H
8.将下列有符号数的二进制补码转换为十进制数,并注明它的正负。
(1)11111111B
(2)01111111B
(3)10000011B(4)11111100B
(5)00000011B(6)01111100B
(1)-1
(2)+127(3)-125(4)-4(5)+3(6)+124
9.一个字节的十六进制数最大值相当于多大的十进制数,两个字节的十六进制数最大值相当于多大的十进制数?
一个字节十六进制数最大值为0FFH,相当于十进制数255,两个字节的十六进制数最大值为0FFFFH,相当于十进制数65535。
第二章思考题与习题
1.微型计算机由哪几个功能部件组成?
各功能部件的作用如何?
微型计算机由CPU、三总线、存储器、I/O接口电路及外围设备组成。
CPU作为系统的运算中心和控制中心;三总线用于完成微处理器、内存储器和I/O接口电路之间信息的相互交换;存储器用于程序与数据的存储;I/O接口电路作为CPU与外部设备的联接桥梁,用于信号的标准化;外围设备可实现显示、输入、打印、通信等功能。
2.三总线是指什么?
它们的主要功能是什么?
三总线是指数据总线(DataBus)、地址总线(AddressBus)和控制总线(ControlBus)。
数据总线(DB)的功能是完成微处理器与内存、I/O接口电路之间的数据传送;地址总线(AB)是微处理器向内存和I/O接口电路传送地址信息的通路;控制总线(CB)是微处理器向内存和I/O接口电路发出的命令信息或由外界向微处理器传送状态的信息通路。
3.微型计算机存储器的地址线与存储容量有什么关系?
如果存储器的地址线有13根,则存储容量为多大?
地址线的多少与存储容量的关系满足:
存储容量=2n(n为地址线的数量),如果存储器的地址线有13根,则存储容量为8KB。
4.89S51单片机的存储器从物理结构上分别可划分为几个空间?
89S51单片机的存储器在物理结构上有4个存储空间:
片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
5.89S51单片机采用何种方式区分内外程序存储器及内外数据存储器?
单片机的程序存储器是在片内存储器还是片外存储器,取决于单片机外围引脚的状态。
片内和片外数据存储器采用不同的指令加以区别,在访问片内数据存储器时,可使用MOV指令;要访问片外数据存储器可使用MOVX指令。
6.89S51单片机内部数据存储器分为几个空间?
每个空间有何特点?
89S51单片机的内部数据存储器分为00~7FH及80H~FFH两块空间。
片内数据存储区地址为00~7FH空间划分为工作寄存器区、位寻址区及用户RAM区三个空间;80H~FFH地址空间中只有26个存储空间被特殊功能寄存器(SFR)占用。
工作寄存器区共32个存储单元,分为4组,每组由8个地址单元组成通用寄存器R0~R7,每组寄存器均可作为CPU当前的工作寄存器。
位寻址区共16个字节,每个字节8位,共128位,这128位用位地址编号,范围为00H~7FH,位寻址区既可采用位寻址方式访问,也可以采用字节寻址方式访问。
用户RAM区共80个单元,可作为堆栈或数据缓冲使用。
特殊功能寄存器SFR专门用来设置单片机内部的各种资源,记录电路的运行状态,参与各种运算及输入/输出操作。
7.程序状态字PSW的作用是什么?
常用状态位是哪些?
作用是什么?
程序状态字PSW用来存放与当前指令执行结果相关的状态。
常用的状态位有CY、AC、OV、P、RS1、RS0等。
CY用于标志运算过程中是否有进位或借位;AC用于标志累加器中D3位向D4位是否存在进位或借位;OV用于标志有符号数运算过程中是否存在超出范围的情况;P用于指示累加器A中操作结果的“1”的个数的奇偶性,在串行通信中做数据校验;RS1、RS0用于选择工作寄存器组别。
8.89S51单片机内部有几个特殊功能存储单元?
分别有何用途?
89S51单片机内部有26个特殊功能存储单元,各自用途请参见表2-3。
9.89S51单片机复位后,CPU使用的是哪一组工作寄存器?
它们的字节地址分别是什么?
CPU如何确定和改变当前工作寄存器组?
89S51单片机复位后,CPU使用的是第0组工作寄存器,它们的字节地址为00H~07H。
CPU通过标志寄存器中的RS1、RS0两位状态确定和改变当前工作寄存器组。
10.89S51单片机的4个I/O端口P0~P3在结构上有何异同?
使用时应注意什么?
89S51各端口中P0口既可作地址/数据总线口,又可作通用I/O口。
在作地址/数据总线口时,它是真正的双向口,可以直接驱动MOS输入,不需要加上拉电阻。
当它作通用I/O口时,应注意必须外接上拉电阻才能驱动MOS输入。
对P1、P2、P3口而言,内部已接有上拉电阻,因此不必外接任何电阻就可驱动MOS输入。
P0口和P1、P2、P3口作通用I/O口时一样,在输入时分为“读锁存器”和“读引脚”两种操作,这两种操作是用不同的指令区分的。
11.简述89S51中下列各引脚信号的作用:
、、、、ALE
:
读信号:
写信号:
读片外部程序存储器选通信号:
片外程序存储器选择信号ALE:
地址锁存允许信号
12.什么是时钟周期、机器周期、指令周期?
它们之间有何关系?
时钟电路产生的最小时序单位称为时钟周期;单片机执行一次基本操作所需要的时间单位为一个机器周期;单片机执行一条指令所需要的时间称为指令周期。
1个机器周期=12个时钟周期,1个指令周期,通常由1~4个机器周期组成。
13.“复位”的含义是什么?
89S51单片机常用的复位电路有哪些?
复位后各内部存储器的值分别为多少?
复位就是对单片机进行初始化操作,使单片机内部各寄存器处于一个确定的初始状态。
89S51单片机常用的复位电路有上电复位和按钮复位两种。
复位后SP为07H,P0~P3为0FFH,SBUF不定,除SP、P0~P3及SBUF外,其余各寄存器值均为0。
第三章思考题与习题
1.MCS-51单片机指令格式是怎样的?
各有何含义?
汇编语言表示的指令格式为:
[标号:
]操作码助记符[操作数1,操作数2,操作数3][;注释]
标号:
表示该指令所在的地址。
操作码:
表示该语句要执行的操作内容。
操作数:
表示操作码的操作对象。
注释:
为阅读程序方便而加的解释说明。
2.MCS-51单片机有几种寻址方式?
描述这些寻址方式的执行过程?
MCS-5l系列单片机共有7种寻址方式,立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、相对寻址、变址寻址、位寻址。
立即寻址:
操作数直接由指令给出,寻址时直接到程序存储器中查找操作数。
直接寻址:
操作数在指令给出的地址单元中,寻址时直接到数据存储器中查找操作数。
寄存器寻址:
所需查找的操作数在寄存器中。
寄存器间接寻址:
所要查找的操作数位于以寄存器的内容为地址的单元中。
寻址时从寄存器中查找的值做为地址再次查找操作数。
相对寻址:
不是寻找操作数的地址,而是要得到程序跳转位置对应的目标地址。
变址寻址:
以16位寄存器(数据指针DPTR或程序计数器指针PC)作为基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成新的16位地址作为操作数所在的地址,查找操作数。
位寻址:
将位地址中的内容做为操作数。
3.指出在下列各条指令中,30H分别代表什么含义?
MOVA,#30H;为立即数
MOVA,30H;为直接地址
MOV30H,#30H;30H为直接地址,#30H为立即数
MOV30H,28H;30H为直接地址
MOVC,30H;为位地址
4.设(A)=0FH,(R0)=30H,内部RAM的(30H)=12H,(31H)=0BH,(32H)=0CH,请指出每条指令中源操作数的寻址方式,并写出执行下列程序段后上述各单元内容的变化结果。
MOVA,@R0;寄存器间接寻址,(A)=12H
MOV@R0,32H;直接寻址,(30H)=0CH
MOV32H,A;寄存器寻址,(32H)=12H
MOVR0,#31H;立即寻址,(R0)=31H
MOVA,@R0;寄存器间接寻址,(A)=0BH
5.用指令实现下列数据传送。
(1)内部RAM20H单元内容送内部RAM30H单元。
MOV30H,20H
(2)外部RAM20H单元内容送内部RAM30H单元。
MOVR0,#20H
MOVXA,@R0
MOV30H,A
(3)外部RAM1000H单元内容送寄存器R2中。
MOVDPTR,#1000H
MOVXA,@DPTR
MOVR2,A
(4)内部RAM20H单元内容送外部RAM1000H单元。
MOVA,20H
MOVDPTR,#1000H
MOVX@DPTR,A
(5)外部RAM20H单元内容送外部RAM1000H单元。
MOVR0,#20H
MOVXA,@R0
MOVDPTR,#1000H
MOVX@DPTR,A
(6)ROM2000H单元内容送内部RAM30H单元。
MOVDPTR,#2000H
CLRA
MOVCA,@A+DPTR
MOV30H,A
(7)ROM2000H单元内容送外部RAM20H单元。
MOVDPTR,#2000H
CLRA
MOVCA,@A+DPTR
MOVR0,#20H
MOVX