单片机实验练习题.docx
《单片机实验练习题.docx》由会员分享,可在线阅读,更多相关《单片机实验练习题.docx(26页珍藏版)》请在冰豆网上搜索。
单片机实验练习题
1.利用8255A可以扩展个并行口,用区分往控制寄存器中写的数据是置位/复位控制字还是方式控制字。
2.执行MOVXA,@DPTR指令时,MCS—51产生的控制信号是。
3.当单片机复位时PSW=H,这时当前的工作寄存器区是区,R6所对应的存储单元地址为H。
4.MCS—51单片机的复位信号是有效。
5.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=,(61H)=,(62H)=。
6.MCS-51访问片外存储器时,利用信号锁存来自发出的低8位地址信号。
7.MCS-51单片机有级优先级中断。
8.串行口方式2接收到的第9位数据送寄存器的位中保存。
9.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,则它的字形代码应为。
10.堆栈的特性是,8051的堆栈一般开辟在,其堆栈指针是。
11.定时器/计数器的工作方式3是指得将_____拆成两个独立的8位计数器。
而另一个定时器/计数器此时通常只可作为_____使用。
12.51系统单片机的
引脚保持高电平,当地址号小于4K时,CPU访问的是程序存储器,当地址号大于4K时,CPU访问的是程序存储器,当
引脚保持低电平,CPU只访问程序存储器,对于8031来说,它的
引脚必须接。
13.51系列单片机上电复位后,堆栈区的最大允许范围是个单元。
14.在多机通信中,若字符传送率为100B/s,则波特率等于。
15.在多机通信中,主机发送从机地址呼叫从机时,其TB8位为;各从机此前必须将其SCON中的REN位和位设置为1。
16.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_______。
17.若累加器A中的数据为B,则PSW中的P=_____。
18.在中断服务程序中现场保护和现场恢复期间,中断系统应处在____。
19.8031单片机有并行口,它们不是一般的双向口,而是。
因此CPU在执行输入操作时,应先把口内的置成,才能完成此操作。
20.在8031中,设SP的当前值为50H,若在2000H存入指令HERE:
SJMPHERE,当有外部中断0(首地址为0003H),由此处跳出转向执行中断服务程序,此时SP=(SP)/(SP-1)=PC=。
21.在MCS-51中,需要外加电路实现中断撤除的。
22.在多机通信中,主机发送从机地址呼叫从机时,其TB8位为1;各从机此前必须将其SCON中的REN位和位设置为1。
23.具有8位分辨率的A/D转换器,当输入0V-5V电压时,其最大量化误差是。
24.若MCS-51单片机的晶振频率为6.144MHz,ADC0809的CLOCK引脚与单片机的ALE信号相连,则ADC0809的时钟信号频率为。
25.若MCS-51单片机采用12MHz的晶振,其复位高电平脉冲时间应该超过。
26.MCS-51系统中,若要使PSEN信号有效,应采用的指令操作码为,该信号有效表示CPU要从存储器读取信息。
27.用串口扩展并口时,串行接口工作方式应选。
28.80C51复位后
(1)CPU从H单元开始执行程序。
(2)SP的内容为H,第一个压入堆栈的数据将位于RAM的H单元。
(3)ORLA,#4指令执行后,PSW寄存器的内容将等于H。
29.如果手中仅有一台示波器,可通过观察引脚的状态,来大致判断MCS-51单片机正在工作?
30.MCS-51与DAC0832接口时,有、、直通式三种连接方式。
31.若A中的内容为67H,那么P标志位的值为。
32.单片机与普通计算机的不同之处在于其将、和三部分集成于一块芯片上。
33.当EA=1时,MCS-51单片机将从存储器的地址0000H开始执行程序。
34.在多机通信中,若字符传送率为100B/s,则波特率等于。
35.存储器组织
(1)若(PSW)=18H,则有效R0的地址为。
(2)对8051来说,MOVA,@R0指令中的R0之取值范围最大可为H。
(3)位地址7FH还可写成。
36.若某8位D/A转换器的输出满刻度电压为+5V,则该D/A转换器的分辨率为V。
37.MCS-51系统中,若要使RD信号有效,应采用的指令操作码为,该信号有效表示CPU要从或读取信息。
38.若8031的fosc=12MHz,则其两个定时器对重复频率高于MHz的外部事件是不能正确计数的。
39.假定累加器A中的内容为30H,执行指令1000H:
MOVCA,@A+PC后,把程序存储器单元的内容送入累加器A中。
40.MCS-51访问片外存储器时,利用信号锁存来自发出的低8位地址信号。
41.INT0和INT1的中断标志分别是和。
42.某存储器芯片有12根地址线,8根数据线,该芯片有个存储单元?
43.MCS-51的堆栈只可设置在,堆栈寄存器SP是位寄存器。
44.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为。
45.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为。
46.若累加器A中的数据为B,则PSW中的P=。
47.8052片内RAM有字节。
48.在运作模式3下,欲使TH0使停止运作,应执行一条CLR指令。
49.在多机通信中,主机发送从机地址呼叫从机时,其TB8位为;各从机此前必须将其SCON中的REN位和位设置为1。
二、判断题
1.ADC0809是8位逐次逼近式模/数转换接口。
()
2.8051与8751的区别在于内部程序存储器的类型不同。
()
3.内部RAM的位寻址区,既能位寻址,又可字节寻址。
()
4.各中断源发出的中断请求信号,都会标记在MCS-51的SCON寄存器中。
()
5.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的。
()
6.MCS-51的串行口是全双工的。
()
7.MOV@R0,P1在任何情况下都是一条能正确执行的MCS-51指令。
()
8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。
()
9.MCS-51的程序存储器只是用来存放程序的。
()
10.PC存放的是当前正在执行的指令。
()
11.程序计数器PC(ProgramCounter)是管理程序执行次序的特殊功能寄存器。
()
12.指令MOVXR0,@DPTR可以实现将片外RAM或者I/O的值传送给工作寄存器()
13.若MCS-51单片机使用的晶振是12MHz,则其机器周期为1µs。
()
14.采用LED数码管显示时,由数码转换为笔划信息可以采用软件译码或硬件译码。
()
15.MCS-51单片机外部中断0的入口地址是0023H。
()
16.指令周期是执行一条指令的时间。
()
17.特殊功能寄存器IE,与定时器/计数器的控制无关。
()
18.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。
()
19.同一级别的中断请求按时间的先后顺序响应。
()
20.立即寻址是被操作的数据本身在指令中,而不是它的地址在指令中。
()
21.MCS—51外扩I/O与外RAM是统一编址的。
( )
22.某特殊功能寄存器的字节地址为80H,它既能字节寻址,也能位寻址。
()
23.串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。
()
24.特殊功能寄存器SP内装的是栈顶首地址单元的内容。
()
25.片内RAM与外部设备统一编址时,需要专门的输入/输出指令。
()
26.各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中。
()
27.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的。
()
28.采用LED数码管显示时,由数码转换为笔划信息可以采用软件译码或硬件译码。
()
29.串行口数据缓冲器SBUF是可以直接寻址的专用寄存器。
()
30.DAC0832是8位D/A转换器,其输出量为数字电流量。
()
31.串行通讯发送时,指令把TB8位的状态送入发送SBUF。
()
32.在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
()
33.各中断源发出的中断请求信号,都会标记在MCS-51的TCON寄存器中。
()
34.使用可编程接口必须初始化。
()
35.锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。
()
36.在MCS-51单片机中,1个机器周期等于1us。
()
37.定时器T0的启停由TR0控制。
()
38.8051单片机中的串口波特率发生器可以由定时器1提供,也可以定时器2提供。
()
39.MOV@R0,A在任何情况下都是一条能正确执行的MCS-51指令。
()
40.SBUF作为串口的发送和接收缓冲寄存器,其中存放的是8位数据。
()
41.如JC rel发生跳转时,目标地址为当前地址加上偏移量rel。
( )
42.MUL AB的执行结果是高8位在A中,低8 位在B中。
( )
43.8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。
( )
44.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。
( )
45.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。
( )
46.TMOD中的GATE=1时,表示由两个信号控制定时器的起停。
( )
47.MCS—51指令中,16位立即数传送指令是:
MOVDPTR,#data16。
( )
48.在接口芯片中,通常都有一个片选端CS(或
),作用是当CS为低电平时该芯片才能进行读写操作。
( )
三、简答题
1.80C51的外部中断有哪几种触发方式,分别是什么?
它们对触发脉冲或电平有什么要求?
2.MCS-51单片机的时钟周期、机器周期、指令周期是如何分配的?
当振荡频率为8MHz时,一个单片机时钟周期是多少微秒?
3.若SP=60H,标号LABEL所在的地址为3456H。
LCALL指令的地址为2000H,执行指令:
2000HLCALLLABEL后,堆栈指针SP和堆栈内容发生了什么变化?
PC的值等于什么?
如果将指令LCALL直接换成ACALL是否可以?
如果换成ACALL指令,可调用的地址范围是什么?
4.为什么定时器T1用做串行口波特率发生器时,常采用工作方式2?
若已知系统时钟频率、通信选用的波特率,如何计算定时器的初值?
5.为什么MCS-51外扩的程序存储器和数据存储器地址相同而不会发生总线冲突?
6.定时器/计数器作定时器用时,其定时时间与哪些因素有关?
作计数器时,对外界计数频率有何限制?
若MCS-51单片机的晶振频率为6MHz,定时器/计数器的外部输入最高计数频率为多少?
7.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?
要求给出两种方法。
8.执行过某LCALL指令后,堆栈的内容如图1所示。
试问:
这条LCALL指令的首地址是多少?
它执行前SP的内容等于多少?
子程序中两条保护现场指令依次是什么?
图1堆栈区的已知数据
9.80C51响应中断的条件是什么?
CPU响应中断后,CPU要进行哪些操作?
10.MCS-51单片机的内部RAM共有128个字节存储单元(00H~7FH),根据功能可将其划分为三个区域,试述这三个区域的特点及其首末地址。
四、程序分析题
1.有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。
要求将该字符串中每一个字符加奇校验位。
(以调用子程序的方法来实现)
ORG1000H
MOVR0,#40H
MOVR7,#10
NEXT:
MOVA,【1】
ACALLSEPA
MOV@R0,A
INCR0
DJNZ【2】,NEXT
SJMP$
SEPA:
ADDA,#00H
【3】PSW.0,SRET
ORLA,【4】
SRET:
【5】
2.已知如图1并给出下列程序,请在读图并理解程序后回答下列问题:
(1)程序功能为【6】。
(2)ADC0809的口地址为【7】。
ALE
ALE
START
EOC
CLK
D0
~
D7
A
B
C
Q0
Q1
Q2
G
+
+
P0
P3.3
P2.7
WR
RD
OE
V
R+
V
R
-
+5V
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
8031
74LS3
73
ADC0809
8
8
(3)EOC的作用是【8】。
(4)程序运行结果存于【9】。
ADC:
MOVDPTR,#7FF0H
MOVR0,#0A0H
MOVR2,#8
MOVA,#0
LOOP:
MOVX@DPTR,A
JBP3.3,$
图
1
MOVXA,@DPTR
MOVX@R0,A
1NCDPTR
1NCR0
DJNZR2,LOOP
3.若(50H)=40H,试写出执行以下程序段后累加器(A)=【10】,寄存器(R0)=内部RAM的(40H)=【12】,(41H)=【13】,(42H)=【14】
MOV A, 50H
MOV R0, A
MOV A, #10H
MOV @R0, A
ADD A, #3BH
MOV 41H, A
MOV 42H, 41H
4.如果(DPTR)=447BH,(SP)=42H,(40H)=80H,(41H)=70H,(42H)=60H,则执行下列指令后:
POPDPH
POPDPL
POPA
则:
(DPH)=【1】;(DPL)=【2】;(A)=【3】;(SP)=【4】;
5.已知如图并给出下列程序,请在读图并理解程序后回答下列问题:
(1)程序功能为【6】。
(2)ADC0832的工作方式为【7】。
(3)1#ADC0832输入寄存器的地址为【8】。
(4)2#ADC0832DAC寄存器的地址为【9】。
MOVDPTR,#0DFFFH
MOVA,#data1
MOVX@DPTR,A
MOVDPTR,#0BFFFH
MOVA,#data2
MOVX@DPTR,A
MOVDPTR,#7FFFH
MOVX@DPTR,A
6.单片机用内部定时方式产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请填空完成此功能。
MOVTMOD,#00H
CLRP1.0
MOVTH0,【10】
MOVTL0,【11】
SETBTR0
LOOP:
JBCTF0,L1
【12】
L1:
【13】
【14】
【15】
SJMPLOOP
7.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H,(40H)=41H,(41H)=50H,(42H)=80H,则执行下列指令后:
(10分)
POPDPH
POPDPL
POPSP
RET
则:
(PCH)=;(PCL)=;(DPH)=;(DPL)=;(SP)=
8.图1为用DAC0832芯片设计单缓冲方式的D/A转换接口电路,以下程序功能是使DAC0832输出负向锯齿波,请填空。
(8分)
MOVR0,
MOVA,
LOOP:
LCALLDELAY
SJMPLOOP
DELAY:
....
RET
9.程序如下,请回答:
(7分)
(1)执行POP10H后堆栈内容?
(2)执行M5A:
SJMPM5A后,(SP)=,(20H)=。
2506HM5:
MOVSP,#58H
2509HMOV10H,#0FH
250CHMOV11H,#0BH
250FHACALLXHD
2511HMOV20H,11H
2514HM5A:
SJMPM5A
XHD:
PUSH10H
PUSH11H
POP10H
POP11H
RET
10.设R0=4BH,A=84H,片内RAM(4BH)=7FH,(40H)=20H
MOVA,@R0
MOV@R0,40H
MOV40H,A
MOVR0,#35H
执行程序后,A=,(4BH)=,(40H)=。
11.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:
POPDPH
POPDPL
MOVDPTR,#4000H
RLA
MOVB,A
MOVCA,@A+DPTR
PUSHACC
MOVA,B
INCA
MOVCA,@A+DPTR
PUSHACC
RET
ORG4000H
DB10H,80H,30H,50H,30H,50H
执行程序后,A=,SP=,(51H)=,(52H)=,PC=。
12.图2为用DAC0832芯片设计单缓冲方式的D/A转换接口电路,以下程序功能是使DAC0832输出15个正向阶梯波,请填空。
MOVR0,
CLRA
UP:
ADDA,
SJMPUP
DELAY:
......
RET
13.下列程序段执行后,(R0)=【1】,(7EH)=【2】,(7FH)=【3】。
MOVR0,#7EH
MOV7EH,#0FFH
MOV7FH,#40H
INC@R0
INCR0
INC@R0
14.执行下列程序段后,(A)=【4】,(B)=【5】。
MOVA,#0AH
MOVB,#20H
MULAB
15.MOVA,#0FBH
MOVPSW,#10H
ADDA,#7FH
PSW=00,执行完上述程序段后,将PSW各位状态填入下表:
PSW
CY
AC
F0
RS1
RS0
OV
F1
P
【6】
【7】
【8】
【9】
【10】
【11】
【12】
【13】
16.已知:
(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=【14】内部RAM(0AH)=【15】,(0BH)=【16】。
PUSH DPL
PUSH DPH
17.请分析下面程序执行后的操作结果,(A)=【17】,(R0)=【18】。
MOVA,#60H
MOVR0,#40H
MOV@R0,A
MOV41H,R0
XCHA,R0
五、设计题
1.在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。
画出连接示意图,写出A机发送的完整程序。
要求采用串口中断编程。
2.请回答:
(1)下图中外部扩展的程序存储器和数据存储器容量各是多少?
(2)三片存储器芯片的地址范围分别是多少?
(地址线未用到的位填1)
(3)请编写程序,要求:
将内部RAM30H~3FH中的内容送入1#6264的前16个单元中;
3.单片机8031与存储器连接如图2,其中两片EPROM2716为外部程序存储器,两片RAM6116地址分别为外部数据存储器,请完成:
(1)写出每一片程序和数据存储器的地址范围。
(2)将2#6116的前4个单元的内容送入40H~43H中。
PSEN
WR
P2.7
P2.6
P2.5
P2.4
P2.2
P2.1
P2.0
8031
74LS373
Q0
Q7
D0-D7
G
ALE
P0.7
P0.0
│
RD
│
D0
D7
OE
2716
CE
A0
A7
│
│
A10
A9
A8
D0
D7
OE
2716
CE
A0
A7
│
│
A10
A9
A8
D0
D7
CS
A0
A7
│
│
WE
RD
A10
A9
A8
D0
D7
CS
A0
A7
│
│
WE
RD
A10
A9
A8
74LS138
G1
G2B
G2A
P2.3
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
C
B
A
Vcc
XTAL1
XTAL2
RESET
EA
Vss
●
●
+5V
●
●
●
●
●
●
●
●
30pF×2
●
+5V
10uF
1KΩ
4.图3为某MCS-51应用系统的3位共阴极LED7段静态显示接口电路,请回答:
(1)写出8255A的PA、PB、PC口和控制口的地址。
(未接入的地址位为1)
(2)请编写出使3位LED共阴极显示器从左至右显示“0.97”