单片机基础复习题与答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(二)单项选择题
1. 用 8 位二进制补码数所能表示的十进制数范围是(D)
(A)-127 ~ +127
(B)-128 ~ +128
(C)-127 ~ +128
(D)-128 ~ +127
2. 下列等式中,正确的是(B)
(A)1 KB = 1024×1024 B
(B)1 MB = 1024×1024 B
(A)MOV A, PSW
(B)MOV A, 0D0H
(C)MOV R0,#0D0H
(D)PUSH PSW
MOV A,@R0
POP ACC
说明:特殊功能寄存 PSW 只能采用直接寻址方式,不能用寄存器间接寻址方式,故 C 错误。
2. 在相对寻址方式中,“相对”两字是指相对于(C)
(A)地址偏移量 rel
3. 8 位无符号二进制数能表示的最大十进制数是(255)。带符号二进制数 11001101 转换成十进制数是(-51)。
4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去 的设备统称为(输入设备)。
5. 已知字符 D 的 ASCII 码是十六进制数 44,则字符 T 的 ASCII 码是十进制数(84)。 6. 若某存储器容量为 640KB,则表示该存储器共有(655360)个存储单元。 7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对
5. 累加器 A 中存放着一个其值小于或等于 127 的 8 位无符号数,CY 清 0 后执 行“RLC A”指令,则 A 中的数变为原来的(2)倍。
6. 已知 A=7AH,R0=30H,(30H)=A5H,PSW=80H,请按要求填写各条指令的
执行结果(每条指令均按已给定的原始数据进行操作)。
XCH A, R0
(二)单项选择题
1. 下列概念叙述正确的是(D)
(A)80C51 中共有 5 个中断源,因此在芯片上相应地有 5 个中断请求输入
引脚
(B)特殊的存取规则使得堆栈已不是数据存储区的一部分
(C)可以把 PC 看成是数据存储空间的地址指针
(D)CPU 中反映程序运行状态和运算结果特征的寄存器是 PSW
2. 取指操作后,PC 的值是(C)
2. 80C51 单片机的时钟电路包括两部分内容,即芯片内的(高增益反相放大器 反相器)和芯片外跨接的(石英晶体振荡器晶振)与(两个微调电容)。若 调高单片机的晶振频率,则单片机的机器周期会变(短)。
3. 通常单片机有两种复位操作,即(上电复位)和(手动复位)。复位后,PC 值为(0000H),SP 值为(07H),通用寄存器的当前寄存器组为(第 0)组,
(B)当前指令的首地址
(C)下一条指令的首地址
(D)DPTR 值
3. 下列指令或指令序列中,能将外部数据存储器 3355H 单元内容传送给 A 的
是(B)
(A)MOVX A, 3355H
(B)MOV DPTR, #3355H
MOVX A, @ DPTR
(C)MOV P0, #33H
(D)MOV P2, #33H
(C)1 KB = 1024 M B
(D)1 MB = 1024 B
3. 程序与软件的区别是(C)
(A)程序小而软件大
(B)程序便宜而软件昂贵
(C)软件包括程序
(D)程序包括软件
4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A)
(A)地址
(B)字节
(C)列号
(D)容量
5. 8 位二进制数所能表示的最大无符号数是(B)
PUSH R0 (×)
PUSH 指令只能对直接寻址的地址单元内容进行压栈,不能对工作寄存器压栈。
2. 利用位操作指令序列实现下列逻辑运算。
(1) D=(10H ∨ P1.0) ∧ (11H ∨ CY)
ORL C, 11H
MOV F0, C
MOV C, P1.0
ORL C, /10H
ANL C, F0
单片机基础(第 3 版)
第 1 章 计算机基础知识
(一)填空题
1. 十进制数 14 对应的二进制数表示为(1110B),十六进制数表示为(0EH)。 十进制数-100 的补码为(9CH),+100 的补码为(64H)。
2. 在一个非零的无符号二进制整数的末尾加两个 0 后,形成一个新的无符号二 进制整数,则新数是原数的(4)倍。
(A)当前指令前一条指令的地址 (B)当前正在执行指令的地址
(C)下一条指令的地址
(D)控制寄存器中指令寄存器的地址
3. 80C51 单片机中,设置堆栈指针 SP 为 37H 后就发生子程序调用,这时 SP 的
值变为(C)
(A)37H
(B)38H
(C)39H
(D)3AH
4. 设置堆栈指针 SP = 30H 后,进行一系列的堆栈操作。当进栈数据全部弹出后,
(A)a
(B)A
(C)x (D)X
9. 有一个数 152,它与十六进制数 6A 相等,那么该数是(B)
(A)二进制数 (B)八进制数 (C)十进制数 (D)十六进制数
第 2 章 80C51 单片机的硬件结构
(一)填空题
1. 通过堆栈实现子程序调用,首先要把(PC)的内容入栈,以进行断点保护。 调用返回时再进行出栈操作,把保护的断点送回(PC)。
3. 执行如下指令序列后,所实现的逻辑运算式为( P3.0 = P1.0 ∧ P1.1∧ P1.2 ) MOV C, P1.0 ANL C, P1.1 ANL C, /P1.2 MOV P3.0, C
4. 假定 addr11=00100000000B,标号 qaz 的地址为 1030H,执行指令“qaz: AJMP addr11”后,程序转移到地址(1100H)去执行。
说明:MOVC A, @A+PC 是单字节指令,当前 PC 即为 1001H,故题中指令的含义即为 把 A+PC=1031H 单元的内容送入累加器 A。
2. 假定(A)=85H,(R0)=20H,(20H)=0AFH,执行指令“ADD A, @R0”后, 累加器 A 的内容为(34H),CY 的内容为(1),AC 的内容为(1),OV 的内容 为(1)。
A=(30H),R0=(7AH)
XCH A, 30H
A=(0A5H)
XCH A, @R0
A=(0A5H)
XCHD A, @R0
A=(75H)
SWAP A
A=(0A7H)
ADD A, R0
A=(0AAH),CY=(0),OV=(1)
ADD A, 30H
A=( 1FH ),CY=(1),OV=(0)
ADD A, #30H
MOV D, C
(2) E=ACC.2 ∧ P2.7 ∨ ACC.1∧ P2.0
MOV C, ACC.2
ANL C, P2.7
ORL C, ACC.1
ANL C, P2.0
MOV E, C
3. 编写程序将内部 RAM 20H ~ 23H 单元的高 4 位写 1,低 4 位写 0。
分析:就是把内部 RAM 20H ~ 23H 这 4 个单元写入 0F0H。用一个 DJNZ 的循环。
A=(0AAH),CY=(0),OV=(1)
ADDC A, 30H
A=( 20H ),CY=(1),OV=(0)
SUBB A, 30H
A=(0D4H),CY=(1),OV=(1)
SUBB A, #30H
wk.baidu.com
A=( 49H ),CY=(0),OV=(0)
(二)单项选择题
1. 下列指令或指令序列中,不能实现 PSW 内容送 A 的是(C)
(C)调用指令的下一条指令的首地址
(D)返回指令的末地址
6. 以下各项中不能用来对内部数据存储器进行访问的是(A)
(A)数据指针 DPTR
(B)按存储单元地址或名称
(C)堆栈指针 SP
(D)由 R0 或 R1 作间址寄存器
说明:数据指针 DPTR 为 16 位寄存器,而内部 RAM 的地址是 8 位的,所以不能用来对内部 RAM 进行访问。
SP 应指向(A)
(A)30H 单元 (B)07H 单元 (C)31H 单元 (D)2FH 单元
5. 下列关于堆栈的描述中,错误的是(C)
(A)80C51 的堆栈在内部 RAM 中开辟,所以 SP 只需 8 位就够了
(B)堆栈指针 SP 的内容是堆栈栈顶单元的地址
(C)在 80C51 中,堆栈操作过程与一般 RAM 单元的读/写操作没有区别
(×)
CPL F0H
(×) PUSH DPTR (×) POP 30H (√)
MOVX A, @R1 (√) MOV A, 1FH (√) MOV C, 1FH (√)
MOV F0, ACC.3 (×) MOV F0, C (√)
MOV P1, R3 (√)
MOV DPTR, #0FCH(√) CPL 30H
ORG 0000H
MOV R0, #20H
(A)256
(B)255
(C)128
(D)127
6. 下列 4 个无符号数中,最小的数是(B)
(A)11011001(二进制)
(B)37(八进制)
(C)75(十进制)
(D)24(十六进制)
7. 下列字符中,ASCII 码最小的是(B)
(A)a
(B)A
(C)x (D)X
8. 下列字符中,ASCII 码最大的是(C)
MOV R0, #55H
MOV R2, #55H
MOVX A, @ R0
MOVX A, @ R2
4. 对程序存储器的读操作,只能使用(D)
(A)MOV 指令
(B)PUSH 指令
(C)MOV X 指令
(D)MOVC 指令
5. 执行返回指令后,返回的断点是(C)
(A)调用指令的首地址
(B)调用指令的末地址
器数 10011101 的真值是(+141 或-115),机器数 10001101 的真值是(+206 或-50)。
说明:机器数是指计算机中使用的二进制数,机器数的值称为真值。机器数可表示无符号 数也可表示带符号数,其中计算机中的带符号数一般为补码形式。1000 1101 若为无符号数, 则其真值为+141;若为带符号数,由于最高位(符号位)为 1,所以为负数(补码形式), 则其真值为-115。
(三)其他类型题
1. 判断下列指令的合法性(合法打“√”,非法打“×”)
MOV A, @R2 (×) MOV R0, R1 (×) INC DPTR (√)
MOV PC, #2222H (×) DEC DPTR (×) RLC R0
(×)
MOV 0E0H, @R0 (√) CPL R5
(×) CLR R0
无关
(C)在单片机中配合实现“程序存储自动执行”的寄存器是累加器
(D)两数相加后,若 A 中数据为 66H,则 PSW 中最低位的状态为 0
第 3 章 80C51 单片机指令系统
(一)填空题
1. 假定累加器 A 中的内容为 30H,执行指令“1000H: MOVC A, @A+PC”后, 会把程序存储器(1031H)单元的内容送累加器 A。
(D)在中断响应时,断点地址自动进栈
6. 在单片机芯片内设置通用寄存器的好处不应该包括(A)
(A)提高程序运行的可靠性
(B)提高程序运行速度
(C)为程序设计提供方便
(D)减小程序长度
7. 下列叙述中正确的是(D)
(A)SP 内装的是堆栈栈顶单元的内容
(B)在中断服务程序中没有 PUSH 和 POP 指令,说明此次中断操作与堆栈
应的英文名称分别是(bit)、(Byte)和(Word)。 8. 设二进制数 A=10101101,B=01110110,则逻辑运算 A∨B=(11111111),A
∧B=(00100100),A⊕B=(11011011)。 9. 机器数 01101110 的真值是(+110),机器数 01011001 的真值是(+89),机
(√) PUSH R0 (×)
MOV C, #0FFH (×) MOV A, #0D0H(√)
说明:
MOV DPTR, #0FCH(√)
该指令是将立即数 00FCH 送入 16 位数据指针 DPTR。
CPL 30H
(√)
该指令中 30H 是指内部 RAM 位寻址区中的 30H 位,即 26H.0 位。
该组寄存器的地址范围是从(00H)到(07H)。 4. 80C51 单片机中,一个机器周期包含(6)个状态周期,一个 状态周期又可
划分为(2)个拍节,一个拍节为(1)个振荡脉冲周期。因此,一个机器周 期应包含(12)个振荡脉冲周期。 5. 80C51 中惟一一个可供用户使用的 16 位寄存器是(DPTR),它可拆分为两个 8 位寄存器使用,名称分别为(DPH)和(DPL)。 6. 单片机程序存储器的寻址范围由 PC 的位数决定。80C51 的 PC 为 16 位,因 此程序存储器地址空间是(64 KB)。