单片机试题9 参考答案
![单片机试题9 参考答案](https://img.360docs.net/img1d/13ec7fv03l4bcdok9hnohb9oru4zv537-d1.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试题9 参考答案
一、填空
1.AT89S51单片机的CPU由(运算器)和(控制器)组成。
2.AT89S51单片机中,程序计数器PC、DPTR和定时器/计数器都是16位的功能部件,其中,对(PC)不能进行直接的访问,对(定时器/计数器)的访问只能对其高8位和低8位分别进行读写,对(DPTR )则可以进行16位的读写。
3.设(A)=0A3 H,(R3)=2CH,(Cy)=1,执行指令ADDC A,R3后,(Cy)=(0),(Ac)=(1),(P)=(1)。
4.74LS138是具有3个输入的译码器芯片,其输出常作片选信号,可选中(8)片芯片中的任一芯片,并且只有1路输出为(低)电平,其它输出均为(高)电平。
5.AT89S51单片机有(5)个中断源,( 6 )个中断标志,( 2 )中断优先级。
6.定时器/计数器T0工作在方式3下时,会占用T1的两个控制位:即(计数运行控制位或TR1 )和(中断标志位或计数溢出标志位或TF1 )。
7.AT89S51单片机串行口的4种工作方式中,(方式1 )和(方式3 )的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
8.DAC0832的单缓冲方式,适用于只有(1)路模拟输出,或者(多)路但不要求同步输出的场合。
9.AT89S51单片机的堆栈采用先进(后)出的原则,指针SP始终指示(栈顶)的地址。10.AT89S51单片机通过ADC0809进行模数转换时,需要通过指令(MOVX @DPTR,A或MOVX @Ri,A)启动转换,转换结束后需通过指令(MOVX A,@DPTR或MOVX A,@Ri )将转换结果保存在A中。11.已知8段共阴极LED显示字符“H”的段码为76H,则8段共阳极LED显示该字符的段码为(89H)。12.常用的单片机编程语言有汇编和C51,其中( C51 )编程效率高,(汇编语言)执行效率高。
13.若单片机的时钟频率为f osc,则定时器/计数器T1工作在方式2时,最小的波特率为(f osc/98304),最大的波特率为(f osc/12或f osc/192 )。
14.单片机的晶振为6MHz,若利用定时器/计数器T1的方式1定时2ms,则(TH1)=(FCH),(TL1)=(18H)。
15.从同步方式的角度讲,82C55的基本输入/输出方式属于(同步)通讯,选通输入/输出和双向传送方式属于(异步)通讯。
16.使用并行接口方式连接键盘,对独立式键盘而言,8根I/O口线可以接(8)个按键,而对矩阵式键盘而言,8根I/O口线最多可以接(16)个按键。
二、判断(每题1分,共15分,在后面的括号中填入“√”或“×”)
1.AT89S51单片机的I/O口与外数据存储器统一编址,因此扩展I/O口占用片外数据存储器的地址。(√ )
2.在开中断的前提下,只要中断源发出中断请求,CPU就会立刻响应中断。(× )
3.AT89S51单片机的EA*管脚接低电平时,只使用片外ROM,接高电平时,则只使用片内ROM。(× )4.当定时器/计数器T0工作在方式3时,TL0具有定时和计数功能,而TH0则只有定时功能,没有计数功能。(√)
5.自然优先级高的中断,可以打断自然优先级低的中断。(×)
6.单片机系统扩展时使用的锁存器,是用于锁存低8位地址。(√ )
7.占字节数多的指令,执行时间不一定长,但是书写越长的指令,占用的字节数越多。(× )8.单片机的时钟频率越高,则在A/D或D/A变换时的速度越快。(× )
9.汇编指令在汇编过程中都会产生与之相对应的机器码。(×)
10.AT89S51单片机的SBUF虽然只有一个地址,但是对应两个物理单元。(√)
11.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入计数脉冲的高电平和低电平的持续时间均要大于1个机器周期。(√ )
12.动态显示的数码管,任一时刻只有一个LED处于点亮状态,是LED的余辉与人眼的“视觉暂留”造成数码管同时显示的“假象”。(√)
13.在ROM或者RAM的多片扩展中,若要保证各片地址连续,应该采用线选法。(×)
14.若定时器/计数器T1不作波特率发生器,则串行口无法进行串行通讯。(×)
15.汇编指令主要是由操作码和操作数组成的,但是有些指令只有操作码。(√)
三、单项选择题
1.访问片外数据存储器的寻址方式是(C)。
A、立即寻址
B、寄存器寻址
C、寄存器间接寻址
D、直接寻址
2.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是(B)。
A、PC
B、PSW
C、A
D、SP
3.用AT89S51的串行口扩展并行I/O口时,串口需工作在(A)下。
A、方式0
B、方式1
C、方式2
D、方式3
4.如果(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:POP DPH
POP DPL
RET
(PCH) =(C)。
A、80H
B、50H
C、34H
D、12H
5.以下指令中,错误的是( B )。
A、PUSH Acc
B、CJNE A,R0,rel
C、MUL AB
D、JMP @A+DPTR
6.执行子程序返回或中断子程序返回指令时,返回的断点是(C)。
A、调用指令的首地址
B、调用指令的末地址
C、调用指令下一条指令的首地址
D、返回指令的末地址
7.以下指令中,不属于对引脚“读-修改-写”指令的是(D)。
A、INC P1
B、ORL P1,#0FH
C、DJNZ P1,LOOP
D、MOV C,P1.3
8.AT89S51和AT89S52单片机的主要区别是(A)。
A、内部数据存储器和程序存储器的数目
B、I/O口的数目
C、内部数据存储器和程序存储的类别
D、芯片引脚的数目
9.若要同时扩展4片2KB的RAM和4片4KB的ROM,则最少需要(C)根地址线。
A、12
B、13
C、14
D、15
10.以下中断,只能通过软件清除中断请求的是(C)。
A、外部中断
B、定时器/计数器中断
C、串行中断
D、所有中断
四、简答
1.简述AT89S51单片机的寄存器间接寻址方式,针对片内和片外RAM,分别介绍寻址范围。
答:
(1)该寻址方式在寄存器中存放的不是操作数,而是操作数的地址,操作数是通过寄存器中的地址间
接得到的。
(2) 寻址范围
内部RAM:128B,00H-7FH,形式为@Ri(i=0,1)。
外部RAM:64KB,0000H-FFFFH,形式为@DPTR。
2.AT89S51单片机的外部程序存储器和数据存储器共用地址线,为何不会发生冲突?
答:
因为控制信号线不同,外扩的RAM芯片的控制信号线为AT89S51单片机的RD*和WR*引脚。外扩的ROM 芯片的控制信号线为AT89S51单片机的PSEN*引脚。对不同控制信号线的选择,通过不同指令,访问外部RAM需执行MOVX指令,访问外部ROM则需执行MOVC指令,故虽然外部RAM和外部ROM共用地址线,但不会产生冲突。
3.AT89S51各中断源的入口地址是否能任意设定?如果想将中断服务程序放置在程序存储器中的任意区域,在程序中应该作何种设置?请举例说明。
答:
(1)各中断源的入口地址已经被定义了,不能任意设定。
(2)如果要将中断服务程序放置在程序存储器中的任意区域,要在该中断的入口地址处设置跳转指
令,才可实现对中断服务程序的执行。
例如:外部中断0的中断服务程序INTP0放置在程序存储区的任意区域,此时,需通过以下方式访问中断服务程序。
ORG 0003H
LJMP INTP0
4.I/O接口和I/O端口有什么区别?I/O接口的功能是什么?
答:
(1)I/O端口简称I/O口,是指I/O接口电路中具有端口地址的寄存器或缓冲器。
I/O接口是指单片机与外设间的I/O接口电路或芯片。
(2)I/O接口功能:①、实现单片机与不同外设的速度匹配;②、输出数据锁存;③、输入数据三态
缓冲。
五、利用AT89S51单片机和DAC0832制作波形发生器,数模转换时数字量FFH和00H分别对应模拟量+5V 和0V。设有一个延时3.900ms的子程序DELAY可供直接调用。
1.将图a中空缺的电路补充完整;
2.编写汇编程序,产生图b中所示锯齿波。
P0.0
.
.
.
P0.7
ALE
WR AT89S51
D0 Q0
..
..
..
D7 Q7
G OE 74LS373 DAC 0832
DI0
.
.
.
DI7
ILE
V REF
V CC
WR1 WR2
CS
XFER
R FB
I OUT1
I OUT2
+5V
V
88
8
+5V
0V
2s
图a 图b
答:
1.连线如下图,WR2*接地也正确。ILE直接接+5V也可以。
P0.0
.
.
.
P0.7
ALE
WR AT89S51
D0 Q0
..
..
..
D7 Q7
G OE 74LS373 DAC 0832
DI0
.
.
.
DI7
ILE
V REF
V CC
WR1 WR2
CS
XFER
R FB
I OUT1
I OUT2
+5V
V OUT 88
8
2.
ORG 0100H
MOV R0, #0FEH
MOV A, #00H
LOOP: MOVX @R0, A
INC A
LCALL DELAY
LCALL DELAY
SJMP LOOP
六、请回答:
1.下图中外部扩展的程序存储器和数据存储器容量各是多少?地址范围分别是什么?没用到的地址线设
为1。
2.编写汇编程序,将ROM 中以D300H 为首的16个表格数据送入2# 6264的前16个单元中。已知特殊功能寄存器AUXR1的最低有效位可用于选择DPTR0和DPTR1。
答:
1.外扩1片程序存储器2764,容量为8KB ,地址范围是:C000H~DFFFH 。 外扩2片数据存储器6264,容量为16KB ,地址范围是: 1# 6264:C000H~DFFFH ,2# 6264:A000H~BFFFH 。 2.
MOV AUXR1,#00H MOV DPTR, #0D300H
MOV AUXR1,#01H
MOV DPTR, #0A000H
MOV R3,#10H
LOOP: MOV AUXR1,#00H MOVC A, @A+DPTR INC DPTR
MOV AUXR1,#01H MOVX @DPTR, A INC DPTR DJNZ R3,LOOP 或
PSEN CE
WR P2.6 P2.5 P2.4 P2.0
. . .
AT89S51
D0-D7
OE
2764 CE
A8-A12
A0-A7
OE
74LS373 Q0 Q7
D0
D7
. . .
. . .
G
ALE P0.7 P0.0 .
. .
8
8
8 8 8 5
5
5
8
8 +5V WE
2# 6264
CS
CE A8-A12
A0-A7
+5V WE
CS
A8-A12
A0-A7
OE OE 1# 6264
RD 5
8
●
● ● ● ●
●
● ●
●
●
EA
D0-D7 D0-D7
MOV R3,#10H
MOV R0,#30H
MOV DPTR, #0D300H LOOP: MOVC A, @A+DPTR
INC DPTR
MOV @R0,A
INC R0
DJNZ R3,LOOP
MOV R3,#10H
MOV R0,#30H
MOV DPTR, #0A000H LOOP1: MOV A, @R0
MOVX @DPTR, A
INC DPTR
INC R0
DJNZ R3,LOOP1