单片机原理课程复习题(附答案)
单片机原理复习题及答案
一.判断题(在题后的括号内打√或×)
1.只读存储器ROM内部信息停电后会丢失。(×)
2.堆栈操作是按“后进先出”的原则存取数据。(√)
3.8051单片机访问存储器时,同一地址对应惟一的存储单元。(×)
4.数据寄存器指针DPTR由DPH和DPL组成。(√)
5.程序计数器PC总是指向正在执行的指令地址。(×)
6.汇编语言程序中的注释可以缺省。(√)
7.指令中操作码助记符项可有可无。(×)
8.计算机寻址方式越多,计算机的功能超强,灵活性亦越大。(√)
9.若累加器A中“1”的个数为偶数,则奇偶标志位P为1。(×)
10.作算术运算时,若有进位则一定有溢出。(×)
11.8051每个中断源相应地在芯片上都有其中断请求输入引脚( × )
12.程序计数器PC不能对它进行读写操作.( √ )
13.8051单片机的栈底单元是不能利用的,因此,它是一个闲置单元( × )
14.8051单片机对最高优先权的中断响应是无条件的( ×)
15.中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作
指令( ×)
16.在一般情况8051单片机允许同级中断嵌套( ×)
17.8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的(√)
18.RC A为循环左移指令( ×)
19.MOV A,30H为立即寻址方式( ×)
20.如果发生除法溢出错误,则PSW标志位P置1 ( ×)
21.如JC rel发生跳转时,目标地址为当前地址加上偏移量rel ( ×)
22.MOV A,@A+DPTR是一条查询指令 .( √)
23.MUL AB的执行结果是高8位在A中,低8 位在B中( ×)
24.CPU对内部RAM和外部RAM的读写速度一样快( ×)
25.对于8051单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程
序存储器中寻址 .( √)
26.外加晶振频率越高,系统运算速度也就越快,系统性能也就越好( ×)
27.单片机按键手动复位又可以分为电平方式和脉冲方式两种。(√)
28.单片机程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键
重新启动单片机。(√)
29.计算机如果有好的硬件电路,即使没有任何软件支持,也能正常工作。(×)
30.计算机能够直接识别和执行任何高级语言指令。(×)
31.80C51单片机汇编语言指令中的任何部分,包括操作码在内,都可以根据具体情况加
以省略。(×)
32.80C51指令系统具有存储效率高、执行速度快的特点。(√)
33.机器语言是一种用二进制代码0和1表示指令和数据的最原始的程序设计语言。(√)
34.对于使用者来说,用机器语言编写程序比较简单,容易看懂,不易出错,便于记忆。(×)
35.汇编语言是一种用助记符来表示的面向机器的程序设计语言。不同的机器使用的汇编语
言一般没有什么不同,象高级语言一样,是通用的。(×)
36.相对寻址方式中,“相对”两字是相对于当前指令的首地址。(×)
37.必须进行十进制调整的十进制运算只有加法和减法。(× )
38.END表示指令执行到此结束。( ×)
39. 判断以下各条指令是否正确:
(1) MOVX @R0,B (×)
(2) MOV A,30H (√)
(3) MOVX A,30H (×)
(4) ADDC A,R7 (√)
(5) SUB A,R2 (×)
(6) ANL #99H ,36H (×)
(7) MOV 20H , R1 (√ )
(8) ADDC A , 2030H (×)
(9) MOV C,ACC.0 (√)
(10) ORL P1.0,P3.1 (×)
(11) JBC P0,LL1 ;(LL1为标号)(×)
(12) ACALL PROC ;(PROC为标号)(√)
(13) CLR A (√ )
(14) MOVX 40H , #30H (×)
(15) ORG 3000H (√)
(16) MOVC @A+PC , A (×)
(17) MOVX A ,2000H (×)
(18) DJNZ #data , rel (×)
37.8051片内带有2K程序存储器。(×)
38.RS1=1,RS0=0时,R2的直接地址为11H。(×)
39.MOV A,30H指令中第二操作数的寻址方式为直接寻址。(×)
40.SRF只能直接寻址。(√)
41.CLR 20H是位操作指令。(×)
42.执行除法指令后商在B寄存器中。(×)
43.上电复位后执行压棧指令第一个字节压入07H。(√)
44.读P1口时,要先向口锁存器中写1。(√)
45. 我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。(√)
46. MCS-51的相对转移指令最大负跳距是127B。(×)47.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(×)
48.要MCS-51系统中,一个机器周期等于1.5μs。(×)
49、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。(√)
二.单项选择题
1、单片机机器内的数是以( C )的形式表示的
A、原码
B、反码
C、补码
D、ASCII码
2、8051单片机有( C )个特殊功能寄存器。
A、3
B、10
C、21
D、128
3、数据寄存器指针DPTR是一个( B )位的寄存器。
A、8
B、16
C、24
D、32
4、8051单片机的工作寄存器分成(B )组,每组有(D )单元。
A、2个
B、4个
C、6个
D、8个
5、SJMP rel指令中rel的取值范围为( D )。
A、+127~-127
B、0~+127
C、0~-128
D、+127~-128
6、指令MOVX A,@DPTR中源操作数属于( C )方式。
A、直接寻址
B、相对寻址
C、寄存器间接寻址
D、寄存器寻址
7、在单片机语句格式中,( B )为不可缺省的。
A、标号
B、操作码助记符
C、操作数
D、注释
8、若A=78H,执行指令SWAP A后,A的值为(C )。
A、78H
B、78D
C、87H
D、87D
9、带进位加法指令助记符为( B )。
A、ADD
B、ADDC
C、SBC
D、SUBB
10、相当于累加器A内容乘以2的指令是( A )。
A、RL
B、RR
C、RLC
D、RRC
11. 单片机是将( D )做到一块集成电路芯片中,称为单片机。
A.CPU、RAM、ROM B. CPU、I/O设备
C. CPU、RAM
D. CPU、RAM、ROM、I/O设备
12. 下列哪一型号的单片机是基本型单片机。( B )
A. 8032
B. 8051
C. 8052
D. 8752
13.MCS-51芯片内部集成有( C )。
A. 8 位CPU、4 KB ROM
B. 16 位CPU、4 KB ROM
C. 8 位CPU、64 KB ROM
D. 16 位CPU、64 KB ROM
14. 地址总线(AB)总线宽度为( B )位。
A. 8
B. 16
C. 15
D. 32
15. 一个时钟周期等于( D )振荡周期。
A.1个
B.2个
C. 6个
D. 12个
16. 关闭电源时,其所存储内信息将丢失的存储器是( C )。
A. ROM
B. PROM
C. RAM
D. EPROM
17. 一个字节(BYTE)由( D )位二进制数组成。
A.1
B.2
C. 4
D. 8
18.程序计数器PC是( A )位的计数器,能寻址64KB的程序存储器范围。
A.16
B. 8
C. 4
D. 32
19. 8051单片机片内RAM的低32个字节分成( D )个工作寄存器组,每组占8个字节。
A. 1
B. 2
C. 3
D. 4
20. 指令MOV寻址空间是( C )。
A.片外ROM B. 片外RAM C.片内RAM D. 所有存储器
21. MCS-51单片机片外RAM地址空间与片内RAM地址空间在地址的低端0000H一007FH是( B )。
A.重叠 B.不重叠 C.部分重叠 D.不定
22. 8051位寻址能力能够达到( B )位。
A.64
B. 128
C.32
D.16
23. 8051单片机的堆栈区是向地址( D )的方向生成的。
A.可变
B. 不定
C.减小
D. 增大
24. 当8051单片机外接时钟信号时,应从( C )脚接入。
A.T0
B. XTAL2
C. XTAL1
D. T1
25. 8051单片机串行I/O口(RXD,TXD)在( D )。
A.P0 口
B. P1 口
C. P2 口
D. P3 口
26.“CLR A”的寻址方式是( A )。
A. 寄存器寻址
B.直接寻址
C.寄存器间接寻址
D.立即寻址
27. “MOV A, 30H”指令源操作数的寻址方式是( C )。
A.寄存器寻址
B.寄存器间接寻址
C.直接寻址
D.立即寻址
28. “MOVX A,@DPTR ” 指令源操作数的寻址方式是( C )。
A.变址寻址
B.相对寻址
C.寄存器间接寻址
D. 位寻址
29. “SJMP 08H”的寻址方式是( B )。
A.变址寻址
B.相对寻址
C.寄存器间接寻址
D. 位寻址
30. 访问程序存储器,指令操作码的助记符是( A )。
A. MOVC
B. MOV
C. MOVX
D. XCH
31. “MUL AB”指令执行后,16位乘积的高位在( D )中。
A. A
B. C
C. AB
D. B
32. 指令“AJMP addr11”为( A )指令。
A. 绝对转移
B.相对转移–
C. 条件转移
D.子程序调用与返回指令
33. 单片机的复位有上电自动复位和手动复位方式,按键手动复位又可以分为电平方式和脉冲方式两种。复位后各内部寄存器恢复初态,并从( A )开始执行程序。
A、PC=0000H
B、PC=0030H
C、PC=0100H
D、PC=1000H
34. 除了进入系统的正常初始化之外,程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动单片机。除PC值之外,复位操作还对其它一些寄存器有影响。对于堆栈指针SP来说,复位后( D ) 。
A、SP=04H
B、SP=05H
C、SP=06H
D、SP=07H
35. 任何计算机如果只有硬件电路,而没有任何软件支持,是不能正常工作的。必须配备各种功能的软件才能发挥计算机应有的作用。指令系统是软件的基础,不同类型的( C )有不同的指令系统。
A、RAM
B、ROM
C、CPU
D、EEPROM
36. 计算机的指令系统是一套控制计算机操作的编码,称之为机器语言。计算机只能识别和执行( C )指令。为了容易理解,便于记忆和使用,通常用符号指令(即汇编语言指令)汇编成机器语言指令。
A、高级语言
B、中级语言
C、机器语言
D、自然语言
37. 80C51单片机汇编语言指令由操作码助记符和操作数两部分组成,共有111种指令。其指令中操作码是( D )的,它是指令的核心部分。如果按字节数分类则有49条单字节指令,45条双字节指令和17条三字节指令。
A、完全可以省略
B、并非不能省略
C、有时不能省略
D、绝对不能省略
38. 若按指令执行时间分类,就有64条单周期指令,45条双周期指令,2条(乘、除)( B )指令。80C51指令系统具有存储效率高、执行速度快的特点。
A、3个机器周期
B、4个机器周期
C、5个机器周期
D、6个机器周期
39. 机器语言是一种用二进制代码0和1表示指令和数据的最原始的程序设计语言。因为计算机只能识别二进制代码,这种语言与计算机的关系最直接。计算机能( A )这种语言,并立即执行,相应速度快。
A、立即识别
B、稍后识别
C、间接识别
D、缓慢识别
40. 对于使用者来说,用机器语言编写程序非常繁琐,且不易看懂,容易出错,不便记忆。为了克服这些缺点,产生了( A )和高级语言。
A、汇编语言
B、JAVA语言
C、C语言
D、VB语言
41. 在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是(B )(A)PC (B)PSW (C)A (D)SP
42. 要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是(B )
(A)MOV (B)MOVX (C)MOVC (D)以上都是
43. 指令ALMP的跳转范围是(C)
(A)256B (B)1KB (C)2KB (D)64KB
44. 要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是(A )
(A)98H (B)84H (C)42H (D)22H
45. 各中断源发出的中断请求信号,都会记在MCS-51系统中的(B )
(A)IE (B)IP (C)TCON (D)SCON
46. CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是(C )
(A)混合编址(B)动态编址(C)独立编址(D)变址编址
47. 下列四条叙述中,有错误的一条是(A )
(A)16根地址线的寻址空间可达1MB
(B)内存储器的存储单元是按字节编址的
(C)CPU中用于存放地址的寄存器称为地址寄存器
(D)地址总线上传送的只能是地址信息
48. MCS-51外扩一个8255时,需占用(D)个端口地址
(A)1个(B)2个(C)3个(D)4个
49. 用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择(A)
(A)方式0 (B)方式1 (C)方式2 (D)方式3
50. 某种存储器芯片是8KB*4/片,那么它的地址线根数是(C )
(A)11根(B)12根(C)13根(D)14根
51.MCS—51单片机的复位信号是( A )有效。
A.高电平
B.低电平
C.脉冲
D.下降沿
52.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。
A.2μs
B.4μs
C.8μs
D.1ms
53.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( D )指令。
A.PUSH R0
B.PUSH @R0
C.PUSH 00H
D.PUSH 08H
54.能够用紫外光擦除ROM中程序的只读存储器称为( C )。
A.掩膜ROM
B.PROM
C.EPROM
D.EEPROM
55.在片外扩展一片2764程序存储器芯片要( B )地址线。
A.8根
B.13根
C.16根
D.20根
56.定时器/计数器工作方式1是( D )。
A.8位计数器结构
B.2个8位计数器结构
C.13位计数结构
D.16位计数结构
57.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为( C )
A.2MHz
B.1MHz
C.500KHz
D.250KHz
58.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( A )。
A.06H
B.F9H
C.30H
D.CFH
59.下列数据字定义的数表中,( C )是错误的。
A.DW“AA”
B.DW“A”
C.DW“OABC”
D.DWOABCH
60.串行口的控制寄存器SCON中,REN的作用是( C )。
A.接收中断请求标志位
B.发送中断请求标志位
C.串行口允许接收位
D.地址/数据位
61. 10101.101B转换成十进制数是( D )。
(A)46.625 (B)23.625 (C) 23.62 (D) 21.625
62. 单片机应用程序一般存放在( B )。
(A)RAM (B)ROM (C)寄存器 (D) CPU
63. CPU主要的组成部分为(A )
(A)运算器、控制器(B)加法器、寄存器
(C) 运算器、寄存器 (D)运算器、指令译码器
64. 8031单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。
(A)P0 (B)P1 (C) P2 (D) P3
65. 下列指令中不影响标志位CY的指令有( D )。
(A)ADD A,20H (B)CLR (C) RRC A (D) INC A
66.3D.0AH转换成二进制数是( A )。
(A) 111101.0000101B (B) 111100.0000101B
(C) 111101.101B (D) 111100.101B
67. 所谓CPU是指(A )
(A)运算器和控制器(B)运算器和存储器(C)输入输出设备(D)控制器和存储器68.INTEL 8051 CPU是( C )位的单片机
(A) 16 (B)4 (C)8 (D)准16
69. 存储器的地址范围是0000H~0FFFH,它的容量为(D )。
(A)1KB (B) 2KB (C) 3KB (D) 4KB
70. P1口的每一位能驱动(B )
(A)2个TTL低电平负载(B) 4个TTL低电平负载
(C)8个TTL低电平负载(D)10个TTL低电平负载
71.73.5转换成十六进制数是( B )。
(A) 94.8H (B) 49.8H (C) 111H (D) 49H
72. 若某存储器芯片地址线为12根,那么它的存储容量为(C )
(A)1KB (B) 2KB (C)4KB (D)8KB
73. MCS-51有中断源(A )个
(A)5 (B) 2 (C) 3 (D) 6
74. 下面哪种外设是输出设备(A )
(A)打印机(B)纸带读出机(C)键盘(D)A/D转换器75.( D )指令是MCS-51指令系统中执行时间最长且长达4 us的。
(A)比较转移(B)循环转移(C)增减量(D)乘除法
76、在单片机中,通常将一些中间计算结果放在(D)中
A、累加器
B、控制器
C、程序存储器
D、数据存储器
78、数据指针DPTR在( B )中
A、CPU控制器
B、CPU运算器
C、外部程序存储器
D、外部数据存储器
79、指令和程序是以( D )形式存放在程序存储器中
A、源程序
B、汇编程序
C、二进制编码
D、BCD码
80、单片机应用程序一般存放在( D )
A、RAM
B、ROM
C、寄存器
D、CPU
81、进位标志CY在(C )中
A、累加器
B、算逻运算部件ALU
C、程序状态字寄存器PSW
D、DPOR
82、单片机8051的XTAL1和XTAL2引脚是(D )引脚
A、外接定时器
B、外接串行口
C、外接中断
D、外接晶振
83、8031复位后,PC与SP的值为(A )
A、0000H,00H
B、0000H,07H
C、0003H,07H寄存器
D、0800H,00H
84、单片机的堆栈指针SP始终是( B )
A、指示堆栈底
B、指示堆栈顶
C、指示堆栈地址
D、指示堆栈长度
85、P0、P1口作输入用途之前必须(B )
A、相应端口先置1
B、相应端口先置0
C、外接高电平
D、外接上拉电阻
86、一个EPROM的地址有A0----A11引脚,它的容量为( D )
A、2KB
B、4KB
C、11KB
D、12KB
87、8031单片机中既可位寻址又可字节寻址的单元是( B )
A、20H
B、30H
C、00H
D、70H
88、8031单片机中片内RAM共有(B )字节
A、128
B、256
C、4K
D、64K
89、执行指令MOVX A,﹫DPTR时,WR、RD脚的电平为( B )
A、WR高电平,RD低电平
B、WR低电平,RD高电平
C、WR高电平,RD高电平
D、WR低电平,RD低电平
90、下列指令中不影响标志位CY的指令有( B )
A、ADD A,20H
B、CLR C C 、RRC A D、INC A
91、LJMP跳转空间最大可达到( D )
A、2KB
B、256B C 、128B D、64KB
92、计算机内部数据之所以用二进制形式表示,主要是(B)
A、为了编程方便
B、由于受器件的物理性能限制
C 、为了通用性D、为了提高运算速度
93、8051单片机共有( B )中断源
A、4
B、5 C 、6 D、7
94、8051单片机共有( A )个中断优先级
A、2
B、3 C 、4 D、5
95、外部中断源I E 1(外部中断1)的向量地址为( C )
A、0003H
B、000BH C 、0013H D、002BH
96、累加器A的位地址为(A )
A、E 7 H
B、F 7 H C 、D 7 H D、87H
97、寄存器B的位地址为(B )
A、E 7 H
B、F 7 H C 、D 7 H D、87H
98、8051的内部RAM中,可以进行位寻址的地址空间为( B )
A、00H∽2FH
B、20H∽2FH C 、00H∽FFH D、20H∽FFH
99、设累加器A的内容为0 C 9 H,寄存器R2的内容为54H,CY=1,执行指令S U B B A,R2 后结果为( A )
A、(A)=74H
B、(R2)=74H C 、(A)=75H D、(R2)=75H
100、设(A)=0 C 3 H,(R0)=0 A A H,执行指令ANL A,R0后,结果()A、(A)=82H B、(A)=6CH C 、(R0)=82 D、(R0)=6CH
101、8051的程序计数器P C为16位计数器,其寻址范围是( D )
A、8K
B、16 K C 、32 K D、64 K
102、提高单片机的晶振频率,则机器周期( C )
A、不变
B、变长 C 、变短D、不定
103、在堆栈操作中,当进栈数据全部弹出后,这时SP应指向( D )
A、栈底单元
B、7FH单元C 、栈底单元地址加1 D、栈底单元地址减1
104、8051单片机中,唯一一个用户不能直接使用的寄存器是(C)
A、P S W
B、D P T R C 、P C D、B
105、8051单片机中,唯一一个用户可使用的16位寄存器是(B )
A、P S W
B、D P T R C 、A C C D、P C
106、执行如下三条指令后,30H单元的内容是(C )
MOV R1,#30H
MOV 40H,#0 E H
MOV ﹫R 1,40H
A、40H
B、30H C 、0 E H D、F F H
107、有如下程序段:
MOV R 0,#30H
SETB C
CLR A
ADDC A,#0 0H
MOV ﹫R 0,A
执行结果是( A )
A、(30H)=0 0H
B、(30H)=0 1H
C 、(00H)=0 0H D、(00H)=0 1H
108、从地址2132H开始有一条绝对转移指令A J M P addr11,指令可能实现的转移范围是(C )
A、2000H∽27FFH
B、2132H∽2832H
C 、2100H∽28FFH D、2000H∽3FFFH
109、中断是一种( D )
A、资源共享技术
B、数据转换技术
C 、数据共享技术D、并行处理技术
110、执行M O V I E,#81H指令的意义是:(C )
A 、屏蔽中断源B、开放外部中断源0
C 、开放外部中断源1 D、开放外部中断源0和1
111、CPU主要的组成部部分为( A )
A、运算器、控制器
B、加法器、寄存器
C、运算器、寄存器
D、运算器、指令译码器
112、计算机的主要组成部件为( A )
A、CPU,内存,I/O□
B、CPU,键盘,显示器
C、主机,外部设备
D、以上都是
113、INTEL 8051 CPU是( C )位的单片机
A、16
B、4
C、8
D、准16
114、对于INTEL 8031来说,EA脚总是( C )
A、接地
B、接电源
C、悬空
D、不用
115、在计算机中“A”是用(D )来表示的
A、BCD码
B、二------十进制编码
C、余三码
D、ASC I I码116.在组成总线时,P2口用作(B)
A 地址总线低八位
B 地址总线高八位
C 数据总线
D 控制总线
117.下列引脚中哪一个与外扩数据存储器无关(A )
A EA
B RD
C WR
D ALE
118.51单片机的指令系统中没有哪一类指令(C )
A 单字节
B 双字节
C 三字节D四字节
119.8051单片机中断源的个数为( D )
A 1
B 2
C 3
D 5
120.下列位地址中哪一个是错的( A )
A 15.1
B 10H
C TI
D P0.6
121.INT0中断服务程序的入口地址是( A )
A 0003H
B 000BH
C 0013H
D 001BH
122. 串行口控制寄存器中多机通信控制位为( C )
A SM0
B SM1
C SM2
D REN
123. LJMP指令的转移范围是(D )
A -128~127
B 2K
C 4K
D 64K
124.定时计数器的哪一种工作方式可以自动再装入定时常数( C )
A方式0 B 方式1 C 方式2 D方式3
125.寻址16K容量的ROM,需地址线的根数为( C )
A 8
B 10
C 14
D 16
126.下列指令中哪一个不影响标志位( C )
A ADD A, 30H
B SUBB A, R2
C ORL A, #67H
D RL A
127.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于( A ) μs A 1.5 B 3 C 1 D 0.5
128.十进制29的二进制表示为原码( A )
A 11100010
B 10101111
C 00011101
D 00001111
129、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A )
(A)方式0 (B)方式1 (C)方式2 (D)方式3
130、某种存储器芯片是8KB*4/片,那么它的地址线根线是(C )
(A)11根(B)12根(C)13根(D)14根
131、MCS-51外扩ROM,RAM和I/O口时,它的数据总线是(B )
(A)P0 (B)P1 (C)P2 (D)P3
132、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A )(A)读锁存器具(B)读数据库(C)读A累加器具(D)读CPU
133、8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令(D )。
(A) MOV R1 ,40H (B) MOV R1 ,#40H
MOVX @R1 , A MOVX R1 , A
(C) MOVX 40H , A (D) MOV R1, #40H
MOVX @R1 , A
134、执行LACLL 4000H指令时, MCS-51所完成的操作是( D )
(A)保护PC(B)4000H→PC (C)保护现场(D)PC+3入栈, 4000H→PC
135、MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。
(A)外部中断0 (B)外部中断1 (C)定时器0中断(D)定时器1中断
三.简答题
1. 已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?
答题要点:OV:0、CY:1、AC:1、P:1 A:-95
2. 简单叙述8051的C/T0的模式和串行通信的四种工作模式。
答题要点:C/T0的四种工作模式为
0:13位计数器;
1:16位计数器;
2:8位循环计数器;
3:2个独立的8位计数器
串行通信的四种工作模式为
0:同步移位寄存器;
1:波特率可变的8位两机异步通信;
2:波特率固定的9位可多机的异步通信;
3:波特率可变的9位可多机的异步通信。
3.在单片机中,CPU是如何确定和改变当前工作寄存器组的?
答题要点:在单片机中,CPU是通过使用PSW寄存器中的RS1、RS0两位的状态组合来选择当前工作寄存器组的。如下:
RS1 RS2 寄存器组
0 0 0组(00H~07H)
0 1 1组(08H~0FH)
1 0 2组(10H~17H)
1 1 3组(18H~1FH)
4.什么是并行通信?什么是串行通信?
答题要点:并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信所用的电缆多,故常用在传输距离较短(几米至几十米)、数据传输率较高的场合。
串行通信是指数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信
5.8051系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定
义为高优先级中断,如何定义?
答题要点:具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断
6.各中断源对应的中断服务程序的入口地址是否能任意设定?
答题要点:各中断源的入口地址已经在中断地址区中被定义了,不能任意设定
7.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置? 答题要点:如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行
8.单片机有哪些复位方式,要注意哪些问题?
答题要点:单片机的复位有上电自动复位和手动复位方式,按键手动复位又可以分为电平方式和脉冲方式两种。复位后各内部寄存器恢复初态,并从PC=0000H开始执行程序。除了进入系统的正常初始化之外,程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动单片机。除PC值之外,复位操作还对其它一些寄存器有影响。对于堆栈指针SP来说,复位后SP=07H。
9.计算机为什么要有指令系统,计算机能直接识别什么指令?
答题要点:任何计算机如果只有硬件电路,而没有任何软件支持,是不能正常工作的。必须配备各种功能的软件才能发挥计算机应有的作用。指令系统是软件的基础,不同类型的CPU 有不同的指令系统。计算机的指令系统是一套控制计算机操作的编码,称之为机器语言。计算机只能识别和执行机器语言指令。为了容易理解,便于记忆和使用,通常用符号指令(即汇编语言指令)汇编成机器语言指令。
10.MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划
分?
答题要点:时钟周期是单片机最基本的时间单位。机器周期则是完成某一个规定操作所需的时间。一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。
11.MCS-51内部四个并行I/O口各有什么异同?作用是什么?
答题要点:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。但这四个端口的功能不全相同,P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O 口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。
12.简述MCS-51单片机的中断响应过程。
答题要点:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,
以便进入相应的中断服务程序。一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU在响应中断后会自动清除中断标志。
13.A/D转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么?答题要点:A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间。
当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路。
14.简述堆栈的作用及特点。
答题要点:
(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。
(2)用MOV SP,#STK指令建立堆栈。
(3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。
15.简述变址寻址方式并举例说明。
答题要点:
(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条:
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP @A+DPTR
前二条为查表指令,后一条为无条件转移指令
16.简述中断响应的主要内容。
答题要点:由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为:
(1)将程序计数器PC的内容(断点)压栈
(2)将中断入口地址装入PC,转去执行中断服务程序
17.简述汇编语言中的标号有什么规定?
答题要点:
(1)标号由1—8字符组成,头一个字符必须是字母。
(2)不能使用汇编语言已定义的符号。
(3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。
18. A/D转换器转换数据的传送有几种方式?
答题要点:
(1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。
(2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。
(3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
19. 简述单片机的主要特点。
答题要点:
1、具有优异的性能价格比
2、集成度高、体积小、可靠性高
3、控制功能强
4、低电压、低功耗
20. MCS-51单片机的P0~P3口在结构上有何不同?
答题要点:
P0:数据总线和低8位地址总线
P1:通用I/O接口
P2:高8位地址线
P3:多功能I/O接口
21. 简述下列基本概念:指令、指令系统、程序、汇编语言指令。
答题要点:
指令:指示计算机执行某种操作的命令。
指令系统:指一台计算机所具有的全部指令的集合。
程序:各种指令的有序组合。
汇编语言指令:用助记符形式书写的指令,汇编语言指令由操作码和操作数两部分组成。
22. 在功能上、工艺上、程序存储器的配置上,MCS-51单片机有哪些种类?
答题要点:
工艺:HMOS工艺和CHMOS工艺。
类型:基本型和增强型。
配置:片内无程序存储器、掩膜程序存储器ROM、EPROM。
23. 什么叫堆栈?堆栈指示器SP的作用是什么?
答题要点:
堆栈就是设置在片内RAM中的一段存储区域,它遵循先入后出的原则。
SP就是一个用来指示栈顶位置的8位寄存器,它指示出堆栈顶部在内部RAM块中的位置。
24. 简述寄存器间接寻址方式及其寻址范围。
答题要点:
(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式
称为寄存器间接寻址方式。
(2)寻址范围:
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。
25.MCS-51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。
答题要点:
MCS-51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。
26. 简述累加器的ACC的作用。
答题要点:
(1)8位专用寄存器。
(2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
27. 什么是中断优先级?
答题要点:
一般计算机系统允许有多个中断源,当几个中断源同时向CPU请求中断,要求服务的时候,就存在CPU优先响应哪一个中断源请求的问题,一般计算机根据中断源(所发生的
实时事件)的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别。
28. 简述MCS-51单片机的中断入口地址。
答题要点:
中断入口地址为中断响应后PC的内容即中断服务的入口地址。它们是:
外部中断0 0003H
定时器T0中断000BH
外部中断1 0013H
定时器T1中断001BH
串行口中断0023H
四.程序阅读分析题
1.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析4条指令执行完后上述各单元内容的变化。
(1)MOV A,@R1;
(2)MOV @R1, 40H;
(3)MOV 40H, A;
(4)MOV R1, #7FH;
[解](R1)=7FH ,(A)=60H ,(30H)=08H ,(40H)=60H
2. 阅读下列程序段并回答问题。1)、该程序执行何种操作? 2)、已知初值(60H)=23H,(61H)=61H,运行程序后(62H)=?
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
[解] 1)、该程序是单字节BCD码运算,是将(61H)—(60H)→62H
2)、(62H)=38H
3. 在划线处填上适当的值:
执行下列程序段中第一条指令后,(1)(P1.7)=__0__ (P1.3)=__0___,(P1.2)=_____0____;执行第二条指令后,(2)(P1.5)=____1_____,(P1.4)=____1_____,(P1.3)=____1_____。
ANL P1,#73H
ORL P1,#38H
4. 在划线处填上适当的值:
下列程序段执行后,(A)=___ 0DH(或13)______,(B)=___ 11H(或17)______。
MOV A,#0FBH
MOV B,#12H
DIV AB
5. 在划线处填上适当的值:
下列程序段执行后,(R0)=____ 7EH _____,(7EH)=___ FFH ______,(7FH)=___ 3FH ______。
MOV R0,#7FH
MOV 7EH,#0
MOV 7FH,#40H
DEC @R0
DEC R0
DEC @R0
6. 在划线处填上适当的值:
已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=___ 0BH ______,内部RAM(0AH)=___ 67H ______,(0BH)=___ 45H ______
PUSH DPL
PUSH DPH
7. 下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间?
MOV R3,#100;1
LOOP:NOP ;1
NOP
NOP
DJNZ R3,LOOP ;2
RET ; 2
[解] 一个机器周期为2μs;执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms
8. 阅读下列程序段,在横线上填写相应的内容:
已知(P0)=65H ,执行下列程序段后,(P0)= 71H
CPL P0.2
SETB C
MOV P0.4 ,C
9. 阅读下列程序段,在横线上填写相应的内容:
ORG 2000H
LACLL 3000H
ORG 3000H
RET
上边程序执行完RET指令后,PC= 2003H
10. 阅读下列程序段,在横线上填写相应的内容:
已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行下面程序段后( 40H ) =45H MOV @R0 , #11H
MOV A , R2
ADD A , 20H
MOV PSW , #80H
SUBB A , P0
XRL A , #45H
MOV 40H , A
11. 阅读下列程序段,在横线上填写相应的内容:
执行下列程序段后,(P1)=___ 9BH __。
MOV P1,#5DH
CPL P1.1
CPL P1.2
CLR P1.6
SETB P1.7
12. 阅读下列程序段,在横线上填写相应的内容:
ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H
当CPU响应外部中断0后,PC的值是2000H
13. 阅读下列程序段,在横线上填写相应的内容:
已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行下面程序段后(R0)= 36H (R2)= D6H:
MOV A , @R0
MOV R0 , A
MOV A , @R0
ADD A , 21H
ORL A , #21H
RL A
MOV R2 , A
RET
14. 阅读下列程序段,在横线上填写相应的内容:
执行下面程序段后,(R0)=__ 7FH __,(7EH)=_ 00H _,(7FH)=__ 41H _。
MOV R0,#7EH
MOV 7EH,#0FFH
MOV 7FH,#40H
1NC @R0
1NC R0
1NC @R0
15. 阅读下列程序段,在横线上填写相应的内容:
设(A)=38H,R0=28H,(28H)=18H,执行下面程序段后,(A)= 0E7H
ORL A,#27H
ANL A,28H
XCHD A,@R0
CPL A
16. 阅读下列程序段,在横线上填写相应的内容:
MOV R0,#data
MOV A,@R0
RL A
MOV R1,A
RL A
RL A
ADD A,R1
MOV @R0,A
RET
该程序的功能是(data)×10操作
17. RAM中40H单元内存有一个十六进制数,下列程序段把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中,请在横线上填写相应的内容。
ORG 2200H
MOV A,_____
MOV B,#64H
DIV AB
MOV R2,A
MOV A,_____
XCH A,B
DIV AB
SWAP _____
ORL A,B
SJMP $
END
答案:__40H___ _#0AH____ __A___
五.编程题
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
答题要点:先进行与操作,再进行或操作程序如下:
MOV C,ACC.1
ANL C,P2,0
MOV 12H,C
MOV,C,A CC.2
ANL C,P2.7
ORL C,12H
MOV P1.5,C
RET
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1。
答题要点:MOV R2,#10
MOV DPRT,#TABLE
LOOP:MOV X A,@DPRT;取一数
ORL A,#80H;最高位置1
MOV X @DPTR,A;写回原地址
1NC DPTR;处理下一单元
DJNZ R2,LOOP
RET
3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
答题要点:MOV R0,#30H
MOV R1,#00H
MOV R2,#20H
LOOP: MOV A,@R0;取数
MOV X @R1,A;存数
1NC R0
1NC R1
DJNZ R2,LOOP
RET
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
答题要点:利用移位指令作除8操作,程序如下:
MOV R2,#3
LOOP:CLR C
MOV A,R3
RRC A ;高字节除以2,末位移入C,高位补0
MOV R3,A ;暂存高字节
MOV A,R4
RRC A ;低字节除以2,高字节末位移入低字节高位
MOV R3,A
DJNZ R2,LOOP
RET
5. 两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H 单元。
答题要点:有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等MOV R0,#42H
MOV R1,#52H
LOOP:MOV A,@R0
CLR C ;不相等,FFH→40H
SUBB A,@R1
JNZ LOOP1 ;相等时,比较下一字节
INC R0
INC R1
DJNZ 41H,LOOP
MOV 40H,#0 ;所有字符均相等,则两字串相等。
RET
LOOP1:MOV 40H,#0FFH
RET
6. 按要求写出程序
将20H单元清零
[解] MOV 20H,#00H 或
CLR A
MOV 20H, A
7. 已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。[解] SQR:1NC A
MOVC A,@A+PC
RET
TAB:DB 0,1,4,9,16
DB 25,36,49,64,81
8.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=
10 0
1
x
x
x
> -
=
?
?
??
[解] MOV A,VAR
CJNE A,#0,COMP
SJMP RES ;x=0,Y=0
COMP:JNC POSI ;x>0,Y=1
MOV A,#0FFH ;x<0,Y=-1
SJMP RES
POSI:MOV A,#01H
RES:MOV FUNC,A
RET
9. 将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。[解] MOV DPTR,#8000H
MOV R0,#10H
MOV R2,#50H
LOOP:MOVX A,@DPTR ;取数
MOVX @R0,A ;存数
INC DPTR
INC R0
DJNZ R2,LOOP
RET