单片机原理题库
I.填空题
1.当8051的RST端上保持______个机器周期以上的低电平时,8051即发生复位。
2.若A中的内容为67H,那么,P标志位为______。
3. 8031复位时,通用寄存器组被选择为______,并行I/O口内部为______。
4. 8031中有______个______位定时器/计数器,有______种工作方式。
5.在8031单片机内部,其RAM高端128个字节的地址空间称为______区,但其中仅有______个字节有实际意义。
6.起止范围为0000H-3FFFH的存储器的容量是______KB。
7. MCS-51系统中,当晶振频率采用8MHZ时,一个机器周期等于______微秒。
8.当单片机复位时PSW= ______H,SP______,P0~P3口均为______电平。
9.在中断服务程序中,至少应有一条( )。
A、传送指令 B、转移指令 C、加法指令 D、中断返回指令
10.用串行口扩展并行口时,串行接口的工作方式应选为______。
11. 8031的堆栈可以开辟在______。
12.MCS-51单片机的一个机器周期包含了______个状态周期,每个状态周期又可划分为______拍节,一个机器周期实际又包含了______个振荡器周期。
13.MCS-51系统中,当______信号有效时,表示从P0口稳定地送出了低8位地址。
14. MCS-51单片机的片内数据存储空间的128字节单元通常可划分为3个区域,这3个区域分别是______、______、______。
15.若系统晶振频率为6MHz,则时钟周期为______us,机器周期为______us,最短和最长的指令周期分别为______us和______us。
16.通过堆栈操作实现子程序调用,首先就要把______的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到______。
17.时钟电路是计算机的心脏,它控制着计算机的______。
18. 8031有______个中断源,有______个中断优先级,可以实现______级中断嵌套。 19. 8051单片机的内部硬件结构包括了:______、______、______、______以及片内数据存储器、片内程序存储器、串行口、中断控制系统等部件,这些部件通过内部数据总线相连接。 20. 8031的异步通信口为______。(单工/半双工/全双工)
21.在MCS-51单片机系统中,当某中断源发出中断请求,单片机予以响应时,它必须处于______和______两级开中断状态。
22. 8031单片机复位后,R4所对应的存储单元的地址为______,因上电时PSW=______。这时当前的工作寄存器区是______组工作寄存器区。
23.在串行通讯中,收发双方对波特率的设定应该是______的。
24.堆栈遵循______的数据存储原则,针对堆栈的两种操作为______和______。
25.外部中断1所对应的中断入口地址为______H。
26.当MCS-51进行多机通讯时,串行接口的工作方式应选为( )。
A、方式0 B、方式1 C、方式2 D、方式0或方式2
27.通常单片机上电复位时PC=______,SP=______,而工作寄存器则缺省采用第______组,这组寄存器的地址范围是从______。
28.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为______。
29.计算机的系统总线有地址总线、______和______。
30. MCS-51单片机的并行I/O口信息有______和______两种读取方法,读-改-写操作是针对并
行I/O口内的锁存器进行的。
31. MCS-51单片机的P0-P4口均是______I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的______和______,在P0-P4口中,______为真正的双向口,______为准双向口。
32.8031的串行口是______双工的______步串行口,有______种工作方式。
33. MCS-51单片机系列有______个中断源。上电复位时, 同级中断的优先级别从高至低为______、______、______、______和______,若IP=00010100B,则优先级别最高者为______,最低者为______。
34. MCS-51内部提供______个可编程的______位定时/计数器,定时器有______种工作方式。 35. MCS-51单片机的外部中断触发方式可以是______或______。
36. MCS-51单片机的一个机器周期包含了______个状态周期,每个状态周期又可划分为______拍节,一个机器周期实际又包含了______个振荡器周期。
37.串行口的方式0的波特率为 ______。
38. MCS-51单片机的外部中断请求信号若设定为电平方式,只有在中断请求引脚上采样到______信号时,才能激活外中断。而在脉冲方式时,只有在中断请求引脚上采样到______信号时,才能激活外中断。
39.串行口方式3发送的第9位数据要事先写入______寄存器的______位。
40.堆栈是开辟在______中的具有______特性的数据缓冲区。
41.下列说法不正确的是:( )
A、同一级别的中断请求按时间的先后顺序响应。
B、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
C、低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
D、同级中断不能嵌套。
42.定时器/计数器的工作方式3是指的将______拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为______使用。
43.定时器的计数方式是对来自T0、Tl引脚的脉冲计数,输入的外部脉冲在______时有效,计数器加1。定时功能也是通过计数器计数来实现的,定时功能下的计数脉冲来自______。 44.定时器的计数方式是对来自T0、Tl引脚的脉冲计数,输入的外部脉冲在______时有效,计数器加1。定时功能也是通过计数器计数来实现的,定时功能下的计数脉冲来自______。 45.MCS-51单片机的最基本时间单位是______。
46.(68, 1)
单片机的存储器设计采用哈拂结构,它的特点是______。
47. MCS-5l单片机的控制电路包括了______、______、______和PC加1寄存器以及定时与控制电路等部件。
48. MCS-51单片机外部中断请求信号有电平方式和______,在电平方式下,当采集到/INT0、/INT1的有效信号为______时,激活外部中断。
49. 8031、8051、8751的区别是:8031内部______、8051内部______、8751内部______。 50.单片机存储器的主要功能是存储______和______。
51.MCS-5l单片机的堆栈区是设置在( )中。
A、片内ROM区 B、片外ROM区
C、片内RAM区 D、片外RAM区
52.串行口方式2接收到的第9位数据送______寄存器的______位中保存。
53.当MCS-51单片机接有外部存储器,P2口可作为( )。
A、数据输入口 B、数据的输出口
C、准双向输入/输出口 D、输出高8位地址
54.在8031单片机中,使用P2、P0口传送______信号,且使用了P0口来传送______信号,这里采用的是______技术。
55.定时器/计数器的工作方式3是指的将______拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为______使用。
56.溢出标志OV只有在进行______加法运算时才有意义,OV=0表示加法运算结果______,OV=l表示加法运算结果超出了A所能表达的符号数有效范围。
57.当单片机的型号为8031/8032时,其芯片引线EA一定要接______电平。
58.在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为______。 59. MCS-51单片机的运算电路包括了______、______、______以及状态字寄存器PSW和暂存寄存器等部件。
60.在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为______。
61. MCS-51单片机8031中有______个______位的定时器/计数器,可以被设定的工作方式有______种。
62.已知fosc=12MHz, T0作为定时器使用时,其定时时间间隔为______。
63.单片机是面向______的。
64.内部RAM中,位地址为30H的位,该位所在字节的字节地址为______。
65.单片机与普通计算机的不同之处在于其将______、______和______三部分集成于一块芯片上。
66.下列四条叙述中,有错误的一条是( )。
A、16根地址线的寻址空间可达1MB
B、内存储器的存储单元是按字节编址的
C、CPU中用于存放地址的寄存器称为地址寄存器
D、地址总线上传送的只能是地址信息
67.若PSW为18H,则选取的是第______组通用寄存器。
68.单片微型计算机由CPU、______和______三部分组成。
69.若A中的内容为63H,那么,P标志位的值为______。
70.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式______。 71.若MCS-51外扩32KB 数据存储器的首地址若为4000H,则末地址为______H。
72.串行口工作方式1的波特率是:( )
A、固定的,为fOSC/32。
B、固定的,为OSC。
C、可变的,通过定时器/计数器T1的溢出率设定。
D、固定的,为OSC。
73. 32KB RAM存储器的首地址若为2000H,则末地址为______H。
74.MCS-51单片机外部中断请求信号有电平方式和______,在电平方式下,当采集到/INT0、/INT1的有效信号为______时,激活外部中断。
75.在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问______存储器提供地址,而DPTR是为访问______存储器提供地址。
76. 8031有______个双向______位输入/输出口。 f/64f/16
77.指令的编码规则称为______。
78. 若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先响应( )。
A、INT1 B、INT0 C、T1 D、T0
79. MCS-51单片机访问外部存储器时,利用______信号锁存来自______口的低8位地址信号。 80.要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容是( )。A、98H B、84H C、42H D、22H
81.配合实现“程序存储自动执行”的寄存器是______,对其操作的一个特别之处是______。 82.MCS-51单片机是______位的单片机。
83.使用定时器T1时,有几种工作模式( )。
A、1种 B、2种 C、3种 D、4种
84.用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择( )。
A、方式0 B、方式1 C、方式2 D、方式3
85. MCS-51系列单片机的典型芯片分别为______、______、______。
86.若MCS-51外扩8KB 程序存储器的首地址若为1000H,则末地址为______H。
87.欲对300个外部事件计数,可以选定定时/计数器T1的模式______或模式______。 88.8031的堆栈指针为______,复位时被设置为______。
89. ______和______是计算机硬件的核心,称为中央处理器(CPU)。
90.MCS-51响应中断时,下面哪一个条件不是必须的( )。
A、当前指令执行完毕 B、中断是开放的 C、没有同级或高级中断服务 D、必须有RETI指令 91.8031的一个机器周期由______个振荡周期组成。
92.MCS-51系列单片机中,片内无ROM的机型是______,有4KB ROM的机型是______,而有4KB EPROM的机型是______。
93.MCS-5l单片机的最大程序寻址空间是______,该空间的地址范围为:______至______,系统上电复位后的程序入口地址为______。
94.中断请求信号有______触发和______触发两种触发方式。
95.在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问______存储器提供地址,而DPTR是为访问______存储器提供地址。
96.对于内部没有程序存储器的单片机,EA必须______。
97.当MCS-51执行MOVC A,@A+ DPTR指令时,伴随着______控制信号有效。 98.MCS-51单片机的P0-P4口均是______I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的______和______,在P0-P4口中,______为真正的双向口,______为准双向口。
99.MCS-51单片机的外部中断请求信号若设定为电平方式,只有在中断请求引脚上采样到______信号时,才能激活外中断。而在脉冲方式时,只有在中断请求引脚上采样到______信号时,才能激活外中断。
100.使用8031芯片时,需将/EA引脚接______电平,因为其片内无______存储器。 101.8031内部数据存储器的地址范围是______,位地址空间的字节地址范围是______,对应的位地址范围是______,外部数据存储器的最大可扩展容量是______。
102.若系统晶振频率为12MHz,则T0工作于定时和计数方式时的最高计数信号频率分别为______KHz和______KHz。
103.通过串行口发送或接收数据时,在程序中应使用:( )
A、MOVC指令 B、MOVX指令 C、MOV指令 D、XCHD指令
104. MCS-51单片机的通讯接口有______和______两种型式。在串行通讯中,发送时要把______数据转换成______数据。接收时又需把______数据转换成______数据。
105.MCS-51单片机的时钟可以由______产生,也可以由______产生。
106.已知fosc=12MHz, T0作为定时器使用时,其定时时间间隔为______。
107.起止范围为0000H~3FFFH存储器的容量为______KB。
108.指令周期是以______为单位的。
109.当单片机复位时PSW= ______H,这时当前的工作寄存器区是______区,R6所对应的存储单元地址为______H。
110.片内RAM的20H~2FH为位寻址区,所包含的位地址是( )。
A、00H一20H B、00H~7FH
C、20H~2FH D、00H~FFH
111.如果手中仅有一台示波器,可通过观察______引脚的状态,来大致判断MCS-51单片机正在工作。
112.汇编语言指令中的操作数用于给指令的操作提供______。
113.访问8031片外数据存储器采用的是______寻址方式。
114.指令格式是由______和______所组成,也可能仅由______组成。
115.立即寻址,其操作数在______中。
116.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的______。
117.特殊功能寄存器只能采用______寻址方式。外部扩展的数据存储器只能用______指令访问。
118.在寄存器间接寻址方式中,间址寄存器中存放的数据是( )。
A、参与操作的数据 B、操作数的地址值
C、程序的转换地址 D、指令的操作码
119.(91, 1)
MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为______KB。
120.MCS-51单片机PC的长度为______位,SP的长度为______位,数据指针DPTR的长度为______位。
121.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANL A, #17H
ORL 17H, A
XRL A, @R0
CPL A
后,A的内容为______。
122.查表指令MOVC A,@A+DPTR所查表格可在64KB______中的任意位置。
123.寻址方式分为对______的寻址和对______的寻址两大类。
124.查表指令MOVC A,@A+PC所查表格存放在该查表指令以下______个单元内。
125.汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对______进行某种控制。 126.通过堆栈操作实现子程序调用,首先就要把______的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到______。
127.下列程序段的功能是______。
PUSH PUSH POP POP A B A B
128.指令ALMP的跳转范围是( )。
A、256B B、1KB C、2KB D、64KB
129.假定累加器A的内容30H,执行指令:
1000H:MOVC A,@A+PC
后,把程序存储器______单元的内容送累加器A中。
130.在变址寻址方式中,以______作为变址寄存器,以______作基址寄存器。
131. JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为______。
132.变址寻址,其操作数在______中。
133.若单片机的晶振频率fosc=8MHz,则执行一条MUL AB指令所需时间为______us。 134.假设外部数据存储器2000H单元的内容为80H,执行下列指令后:
MOV P2,#20H MOV R0,#00H MOVX A,@R0累加器A中的内容为______。
135.指令格式由______和______这两部分组成。
136. MCS-51单片机指令系统的寻址方式有______、______、______、______、______、基址寄存器加变址寄存器间接寻址方式、相对寻址方式 。
137.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( )。
A、MOV B、MOVX C、MOVC D、以上都是
138.指令LCALL 37B0H,首地址在2000H,所完成的操作是______入栈,______送入PC。 139.设A=55H,R5=AAH,则执行ANL A,R5指令后的结果是A=______,R5=______。 140.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
POP POP POP DPH DPL SP 则:DPH=______,DPL=______,SP=______。
141.假定,SP=60H,A=30H,B=70H,执行下列指令:
PUSH A
PUSH B
后,SP的内容为______,61H单元的内容为______,62H单元的内容为______。
142.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后,A的内容为______。
143.用并行口扩展一个有32只按键的行列式键盘,最少需要______根I/O线。
144.74LS273通常用来作简单______接口扩展;而74LS244则常用来作简单______接口扩展。 145.12根地址线可选______个存储单元,32KB存储单元需要______根地址线。
146. 8253可编程芯片通常作为______扩展之用。
147.写8255A控制字时,需将A1、A0置为______。
148.若你正在编辑某个文件,突然断电,则计算机中______类型存储器中的信息全部丢失,且通电后也不能自动恢复。
149.若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为______。 150.如果8255端口A设置为方式2,则端口B设置为( )。
A、只可以方式0 B、也可以方式2 C、除方式2外,其它方式均可 D、任意方式
151.半导体存储器的最重要的两个指标是______和______。
152. DAC0832是______接口。
153. A/D转换器的三个重要指标是______、______ 和______。
154.在异步通信中若每个字符由11位组成,串行口每秒传送250个字符,则对应波特率为______。 155.在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的______端提供信号。 156. 8279芯片中的16字节显示缓冲区,其数据应该送待显示符的______码。
157. 8155可编程芯片通常作为______扩展之用。
158.在串行通信中采用偶校验,若传送的数据为0A5H,则其奇偶校验位应为______(用”0” “1”表示)。
159. 8279可编程芯片通常作为______扩展之用。
160.已知RAM芯片6116(2KBX8位)的内部存储单元排列为128行X16列,请问所采用的内部双译码行输入地址线为______根,列输入地址线为______根,该片共占用______根地址线。 161. 8255A是______的通用______行接口。
162. 8255可编程芯片通常作为______扩展之用。
163. CPU寻址外设端口地址的方法有______编址和______编址两种。
164.(132, 1)
I/O端口与外部设备之间传送的信息可分为______类。
165.欲增加8KBX8位的RAM区,请问选用Intel2114(1KBX4位)需购______片;若改用
Intel6116(2KBX8位)需购______片;若改用Intel6264(8KBX8位)需购______片。
166.不带输入数据锁存器的D/A转换器,CPU必须通过______器件与D/A转换器传送数据。无三态输出功能的A/D转换器,应当通过______器件与CPU传送数据。
167.MCS-51单片机中扩展I/O口占用片外______存储器的地址空间。
168.11根地址线可选______个存储单元,16KB存储单元需要______根地址线。
169. RS-232电平与TTL电平需要进行______。
170. CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( )。
A、混合编址 B、动态编址 C、独立编址 D、变址编址
171.从输入模拟量到输出稳定的数字量的时间间隔是A/D转换器的技术指标之一,称为______。 172.ADC0809是______接口。
173.若用8255或8155来扩展一个有32只按键的行列式键盘,最少需要______根I/O线。 174.MCS-51外扩一个8255时,需占用( )个端口地址。
A、1个 B、2个 C、3个 D、4个
175. 8255A的PA口有______种工作方式,PB口有______种工作方式。
176.利用8155H可以扩展______个并行口,______个RAM单元。
177. RS-232是______总线标准。
178.一个2输入二进制译码器,共有______个输出。
179.三态缓冲寄存器的”三态”是指______态,______态,______态.
180.74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中______块芯片。
181.若LED为共阳极接法(即负逻辑控制),则提示符P的七段代码值应当为______H。 182. CPU与内存或I/O接口相连的系统总线通常由______、______、______等三种信号线组成。
II.单项选择
1.MCS-51的并行I/O口信息两种读取方法,一种是读引脚,还有一种是( )。 A、 读锁存 B、 读数据 C、 读A累加器 D、 读CPU
2.20根地址线的寻址范围可达( )。
A、 512KB B、 1024KB C、 640KB D、 4096KB
3.8051与8751的区别是:( )
A、内部数据存储但也数目的不同 B、内部数据存储器的类型不同
C、内部程序存储器的类型不同 D、内部的寄存器的数目不同
4.MCS-51的并行I/O口读-改-写操作,是针对该口的( )。
A、 引脚 B、 片选信号 C、 地址线 D、 内部锁存器
5.PC的值是( )。
A、当前正在执行指令的前一条指令的地址 B、当前正在执行指令的地址
C、当前正在执行指令的下一条指令的地址 D、控制器中指令寄存器的地址
6.通常所说的主机是指:( )
A、运算器和控制器 B、CPU和磁盘存储器 C、CPU和主存 D、硬件和软件
7.主存储器系统中使用Cache的目的是( )。
A、 增加主存容量 B 、存放常用的系统程序
C、 存放固化的软件 D 、提高CPU存取主存的速度
8.在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是:( )
A、PC B、PSW C、A D、SP
9.计算机工作时,能写入也能读出的半导体存储器是( )。
A、 RAM B 、ROM C、 磁盘 D、 磁带
10.PC是:( )
A、一根硬件信号线 B、一个可由用户直接读写的8位RAM存储器 C、一个不可寻址的特殊功能寄存器 D、一个能自动加1计数的ROM存储单元
11.( )并非单片机系统响应中断的必要条件。
A、 TCON或SCON寄存器内的有关中断标志位为1
B、 IE中断允许寄存器内的有关中断允许位置1
C、 IP中断优先级寄存器内的有关位置1
D、 当前一条指令执行完
12.MCS-51系统单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( )。 A 、P0口和P2口 B 、P0口 C、 P2口和P3口 D、 P2口
13.下列数据中有可能是八进制的是:( )
A、764 B、238 C、396 D、789
14.所谓“裸机”是指:( )
A、单片机 B、单板机 C、只装备操作系统的计算机 D、不装备任何软件的计算机 15.访问片外数据存储器时,不起作用的信号是( )。
A、/RD B、/WR C、/PSEN D、ALE
16.在CPU中,控制器的功能是:( )
A、进行逻辑运算 B、进行算术运算 C、分析指令并发出相应的控制信号 D、只控制CPU的工作
17. 各中断源发出的中断请求信号,都会标记在MCS-51系统中的( )。
A、TMOD B、TCON/SCON C、IE D、IP
18.区分片外程序存储器和数据存储器的最可靠方法是( )。
A 、看其芯片型号是RAM还是ROM B 、看其位于地址范围的低端还是高端 C 、看其离MCS-51芯片的远近 D、 看其是被/RD信号连接还是被/PSEN信号连接
19.下列四条叙述中,有错误的一条是( )。
A、16根地址线的寻址空间可达1MB
B、内存储器的存储单元是按字节编址的
C、CPU中用于存放地址的寄存器称为地址寄存器
D、地址总线上传送的只能是地址信息
20.MCS-51单片机可分为两个优先级别,各中断源的优先级别设定是利用寄存器( )。 A、IE B、 IP C、 TCON D、 SCON
21.电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( )
A、牛顿 B、爱因斯坦 C、爱迪生 D、冯.诺伊曼
22.中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:( )
A、当前正在执行高优先级中断处理
B、当前正在执行RETI指令
C、当前指令是DIV指令,且正处于取指令的机器周期
D、当前指令是MOV A, R3
23.下列4种不同进制的无符号数中最小的数是:( )
A、11011001B B、370(八进制数) C、75 D、2AH
24.计算机能直接识别的语言是:( )
A、汇编语言 B、自然语言 C、机器语言 D、高级语言
25. 指令AJMP的跳转范围是( )。
A、256 B、1KB C、2KB D、64KB
26.某种存储器芯片是8KB*4/片,那么它的地址线根数是( )。
A、11根 B、12根 C、13根 D、14根
27.CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是
( )。 .
A、混合编址 B、动态编址 C、独立编址 D、变址编址
28.( )不属于微型机引入中断技术后的好处。
A、 分时操作 B、 实时处理 C、 故障处理 D、 高速传送数据
29. 外部中断1固定对应的中断入口地址为( )。
A、0003H B、000BH C、0013H D、001BH
III.简答题
10.请写出与串行口相关的SFR,串行口的哪些方式通信波特率和T1有关?
与串行口相关的SFR:SCON、PCON 串行口的方式1、方式3通信波特率和T1有关
12.IE是什么寄存器?有何作用?
13.8031有一个全双工的异步串行口,可同时发送和接收。但发送中断TI和接收中断RI的中断处理程序入口地址却只有一个。问如何区分是发送TI中断还是接收RI中断?
因为8031串行口的发送中断TI和接收中断RI的中断处理程序入口地址却只有一个,故需用软件判别是TI中断还是RI中断,并且中断响应后,中断标志RI或TI也要由软件清除。
14.8031的定时器/计数器的方式2是什么工作方式?和串行口有何关系?
8031的定时器/计数器方式2是8位自动重装载方式,经常用作串行口的波特率发生器。 22.IP是什么寄存器?有何作用?
。
26.什么是单片机? 将组成微机的基本功能部件CPU、存储器和I/O接口集成在一片大规模集成电路芯片上的计算机叫单片机。
27.为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?
因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。已知时钟频率、通讯波特率,根据公式:
SMODfOSC2波特率=3212(256X),计算出初值。
29.“寄存器间接寻址,其操作数只在内部RAM中。”这种说法是否正确,若不正确,请改正。 错误。寄存器间接寻址的操作数在内部RAM或外部RAM中。
30.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?
采用方式1定时工作方式。最大脉冲宽度为131.072ms。
31.什么是单片机应用系统?
给单片机配上适当的外围设备和软件,便可构成一个单片机应用系统。
32.PSW是什么寄存器?有何作用?
33. 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?
定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。
36.单片机的主要应用领域是哪些?
主要应用在智能仪表、机电一体化、实时控制、分布式多机系统、家用电器等领域。 38.8031的位寻址区在哪里?
内部RAM中20H~2FH单元;特殊功能寄存器中地址为8的倍数的特殊功能寄存器。 42.什么是指令周期?MCS-51的机器周期和时钟周期有何关系?其机器周期和指令周期有何关系?
CPU取出一条指令到该指令执行完所需的时间称为指令周期。MCS-51的一个机器周期由12个时钟周期组成。一个指令周期有1~4个机器周期。
44.“外部数据存储器可以采用直接寻址和寄存器间接寻址。”这种说法是否正确,若不正确,请改正。错误。外部数据存储器只能采用寄存器间接寻址。
45.TRi和TFi是什么?有什么作用?
TRi是定时器/计数器的运行控制位,控制定时器/计数器的定时启动和停止。
TFi是定时器/计数器的溢出标志位,寄存定时器/计数器的溢出状态。
46.“8031的定时器与计数器是两个不同的功能部件,其工作原理亦不同。”这种说法是否正确?
如不正确,请改正。
错误。8031的定时器与计数器是同一个功能部件--计数器,其工作原理相同,都是对输入脉冲
进行加1计数。
52. 写出MCS-51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪
些中断源必须用软件清除,为什么?
外部中断INTO.定时器/计数器中断T0.外部中断INT1.定时器/计数器中断T1.串行口中断. 其中串行口中断TI与RI必须用软件清“0”,因为串口中 断的输出中断为TI,输入中断为RI,比用软
件清“0”。
53.单片机的特性主要有哪些?
单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点
54.当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?
由T1(P3.5)口控制定时器T1的启动和关闭。
62.8031应用系统有二个中断优先级,其中串行口的RI中断设置为高优先级,定时器T1设置为
低优先级。若CPU正在响应RI中断,现在T1产生中断,问T1中断是否可以打断正在响应的RI中断?
为什么?
不可以。因为在此系统中,RI是高优先级中断,T1是低优先级中断,低优先级中断不能打断高
优先级中断。
69.各中断源对应的中断服务程序的入口地址是否能任意设定?
各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。
71.8031、8051、8751有何异同?
8051、8751和8031均为8位单片机,其内部结构是基本相同的。不同点为:8051内部有4KBROM,
8751内部有4KBEPROM,而8031内部无程序存储器。
75.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?
定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。
77.“在MCS-51单片机中,外部数据存储器和外部I/O口在不同的地址空间。”这种说法是否正确,
如不正确,请改正。
不正确。MCS-51单片机的外部数据存储器和外部I/O口是统一编址的,都在同一个地址空间内。
83.在需扩展外部数据存储器时,其地址总线、数据总线、控制总线分别是哪些?
地址总线高8位P2口、地址总线低8位P0口;数据总线:P0口(分时复用);控制总线:ALE、RD。
85.特殊功能寄存器在哪里?
特殊功能寄存器离散地分布在内部RAM 80H~FFH的地址空间。
87.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?
方式一,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定时器;
在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时器。这种方式的定时时
间为两个定时器定时时间的和。
方式二,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由P1.0接INT0产生),另
一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间乘以另一个
定时器的计数值。
88.8031单片机内部有128字节地址连续的RAM区,它可以用来存放和执行指令吗?请说明其主
要用途。
此区是数据存储区,仅8位地址,没有配备PC程序计数器访问此区的引线,所以不能执行指令,
一般也不适合存放指令(如果非要把指令机器码作为普通数据暂时存放还是可以的)。
其主要用途是:低端4×8B是通用寄存器区,常作为与CPU配合使用的通用寄存器组;
20H~2FH属于位寻址区,常用于存放I/O控制中的各种二态信息;高端部分是普通数据缓冲区,
可作为堆栈区或一般数据存储之用。
89.“8031的串行口是一个全双工的异步串行通信接口。可以发送和接收数据,但不能同时进行。”上述说法是否正确,如不正确,请改正
不正确。8031的串行口是一个全双工的异步串行通信接口,在物理上,串行口的数据发送和数据接收缓冲器是两个功能部件,可以同时发送和接收数据。
90.MCS-51单片机内部有几个定时/计数器?它们由哪些寄存器组成?
MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0(T0)和定时器1(T1)。它们分别由方式寄存器TMOD、控制寄存器TCON和数据寄存器TH0、TL0,TH1、TL1组成。 91.“设在某MCS-51应用系统中各中断源都被编程为相同的中断优先级。因为MCS-51可以实现二级中断嵌套,而定时器T0的中断优先级高于串行口的中断优先级,所以定时器T0的中断可以打断正在执行的串行口中断服务程序。” 以上说法是否正确,如不正确请说明原因,并改正。 不正确。因为一个正被执行的低优先级中断服务程序能被高优先级中断所中断,但不能被另一个同级或低优先级的中断源所中断。
在MCS-51应用系统中各中断源都被编程为相同的中断优先级。定时器T0的中断优先级高于串行口的中断优先级只是在同一优先级中的查询顺序,所以定时器T0的中断不可以打断正在执行的串行口中断服务程序。
94. MOV P1,#0FFH这条指令应当理解为输出全”1”到P1口呢,还是理解为从P1口读引脚的预备动作?
这要看P1口所接是何种外设,也要看程序中的上下文,不能断然理解为前者或后者.若所接外设为单纯输出设备,则理解为送出全”1”信号;若所接外设为单纯输入设备,则理解为读并口数据之前的预备动作;若所接外设为输入/输出双向传输设备,则要根据程序流程及该指令之前的程序意图去理解。
97.直接寻址方式可以访问哪些存储空间?
直接寻址方式可以访问三种存储空间:(1)特殊功能寄存器;(2)内部数据存储器低128字节;
(3)位地址空间。
99.8031有哪几种寻址方式?
8031有五种寻址方式,分别是寄存器寻址、直接寻址、立即寻址、寄存器间接寻址、基变址寻址。
101. 编写出外部中断1为跳沿触发的中断初始化程序。
SETB IT1 SETB EX1 SETB EA
102.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断。
112.如果某一单片机系统有一外部中断1的中断服务程序INTPl放置在程序存储区的2000H地址开始的一段存储空间中。请问,在编程时应该作何种设置,才能在CPU响应外部中断1时找到对应的中断服务程序INTPI?
MCS一51单片机外部中断1的中断地址区为0013H~001AH,当外部中断1的中断服务程序INTPl放置在程序存储区的2000H开始的存储区,此时,在编程时通过以下方式,可实现对中断服务程序的执行:ORG 0013H JMPINTPl或(JMP 2000H)
114.并行接口的扩展有好几种方法,请问在什么情况下采用8155芯片扩展较为合适?
若某单片机系统既需要扩展一定数量的并行I/O口(不超过16~22位),又需要扩展少量RAM(不超过字节),还需要一个定时器(不超过14位计数)的时候,选用8155芯片最为经济实用。 选用8155芯片的另一个好处是,若不再扩展其他功能,则还可以省去地址锁存器芯片74LS273。 115.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?
静态显示期间1.锁存器输出的段码不变;2.亮度大,各位LED的段选分别控制;3.位数多硬件电路复杂动态:优点1.所有位段码线并连一起,2.各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单
117.假设8155H的TIMERIN引脚输入的频率为4MHz?问8155H的最大定时时间是多少?
8155H记数器的初值范围是:3FFFH-2H。当频率为4MHz,初值为3FFFH时,最大定时时间为:16383/4E+6=0.00409575S
119.8155H的端口都有哪些?哪些引脚决定端口的地址?引脚TIMERIN和TIMEROUT的作用是什么?
8155H的端口有以下几种:命令/状态寄存器、A口、B口、C口、计数器和RAM单元。引脚A2、A1、A0决定端口地址。TIMERIN是计数器输入线,输入的脉冲上跳沿用于对8155H片内的14位计数器减一。14位计数器减为0时就可以在该引线上输出脉冲或方波,输出的信号的形状与所选的计数器工作方式有关。
127. 8255A的方式控制字和C口按位置位/复位控制字都可以写入8255A的同一控制寄存器,8255A是如何区分这两个控制字的?
8255A通过它们的最高位来进行判断,最高位为1时,这时8255A认为这是方式控制字,否则认为是C口按位置位/复位控制字。
128.请分析A/D转换器产生量化误差的原因。具有8位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少?
因为A/D转换器的输入是连续信号,而输出是离散信号(数字量)。当输入的模拟信号变化很微小时,输出的数字量却不敏感,仍然保持不变。对于8位A/D转换器,实际满量程电压为5V,则其量化单位(LSB)为5/255≈0.0196V,考虑到A/D转换时会进行4舍5入处理,所以最大量化误差为±1/2LSB,即0.0098V或9.8mV。
129.A/D转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么? A/D转换接口中“采样保持电路”的作用是:能把一个时间连续的信号变换为时间离散的信号,并将采样信号保持一段时间。 当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期内可视为直流信号的情况下,可以省略采样保持电路。
130.程序查询方式与程序中断方式有何异同之处?
相同之处:都是由CPU通过程序来传送数据,都需要借助CPU工作;不同之处:直接程序传送(包括无条件传送和查询式I/O传送)方式对接口电路的要求很简单,但对传送信息的时间要求很严格,且占用了CPU的大量时间,效率低下.而中断传送方式可大大提高CPU利用率,允许多个外设并行工作,但硬件线路销复杂。
134. 8255有哪几种工作方式?怎样选择其工作方式?
8255A有三种工作方式: 方式0:基本输入/输出方式。方式1:选通输入输出方式。方式2:双向总线方式。
8255的工作方式选择是通过对控制口输入控制字来实现的
138.8279中扫描计数器有两种工作方式,这2种工作方式各应用在什么场合?
按编码方式工作时,计数器作二进制计数。4位计数状态从扫描线SL0-SL3输出,经外部译码器4线-16线译码后,为键盘和显示器提供16中取1的扫描线。按译码方式工作时,扫描计数器的最低2位在8279内部被译码后,从SL0-SL3输出,为键盘和显示器直接提供了4中取1的扫描线。 139.A/D转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么?
A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间。 当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路。
141.请简单叙述2764芯片的功能、容量,在电路中起什么作用?
2764为EPROM型存储器,其容量为8K,在电路中通常是作为程序存储器使用。
142.请简单叙述6264芯片的功能、容量,在电路中起什么作用?
6264为随机存储器,其容量为8K,在电路中通常是作为数据存储器使用
147.单片机用于外界过程控制中,为何要进行A/D、D/A转换?
微型机算计只能处理数字形式的信息,但是在工程中遇到的连续变化的物理量。例如:温度、压力、流量、光通量、位移量以及连续变化的电压、电流等。对于非电信号的物理量,必须先由传感器(transducer)进行检测,并且转换为电信号,然后经过放大器放大的0~5V电平的模拟量。所以必须加接模拟通道接口,以实现模拟量和数字量之间的转换。
IV.判断题
1.单片机是面向数据处理的。
2.可以通过将系统软件中常用部分固化的办法来提高计算机的性能。
3.DPTR是可以访问的,而PC不能访问。
4.MCS-51单片机的P3口是一个单一功能的准双向通用I/O口。
5. MCS-51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于1个机器周期。
6.在微机性能指标中,CPU的主频越高,其运算速度越快。
7.8031的CPU是由RAM和EPROM所组成。
8.内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被/RD还是被/PSEN信号连接。 10.MCS-51单片机中的PC是不可寻址的。
11.89C51的最小应用系统中需要地址锁存器来进行数据总线和地址总线低8位的分离。 12.单片机的主频越高,其运算速度越快。
13.ROM是只读存储器,在通用计算机中执行的用户程序和数据是经常变更的,因此通用计算机中只用RAM,不用ROM。
14.发送数据的第9数据位的内容在SCON寄存器的TB8位预先准备好的。
15.内部RAM的位寻址区,既能位寻址,又可字节寻址。
16.特殊功能寄存器SCON与定时器/计数器的控制无关。
17. MCS-51系统中的P0~P3四个端口中,只有P1才是真正的I/O接口。
18. 8031与8751的区别在于内部是否有程序存储器。
19. 串行口通信的第9数据位的功能可由用户定义。
20.在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。
21.各中断源发出的中断请求信号,都会标记在MCS-51的TCON寄存器中。
22.串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。
23.程序计数器PC不能为用户编程时直接使用,因为它没有地址。
24.8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
25.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。
26.串行通讯发送时,指令把TB8位的状态送入发送SBUF。
27.为使准双向的I/O口工作在输入方式,必须保证它被预先置为”1”。
28.SP内装的是栈顶首址的内容。
29.在MCS-51T系统中,一个机器周期等于2us。
30.由于MCS-51的串行口的数据发送和接收缓冲器都是SBUF,所以其串行口不能同时发送和接
收数据,即不是全双工的串行口。
31. MCS-51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于1个机器周期。
32. 特殊功能寄存器SP内装的是栈顶首地址单元的内容。
33.程序计数器PC的地址为DOH,是可以寻址的专用寄存器。
34.区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。
35.PC是1个不可寻址的特殊功能寄存器。
36.CPU由RAM和ROM两部分组成。
37.所有计算机系统的堆栈都是向地址高端逐渐生长的,即均为“向上生成”堆栈。
38.区分外部程序存储器和数据存储器的最可靠的方法是看其是被/WR还是被/PSEN信号连接。 39.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。
40.串行口工作方式1的波特率是固定的,为fosc/32。
41.在MCS-51系统中,一个机器周期等于1us。
42.程序计数器PC中装的内容是当前正在执行指令的地址。
43.微型计算机与一般计算机的主要区别是体积小、重量轻、耗电少、价格便宜。
44.指令周期是执行一条指令的时间。
45.定时器与计数器的工作原理均是对输入脉冲进行计数。
46.8031单片机的有效复位电平是低电平。
47.定时器T0中断可以被外部中断0中断。
48.PC可以看作是指令存储区的地址指针。
49.所有的十进制小数都能准确地转换为二进制小数。
50.PC可以看成使程序存储器的地址指针。
51.堆栈主要是为中断操作以及子程序调用而设立的,其功能主要是保护断点地址和保护现场。 52.当MCS-51执行MOVX @DPTR,A指令时,伴随着WR信号有效。
53.判断指令的正误:CJNE A,#00,LL1 (其中LL1为标号)
54.判断指令的正误:CLR R0
55.立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。
56.如果指令系统中不给用户提供PUSH、POP指令的话,则设立堆栈毫无意义。
57.判断指令的正误:MOVX P0,A
58.调用子程序及返回与堆栈有关。
59.判断指令的正误:JBC F0,LL1(其中LL1为标号)
60.判断指令的正误:MOV R3,R2
61.当MCS-51执行MOVX A,@R1指令时,伴随着/WR信号有效。
62.指令中直接给出的操作数称为直接寻址。
63.MOV @R0,P1在任何情况下都是一条能正确执行的MCS-51指令。
64.转移指令中的偏移量rel是一个无符号的8位二进制数。
65.调节用子程序指令(如CALL)及返回指令(如RET)与堆栈有关但与PC无关。
66.判断指令的正误:MOV R3,A
67.判断指令的正误:ANL ACC.0,#0
68.判断指令的正误:MOV R2,#0
69.判断指令的正误:XCH B,A
70.判断指令的正误:ANL R6,A
71.在MCS-51系统中,PUSH、POP动作每次仅处理一个字节。
72.判断指令的正误:POP ACC
73.指令中直接给出的操作数称为直接寻址。
74.判断指令的正误:RRC R0
75.MCS-51单片机可执行指令:MOV 35H,@R3。
76.判断指令的正误:MOVX @R1,A
77.判断指令的正误:PUSH A
78.判断指令的正误:DJNZ R2,LL1(其中LL1为标号)
79.判断指令的正误:MOV T0,#3CF0H。
80.判断指令的正误:ADDC A,@R1
81.当向堆栈压入一个字节的数据后, SP中的内容减1。
82. END表示指令执行到此结束。
83.判断指令的正误:ACALL PROC(其中PROC为标号)
84.判断指令的正误:XCH R2,A
85.判断指令的正误:CALL PROC(其中PROC为标号)
86.判断指令的正误:ORL 50H,#10H
87.通常每人外部设备都有一个端口寄存器与主机交换信息,因此,主机只能用一个惟一地址来访问一个外部设备。
88.在8155H芯片中,决定端口和RAM单元编址的信号线是AD7-AD0和/WR。
89.输入/输出设备必须通过I/O接口才能接到系统总线上和主机进行信息交换。
90.D/A转换器可以直接与单片机的三总线向连。
91.“转换速度”这一指标仅适用与A/D转换器,D/A转换器可以忽略不计转换时间。
92.当输入全为“1”时,输出电压与理想输入量之差,称为A/D转换器的满刻度误差。 93.RAM是非易失性的存储器,即使电源关断,其内容也不会丢失。
94.8255A具有三态缓冲器,因此可以直接挂在系统的数据总线上。
95.8279是一个用于键盘和LED(LCD)显示器的专用芯片。
96.锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。
97.DMA方式在传送过程中,地址修改,字节计数等操作完全由硬件电路来实现。
98.当输入全为“1”时,输出电压与理想值之间的误差,称为D/A转换器的满刻度误差。 99.ADC0809是8位逐次逼近式模/数转换接口。
100.LED的字型码是固定不变的。
101.输出模拟量的最小变化量称为A/D转换器的分辨率。
102.8255A的B口可以设置成方式2。
103.锁存器,三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。
104.设置显示缓冲区的目的是为了存放供显示的数字或字符。
105.逐次比较型A/D转换器与双积分A/D转换器比较,转换速度比较慢。
106.MCS-51单片机片内定时器T0和T1无法实现硬件直接级联,而8253定时器则可以实现。 107.“接口芯片初始化”的含义,是向控制字寄存器写入与该芯片工作方式有关的一串控制信
息。
108.在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或中断请求信号使用。
109.EPROM中存放的信息在计算机执行程序时只能读,且断电后仍能保持原有的信息。 110.串行口没有对应的可变成外围接口芯片。
111.“数字量”与“开关量”的含义没有什么区别。
112.动态RAM组成的存储器,必须进行周期性刷新,否则存放内容就会丢失.刷新对于用户是透明的。
113.8255芯片可以用来实现双机并行通信,而8155芯片则不行。
114.为给以扫描发方式工作的8*8键盘提供接口电路,在接口电路中只需要提供2个输入口和1个输出口。
115.输出的数字量变化一个相邻的值所对应的输入模拟量的变化值称为D/A转换器的分辨率。 116 P1口最低位上接入了打印机的BUSY信号,则查看该信号的指令是MOV C,P1.0。
117.ADC0809可以利用“转换结束“信号EOC向CPU发出中断请求。
118.主存与外部设备统一编址时,需要专门的输入输出指令。
119.若外设控制器中的寄存器和主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的I/O指令。
120.D/A转换是指将一个随时间连续变化的模拟信号转换为计算机所能接收的数字量。 121.凡是可编程并行接口芯片,都一定含有三个独立端口。
122.由于8155H不具有地址锁存功能,因此在与8031的接口电路中必须加地址锁存器。
V.程序分析及设计题
1.(539, 10)
编写程序,将外部数据存储器中的4000H-40FFH单元全部清零。
2.(548, 10)
试编写一个拼字程序(例如将05H和06H拼为56H),设原始数据放在片外数据区的7001H单元和7002H单元中,按顺序拼装后的单字节数放入7002H。
3.(546, 5)
设A=40H,R1=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容为何值?
XCH A,R1
XCHD A,@R1
4.(536, 10)
编写一段程序,功能要求为:当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。
5.(514, 10)
将下面的程序段填写完整,以实现要求的功能。
内部RAM中以51H单元为首地址,存放着6个字节的无符号数。统计其中0的个数,并存放在50H
单元中。
源程序如下:
CONT0: MOV R1,#51H
MOV R2, ①
MOV 50H, ②
LOOP:MOV A,@R1
③ NEXT
INC 50H
NEXT:INC ④
DJNZ R2, ⑤
RET
6.(523, 10)
从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。
7.(560, 5)
阅读下列程序并回答问题:
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
1)请问该程序执行何种操作?
2)已知初值:(60H)=23H,(61H)=61H,请问运行后:(62H)=( )?
8.(531, 10)
试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
9.(526, 10)
编写一程序将片外数据存储器中7000H~70FFH单元全部清零。
10.(543, 5)
以下程序段执行后,(40H)=( ),(41H)=( )。
CLR C
MOV A,#56H
SUBB A,#0F8H
MOV 40H,A
MOV A,#78H
SUBB A,#0EH
MOV 41H,A
11.(549, 5)
已知程序执行前有(40H)=88H,问:
① 程序执行后(40H)=( )。
② 归纳出该子程序完成的何种功能。
MOV A,40H
JNB AVV.7,GO
CPL A
INC A
MOV 40H,A
GO:RET
12.(558, 8)
设R0=20H ,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何?
CLR C
MOV R2,#3
LOOP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
JNC NEXT
MOV @R0,#01H
SJMP $
NEXT: DEC R0
SJMP $
(02H)= ______,(21H)=______,(22H)=______,(23)=______,Cy = ______,A=______,
R0=______,R1=______
13.(517, 10)
在内部RAM中以30H为首地址,存放着20个字节的有符号数。将此数据块中的正数(非负数)传送到以60H为首地址的内部RAM中,并统计正数的个数,存放在R2中;然后将这些正数(非负数),传送到外部RAM从1000H单元开始的区域中去。要求传送正数的过程用子程序实现。
14.(520, 10)
若fosc=12MHz,用T0产生5 ms定时中断,请编写出T0的初始化子程序。
15.(541, 10)
假设8155H的TIMERIN引脚输入的脉冲频率为1MHz,请编写出在8155H的TIMEROUT引脚上输出周期为10ms的方波的程序。
16.(515, 10)
将下面的程序段填写完整,以实现要求的功能。
将内部RAM中首地址为30H的一个数据块传送到外部RAM首地址为3000H的区域,遇到传送的数据为零时停止。
源程序如下:
MI_O:MOV R1, ①
MOV DPTR,#3000H
LOOP:MOV A, ②
JZ ③
MOVX @DPTR,A
INC ④
INC ⑤
SJMP LOOP
PRET:RET
17.(525, 5)
阅读下列程序段并回答问题 。
1)、该程序执行何种操作?
2)、已知初值(60H)=23H,(61H)=61H,运行程序后(62H)=?
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
18.(511, 10)
使用简单指令序列完成以下操作:
请将片外RAM20H-25H单元清零。
19.(510, 10)
已知在单片机片内RAM中从ASCⅡ地址开始的缓冲区中存有8个以ASCⅡ码表示的数据0~9,请编程将这组ASCD码数据转换为十进制数据并送往片外RAM中从DATA开始的数据缓冲区。(程序名和程序中要使用的标号可以自行定义)
20.(559, 10)
请写出源程序并加以注释(要说明程序中所用各寄存器的用途)
对外部数据存储器2000H~2FFFH单元中的数据进行二值化处理,要求将所有正数(包括0)用F0H代替,而所有负数用05H代替。
21.(533, 8)
若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下: 2000H LCALL LABEL
后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?
22.(534, 10)
采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。
23.(535, 10)
编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:1的矩形脉冲。
24.(561, 10)
请计算下面子程序的执行时间。(注:除NOP指令外,其他指令执行时间都是2个机器周期,假定晶振频率为12MHz)。
DELAY: CPL RS1
MOV R6,#20
LOOP1: MOV R7,#249
LOOP2: NOP
NOP
DJNZ R7,LOOP2
DJNZ R6,LOOP1
CPL RS1
RET
25.(513, 15)
已知一MCS-51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有
26.(516, 10)
设变量X是无符号数,存放在R0中,函数Y存放在30H中。编写一子程序实现下列表达式。
1 X>20H
Y= 0 X=20H
-1 X
27.(555, 10)
用移位指令编写双字节数据从高向低循环右移4位的子程序,设高8位数据在B寄存器中,低8位在A累加器中。
28.(551, 5)
请填写程序执行结果。已知执行前有A=02H、SP=40H、(41H)=FFH、(42H)=FFH,程序如下:
POP DPH
POP DPL
MOV DPTR,#3000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH ACC
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH ACC
RET
ORG 3000H
DB 10H,80H,30H,80H,50H,80H
程序执行后:
A=( )H、SP=( )H、(41H)=( )H、(42H)=( )H、PC=( )H。
29.(528, 5)
假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后,A的内容为( )。
30.(557, 10)
利用8031单片机的P1.0端持续产生如图所示的方波,系统晶振频率为12MHz.要求用软件延时方法或定时器方法完成此题要求。
31.(553, 5)
计算下面子程序中指令的偏移量和程序执行的时间(系统晶振频率12MHz)。
780F MOV R3,#15 ;1M
7CFF DL1: MOV R4,#255 ;1M
8B90 DL2: MOV P1,R3 ;2M
DC DJNZ R4,DL2 ;2M
DB DJNZ R3,DL1 ;2M
22 RET ;2M
32.(509, 10)
使用简单指令序列完成以下操作:
编程实现运算式(F000H一5005H)(式中数据均为无符号数),运算结果存入片外RAM的1000H开始的地址单元。
33.(550, 8)
阅读程序并回答问题。设:R0=20H、R1=25H、(20H)=80H、(21H)=90H、(22H)=A0H、(25H)=A0H、(26H)=6FH、(27H)=76H,程序如下:
CLR C
MOV R2,#3
LOOP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
JNC NEXT
MOV @R0,#01H
SJMP $
NEXT: DEC R0
SJMP $
程序执行后:
(20H)=( )、(21H)=( )、(22H)=( )、(23H)=( )、Cy=( )、A=( )、R0=( )、R1=( )。
34.(522, 10)
阅读程序并填空,形成完整的程序以实现如下功能。
有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现) 源程序如下:
ORG 1000H
MOV R0,#40H
MOV R7,#10
NEXT: MOV A, ①
ACALL SEPA
MOV @R0,A
INC R0
DJNZ ② ,NEXT
SJMP $
SEPA: ADD A,#00H
③ PSW.0,SRET
ORL A, ④
SRET: ⑤
35.(530, 5)
计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。
MOV R3,#15H ;1个机器周期
DL1:MOV R4,#255 ;1个机器周期
DL2:MOV P1,R3 ;2个机器周期
DJNZ R4,DL2 ;2个机器周期
DJNZ R3,DL1 ;2个机器周期
RET ;2个机器周期
36.(506, 10)
使用简单指令序列完成以下操作:
1.已知两个数据7FH和80H,请编程完成这两个数据的乘法运算(7FHX80H),并将乘积转送到片 内RAM的30H开始的单元中,其中30H单元存放乘积的低8位数据。
2.请问,当执行完第l小题所要求的操作后,存入片内RAM的30H、31H单元中的数据为多少?
37.(508, 10)
使用简单指令序列完成以下操作:
编程实现对片外RAM从20H地址开始的100个存储单元清0处理。
38.(540, 8)
编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知8255A各端口的地址为7FFCH-7FFFH)。
39.(532, 10)
试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数,并将查找到的结果存入41H单元。
40.(545, 6)
设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?
PUSH 30H
PUSH 31H
POP DPL
POP DPH
MOV 30H,#00H
MOV 31H,#0FFH
41.(524, 10)
编写一程序实现将1000H单元开始的100个单元的数据转移到2000H开始的单元中。
42.(519, 10)
fosc=12MHz,使用程序延时方法,编写一个程序,使P1.0输出周期约10ms的方波。
43.(537, 10)
试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
44.(521, 10)
若fosc=12MHz,用T0产生5 ms定时中断,并使P3.4输出周期为1秒的方波,试编写出T0的初始化子程序和T0的中断服务程序。
45.(512, 5)
使用简单指令序列完成以下操作:
请将ROM3000H单元内容送R7。
46.(544, 5)
设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A、R0和内部RAM中50H,51H单元的内容为何值?
MOV A,59H
MOV R0,A
MOV A,#00H
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
47.(538, 5)
假设外部数据存储器2000H单元的内容为80H,执行下列指令后:
MOV P2,#20H
MOV R0,#00H
MOVX A,@R0
累加器A中的内容为( )。
48.(542, 5)
以下程序段执行后,A=( ),(30H)=( )。
MOV 30H,#0A4H
MOV A,#0D6H
MOV R0,#30H
MOV R2,#5EH
ANL A,R2
ORL A,@R0
SWAP A
CPL A
XRL A,#0FEH
ORL 30H,A
49.(527, 5)
已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#4000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH A
RET
ORG 4000H
DB 10H,80H,30H,50H,30H,50H
请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。
50.(518, 10)
试编写一个程序段,将内部30H~3FH内容,传送到外部RAM的8000H~800FH中。
51.(552, 5)
下述程序执行后,请回SP=( ),A=( ),B=( )?
MOV SP,#40H
MOV A,#30H
LCALL SUBR
ADD A,#10H
BACK: MOV B,A
L1: SJMP L1
SUBR: POP DPH
POP DPL
MOV DPTR,#AGI
PUSH DPL
PUSH DPH
RET
52.(507, 10)
请编制两字节(16位)无符号数减法程序。其中被减数的高位数据存放在单片机片内RAM的21H单元、低位数据存放在20H单元中,减数的高位数据存放在23H单元、低位数据存放在22H单元,差值的高位和低位数据分别存放到片外扩展RAM的3001H和3000H地址单元中,程序以RET指令结束(程序名和程序中要使用的标号可以自行定义)。
53.(556, 10)
将10个单字节无符号数升序排序,排序前后的数据均置于内部RAM的50H~59H单元内。
54.(529, 5)
试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。