51单片机思考题与习题

更新时间:2024-05-01 11:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章思考题与习题

1. 什么叫嵌入式系统?与单片机的关系如何?

以应用为中心,以计算机技术为基础,软硬件可裁剪,针对具体应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统被称为嵌入式系统。单片机又称嵌入式微控制器,是嵌入式系统应用的主流。

2. 单片机主要应用在哪些方面? 电子、消费电子等方面。

3. 单片机系统的开发过程分几步进行?

单片机的应用开发可分为五个过程,总体方案设计、硬件单元电路设计与制作、应用程序的设计与调试、系统联调、固化(烧写)与脱机运行。

4. 下表每一行给出了一种数制的无符号数,试将它转换为其他两种数制,并填入表中。

二进制 010110011B 110010010B 11110101B 01101100B 11111111B 01110110B 十进制 179 402 245 108 255 118 十六进制 0B3H 192H 0F5H 6CH 0FFH 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 10000000B 10001111B 01010101B 10000010B 00000011B 反码 01111111B 11111111B 11110000B 01010101B 11111101B 00000011B 补码 01111111B 00000000B 11110001B 01010101B 0FEH 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. 三总线是指什么?它们的主要功能是什么? 三总线是指数据总线(Data Bus)、地址总线(Address Bus)和控制总线(Control Bus)。数据总线(DB)的功能是完成微处理器与内存、I/O接口电路之间的数据传送;地址总线(AB)是微处理器向内存和I/O接口电路传送地址信息的通路;控制总线(CB)是微处理器向内存和I/O接口电路发出的命令信息或由外界向微处理器传送状态的信息通路。

3. 微型计算机存储器的地址线与存储容量有什么关系?如果存储器的地址线有13根,则存储容量为多大?

地址线的多少与存储容量的关系满足:存储容量=2n(n为地址线的数量),如果存储器的地址线有13根,则存储容量为8KB。

4. 89S51单片机的存储器从物理结构上分别可划分为几个空间?

89S51单片机的存储器在物理结构上有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。

5. 89S51单片机采用何种方式区分内外程序存储器及内外数据存储器?

单片机的程序存储器是在片内存储器还是片外存储器,取决于单片机外围引脚EA的状态。片内和片外数据存储器采用不同的指令加以区别,在访问片内数据存储器时,可使用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中下列各引脚信号的作用:

RD、WR、PSEN、EA、ALE

RD:读信号 WR:写信号 PSEN:读片外部程序存储器选通信号 EA:片外程序存储器选择信号 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分别代表什么含义?

MOV A, #30H ;为立即数 MOV A, 30H ;为直接地址 MOV 30H, #30H ;30H为直接地址,#30H为立即数 MOV 30H, 28H ;30H为直接地址 MOV C, 30H ;为位地址

4. 设(A)=0FH,(R0)=30H,内部RAM的(30H)=12H,(31H)=0BH,(32H)=0CH, 请指出每条指令中源操作数的寻址方式,并写出执行下列程序段后上述各单元内容的变化结果。

MOV A, @R0 ;寄存器间接寻址,(A)=12H MOV @R0, 32H ;直接寻址,(30H)=0CH MOV 32H, A ;寄存器寻址,(32H)=12H MOV R0, #31H ;立即寻址,(R0)=31H MOV A, @R0 ;寄存器间接寻址,(A)=0BH

5. 用指令实现下列数据传送。

(1)内部RAM 20H单元内容送内部RAM 30H单元。 MOV 30H,20H

(2)外部RAM 20H单元内容送内部RAM 30H单元。 MOV R0,#20H MOVX A,@R0 MOV 30H,A

(3)外部RAM 1000H单元内容送寄存器R2中。 MOV DPTR,#1000H MOVX A,@DPTR MOV R2,A

(4)内部RAM 20H单元内容送外部RAM 1000H单元。 MOV A,20H MOV DPTR,#1000H MOVX @DPTR,A

(5)外部RAM 20H单元内容送外部RAM 1000H单元。 MOV R0,#20H MOVX A,@R0 MOV DPTR,#1000H MOVX @DPTR,A

(6)ROM 2000H单元内容送内部RAM 30H单元。 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR

MOV 30H,A

(7)ROM 2000H单元内容送外部RAM 20H单元。 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV R0,#20H MOVX @R0,A

(8)ROM 2000H单元内容送外部RAM 1000H单元。 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV DPTR,#1000H MOVX @DPTR,A 6. 设(A)= 5AH,(R0)=20H,(20H)=6BH,(B)=02H,(PSW)=80H。写出下列指令执行后的结果及对标志位的影响。(每条指令都以题中规定的原始数据参加操作)。

(1)ADD A,R0 ;(A)=7AH,(PSW)=01H (2)ADDC A,20H ;(A)=0C6H,(PSW)=44H (3)SUBB A,#20H ;(A)=39H,(PSW)=00H (4)INC A ;(A)=5BH,(PSW)=81H (5)MUL AB ;(A)=0B4H ,(B)=00H,(PSW)=00H (6)DIV AB ;(A)=2DH,(B)=00H,(PSW)=00H (7)ANL 20H,#45H ;(20H)=41H,(PSW)=80H (8)ORL A,#32H ;(A)=7AH,(PSW)=81H (9)XRL 20H,A ;(20H)=31H,(PSW)=80H (10)XCH A,20H ;(A)=6BH,(20H)=5AH,(PSW)=80H (11)SWAP A ;(A)=0A5H,(PSW)=80H (12)CPL A ;(A)=0A5H,(PSW)=80H (13)RR A ;(A)=2DH,(PSW)=80H (14)RLC A ;(A)=0B5H,(PSW)=01H 7. 写出执行下列程序段的运行结果。 (1)MOV A,#20H

MOV DPTR,#2030H MOVX @DPTR,A MOV 30H,#50H MOV R0,#30H MOVX A,@R0

外部RAM(2030H)=20H,(DPTR)=2030,(30H)=50H,(R0)=30H,(A)=0FFH (2)MOV A,#79H

MOV 20H,#88H ADD A,20H DA A SWAP A

内部RAM(20H)=88H,(A)=76H,(PSW)=0C1H 8. 试写出达到下列要求的程序。

3. 单片机选型应考虑哪几个方面? (1)单片机的系统适应性 (2)单片机的可开发性 (3)制造商历史及可购买性

4. 说明抑制单片机系统供电干扰的主要方法。 (1)单片机输入电源与强电设备动力电源分开。

(2)采用具有静电屏蔽和抗电磁干扰的隔离电源变压器。

(3)交流进线端加低通滤波器,可滤掉高频干扰。安装时外壳要加屏蔽并使其良好接地,滤波器的输入、输出引线必须相互隔离,以防止感应和辐射耦合。直流输出部分采用大容量电解电容进行平滑滤波。

(4)对于功率不大的小型或微型计算机系统,为了抑制电网电压起伏的影响,可设置交流稳压器。

(5)采用独立功能块单独供电,并用集成稳压块实现两级稳压。 (6)尽量提高接口器件的电源电压,提高接口的抗干扰能力。 5. 自行设计软件“看门狗”程序。 (略)

第八章思考题与习题

1. 设计一个8路模拟信号数值显示电路。要求:可自动轮流显示8路模拟信号的数值,最小分辨率为0.02V,模拟量输入最大值为5V,最大显示值为255(输入为5V时)。

(略)

2. 设计一个自行车里程/速度计。要求:能自动显示自行车骑行的总里程数及骑行速度,具有超速报警功能。

(略)

3. 设计一个电子秤。要求:能称50公斤货物,最小分辨率为0.01公斤。 (略)

第九章思考题与习题

1. 定义变量a、b、c,a为内部RAM的可位寻址区的字符变量,b为外部数据存储区的整型变量,c为指向整型xdata区的指针。

char bdata a int xdata b int xdata *c

2. 编程将89S51单片机内部数据存储器20H单元和35H单元的数据相乘,结果存入外部数据存储器中。

void main(void) {

char data *a; char data *b;

char xdata *c; a=0x20; b=0x35; c=0x2000; *c=*a**b;

}

3. 编程将外部RAM 10H~15H单元的内容传送到内部RAM 10H~15H单元中。 void main(void) {

char xdata *a; char data *b;

int i; a=0x10; b=0x10;

for(i=0;i<6;i++) { *b=*a; a++; b++;

} }

4. 编程将内部RAM 21H单元存放的2位BCD码数转换为二进制数存入30H单元中。 void main(void) {

char data *a; char data *b;

int i,j; a=0x21; b=0x30; i=*a>>4; i=i*10; j=*a&0x0f; *b=i+j; }

本文来源:https://www.bwwdw.com/article/epqg.html

Top