单片机练习6.docx
《单片机练习6.docx》由会员分享,可在线阅读,更多相关《单片机练习6.docx(9页珍藏版)》请在冰点文库上搜索。
![单片机练习6.docx](https://file1.bingdoc.com/fileroot1/2023-6/8/18999ff1-7d4c-4252-b89e-e81425328d56/18999ff1-7d4c-4252-b89e-e81425328d561.gif)
单片机练习6
单片机习题及答案(三)
一.填空题(每空1分,共20分)
1、在MCS-51单片机中,如果采用24MHz晶振,1个机器周期为( )。
2、若A中的内容为0E6H,那么,P标志位的值为( )。
3、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为( )KB。
4、指令格式是由( )和( )所组成,也可能仅由( )组成。
5、在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问( )存储器提供地址,而DPTR是为访问( )存储器提供地址。
6、已知程序执行前有A=01H,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 70H,90H,10H,40H,30H,20H
请问:
A=( ),SP=( ),(51H)=( ),(52H)=( )。
7、假定A=55H,R3=0ABH,在执行指令ANL A,R3后,A=( ),R3=( )。
8、假定,SP=60H,A=30H,B=70H,执行下列指令:
PUSH B
PUSH A
后,SP的内容为( ),61H单元的内容为( ),62H单元的内容为( )。
9、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后,A的内容为( )。
10、12根地址线可选( )个存储单元,8KB存储单元需要( )根地址线。
二.判断题(依照字母顺序写出“对”或“错”)(每题2分,共16分)
1、判断下列说法是否正确:
A、PC可以看成使程序存储器的地址指针。
B、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。
C、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。
D、8031的CPU是由RAM和EPROM所组成。
2、判断下列说法是否正确
A、 8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
B、 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
C、 程序计数器PC不能为用户编程时直接使用,因为它没有地址。
3、判断下列说法是否正确?
A、 单片机的主频越高,其运算速度越快。
B、 PC是1个不可寻址的特殊功能寄存器。
C、 在MCS-51单片机中,1个机器周期等于1us。
D、特殊功能寄存器SP内装的是栈顶首地址单元的内容。
4、判断下列说法是否正确。
A、 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。
B、 指令中直接给出的操作数称为直接寻址。
C、 指令周期是执行一条指令的时间。
5、中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:
A、 当前正在执行高优先级中断处理
B、 当前正在执行RETI指令
C、 当前指令是DIV指令,且正处于取指令的机器周期
D、当前指令是MOV A,R3
6、下列说法正确的是:
A、 同一级别的中断请求按时间的先后顺序响应。
B、 同级中断不能嵌套。
C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
D、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
7、区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:
A、 看其芯片的型号是ROM还是RAM
B、 看其离MCS-51芯片的远近
C、 看其位于地址范围的低端还是高段
D、 看其是与RD信号连接还是与PSEN信号连接
8、判断下列说法是否正确?
A、 转换速率这一指标仅适用于A/D转换器, D/A转换器不用考虑转换速率这一问题。
B、 输出模拟量的最小变化量称为A/D转换器的分辨率。
C、 ADC0809可以利用转换结束信号EOC向8031发出中请求。
D、 对于周期性的干扰电压,可使用双积分的A/D转换器,并选择合适的积分元件,可以将该周期性的干扰电压带来的转换误差消除。
三.简答题(每题4分,共24分)
1、当MCS-51单片机运行出错或程序陷入死循环时,如何来摆脱困境?
2、下列程序段的功能是什么?
PUSH A
PUSH B
POP A
POP B
3、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
4、THX与TLX(X=0,1)是普通寄存器还是计数器?
其内容可以随时用指令更改吗?
更改后的新值是立即刷新还是等当前计数器计满后才能刷新?
5、I/O接口和I/O端口有什么区别?
I/O接口的功能是什么?
6、MCS-51与DAC0832接口时,有哪两种连接方式?
各有什么特点?
各适合在什么场合使用?
四.计算与编写程序(每题8分,共40分)
1、计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 6MHz)。
MOV R3,#15 ;1个机器周期
DL1:
MOV R4,#200 ;1个机器周期
DL2:
MOV P1,R3 ;2个机器周期
DJNZ R4,DL2 ;2个机器周期
DJNZ R3,DL1 ;2个机器周期
RET ;2个机器周期
2、试编写程序,查找在内部RAM的30H~60H单元中出现“0FFH”这一数据的次数。
并将查找到的结果存入61H单元。
3、如果采用晶振的频率为6MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?
4、编写程序,将外部数据存储器中的4000H—40FFH单元全部置“1”。
5、分析A/D转换器产生量化误差的原因,1个8位的A/D转换器,当输入电压为0~5V时,其最大的量化误差是多少?
答案
一.填空题(每空1分,共20分)
1、0.5us。
2、若A中的内容为0E6H,那么,P标志位的值为
(1)。
3、64。
4、操作码、操作数、操作码。
5、程序、数据。
6、A=(40H),SP=(50H),(51H)=(10H),(52H)=(40H)。
7、A=(01H ),R3=(0ABH )。
8、SP的内容为(62H ),61H单元的内容为(70H ),62H单元的内容为(30H )。
9、A的内容为(4BH )。
10、4KB、13。
二.判断题(依照字母顺序写出“对”或“错”)(每题2分,共16分)
1、对、对、错、错
2、错、错、对
3、对、错、错、错
4、对、错、对
5、错、错、错、对
6、对、对、对、错
7、对、错、错、对
8、错、错、对、对
三.简答题(每题4分,共24分)
1、答:
软件陷阱、复位
2、答:
交换A、B的内容
3、答:
RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断
4、THX与TLX(X=0,1)是普通寄存器还是计数器?
其内容可以随时用指令更改吗?
更改后的新值是立即刷新还是等当前计数器计满后才能刷新?
答:
THX与TLX(X=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值是立即刷新。
但在读THX、TLX的值时,应该先读THX值,后读TLX,再读THX。
若两次读得THX相同,则可确定读得的内容正确。
若前后两次读得的THX有变化,再重复上述过程。
5、I/O接口和I/O端口有什么区别?
I/O接口的功能是什么?
答:
I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。
I/O接口是指单片机与外设间的I/O接口芯片。
I/O接口功能:
一.实现和不同外设的速度匹配;二.输出数据缓存;三.输入数据三态缓冲。
6、MCS-51与DAC0832接口时,有哪两种连接方式?
各有什么特点?
各适合在什么场合使用?
答:
二种方式:
(1) 单缓冲方式。
其特点是DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受MCS—51控制的锁存方式。
适用于只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下。
(2) 双缓冲方式。
其特点是数字量的输入锁存和D/A转换输出是分两步完成的。
适用于在多路D/A转换中,要求同步进行D/A转换输出的情况下。
四.计算与编写程序(每题8分,共40分)
1、
答:
24096us
析:
[((2+2)×200+1+2)×15+1+2] ×2 us=24096us
2、试编写程序,查找在内部RAM的30H~60H单元中出现“0FFH”这一数据的次数。
并将查找到的结果存入61H单元。
答:
START:
MOV 61H,#0
MOV R0,#30H
MOV R2,#30H
LOOP:
MOV A,@R0
CJNE A,#0FFH,NEXT
INC 61H
NEXT:
INC R0
DJNZ R2,LOOP
RET
3、如果采用晶振的频率为6MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?
答:
因为机器周期
,
所以定时器/计数器工作方式0下,其最大定时时间为
;
同样可以求得方式1下的最大定时时间为
;
方式2下的最大定时时间为512
。
4、编写程序,将外部数据存储器中的4000H—40FFH单元全部置“1”。
ORG 0000H
MAIN:
MOV A,#0FFH ;送预置数给A
MOV R0,#0FFH ;设置循环次数
MOV DPTR,#4000H ;设置数据指针的初值
LOOP:
MOVX @DPTR,A ;当前单元清零
INC DPTR ;指向下一个单元
DJNZ R0,LOOP ;是否结束
END
5、分析A/D转换器产生量化误差的原因,1个8位的A/D转换器,当输入电压为0~5V时,其最大的量化误差是多少?
答:
量化误差是由于有限位数字且对模拟量进行量化而引起的; 1.95%;