《单片机系统设计基础》练习题答案王雷doc.docx
《《单片机系统设计基础》练习题答案王雷doc.docx》由会员分享,可在线阅读,更多相关《《单片机系统设计基础》练习题答案王雷doc.docx(26页珍藏版)》请在冰豆网上搜索。
《单片机系统设计基础》练习题答案王雷doc
注:
标红题要重点掌握。
题后加(略)的不要求。
练习题一
1.选择
(1)单片机片内集成了基本功能单元(③)
%1微处理器②运算器③中央处理单元
(2)工业自动化设备采用工控机实现自动控制,工控机属于(①)
%1通用计算机②嵌入式计算机③微处理器
(3)单片机的英文缩写为(②)
%1SCM②MCU③PCL
2.叙述单片机的含义
答:
利用大规模集成技术,将计算机的各个基本功能单元集成在一块徒片上,这块芯片就具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。
3.叙述计算机发展的两大分支及其特点。
答:
计算机形成了通用计算机系统和嵌入式计算机系统两大分支。
通用计算机系统以高速数值计算为已任,不必兼顾控制功能,其数据总线宽度不断更新,通用操作系统不断完善,以突出发展海量、高速数值计算能力。
以单片机为代表的嵌入式系统,以血向对象控制为(2任,不断增加控制功能,提高可靠性,降低成本,减小体积,改善开发环境。
4.叙述半导体工艺MOS、HMOS、CMOS和HCMOS的特点,说明新型单片机广泛采用HCMOS工艺的目的。
提示:
从速度、密度和功耗三个方面比较°
答:
HMOST艺(高速MOS),即高密度短沟道MOS工艺,虽然有较高的集成度和速度,但其功耗较大。
HCMOS工艺,叩互补金属氧化物的HMOS工艺,是CMOS和HMOS的结合,除了具有HMOS的高速高密度之外,还具有CMOS的低功耗的特点。
5.试述单片机应用系统低功耗设计的主要内容。
答:
(1)对于那些采用电池供电的单片机应用系统,降低功耗尤为必要。
降低功耗的重要手段是采用CMOS技术。
新型单片机广泛采用了HCMOS工艺,大大降低了功耗。
(2)降低单片机的工作电源电压也可降低功耗。
(3)选用低功耗的外围芯片及设备,也是降低功耗的措施之一。
过去单片机的外围扩展多采用74TTL芯片,其功耗较大。
为了降低功耗,应选用CMOS(HCMOS)工艺外围芯片。
6.MCS-51、80C51、80C51系列这三个概念有何区别?
答:
(1)MCS-51指Intel公司推出的利用HMOS或HCMOSI艺制造的一•个单片机系列,它又分成51和52两个子系列,其中51子系列是基本型,而52子系列属于增强型。
每个子系列包含三种单片机。
-•般MCS-51常指51子系列。
(2)8OC51一般指MCS-51系列中采用HCMOSI艺的单片机。
(3)8OC51系列包括Intel公司采用HCMOS工艺的MCS-51系列,也包括其它公司以8OC51作为内核与MCS-51完全兼容的单片机。
7.单片机与经典电子技术在实施控制方法上有何不同?
答:
从前•必须山模拟或数字等经典电子线路实现的控制功能,现在可以使用单片机通过软件方法实现。
这种以软件取代传统电子电路并能提高系统性能的控制技术,称为微控制技术。
8.填空单片机应用系统设计的主要内容包括:
外围扩展电路的硬件结构设计、低功耗设计、应用软件设计、抗干扰技术设计。
练习题二
1.填空80C51单片机内部基本组成包括CPU、存储器、中断系统、定时器/计数器、卅行II和并行II。
2.填空分述80C51下列引脚的功能:
%1RST的功能是在RST引脚上施加两个机器周期以上的高电平,将片机复位。
%1E的功能是片外程序存储器读选通信号,低电平有效。
%1瓦/Vpp的功能是亘是片内外『序存储器选择信号,当亘为低电平,单为机只能从0000H单.元开始执行片朱程序存储器程序,当亘为高电平,「|航机只能从OOOOHm元开始执行片内程序存储器程序,当执行片内程序的遍II:
超过0FFFH,便自幼转向片外程序存储器中的程序继续执行。
Vdd为本引脚的第二功能,在对EPROM型中.片机片内EPROM固化编程时,用于施加较高的编程.电压。
其频率固定为晶
ALE/prog的功能是ALE端总是不间断地连续输出个正脉冲信号,振频率的1/6,ALE引脚输出的脉冲信号可作为地址锁存信号。
碗后为本引脚的第二功能,
在对EPROM型「|1片机片内EPROM固化编程时,作为编程脉冲输入端。
3.当使用8OC31时,以引脚如何处理?
答:
将成引脚接地。
4.在80C51扩展系统中,片外ROM和片外RAM共同处于同一个地址空间,为什么不会发生总线冲突?
答:
因为它们的读选通信号线不同。
5.片内RAM低128个单兀划分为哪三个部分?
各部分主要功能是什么?
答:
片内RAM低128个单元共划分为通用工作寄存器区、可位寻址区、以及用户RAMI又等三部分。
地址为OOH-1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,为RO~R7,用户可以通过指令改变PSW中的RSI、RSO这二位来切换工作寄存器;地址为20H〜2FH的16个单元可进行共128位的位寻址,也可以进行字节寻址;地址为30H〜7FH的单元为用户RAM区,只能进行字节寻址。
6.位地址7CH与字节地址7CH有何区别?
位地址7CH具体在片内RAM中什么位置?
答:
位地址7CH是片内RAM可位寻址区20H〜2FH这128个位中某一位的地址编号,而字节地址7CH是片内RAM低128个单元中某一个单元的地址。
位地址7CH位于字节2FH的b4位。
①
81H(
否
②
83H(
否
③
80H(
是
④
98H(
是
⑤
89H(
否
7.判断并填空
),其符号名称是一SP
),其符号名称是DPH
),其符号名称是P0
),其符号名称是SCON
),其符号名称是TMOD
根据下列SFR的地址,判断是否可位寻址?
8.填空为体现“面向控制”功能,80C51除了设置布尔处理器外,另一个硬件结构是SEB°
9.程序状态字PSW作用是什么?
常用的状态标志位有哪几位?
答:
PSW主要用作程序运行状态标志。
常用的状态标志位有CY、AC、OV、Po
10.填空若PSW的内容为18H,通用工作寄存器R0的地址是18H:
R1的地址是
19H:
R5的地址是1DH;R7的地址是1FH0
11.程序计数器PC和数据指针DPTR有哪些异同?
答:
PC与DPTR的相同点是都是16位的;不同点是PC只能用来寻址程序存储空间,血DPTR常用来寻址片外数据存储空间,又可分为DPH、DPL两个8位的SFR。
12.填空
%1当CPU从片外ROM中读取指令或常数表格时,顽^信号电平为低:
在读取片内ROM指令或常数表格时,柘信号电平为高;在访问片外RAM时,再虱信号电平为高。
%1在访问片外RAM时,丽或麻信号电平为低,但再丽信号电平为♦°
%1在一访问片外RAM情况下,ALE将丢失一•个脉冲,ALE信号的作用是片外地址锁存器的锁存信号和外围芯片的定时脉冲°
13.计算当振荡频率为8MHz时,试计算:
%1时钟周期为0.125US;
%1机脂周期为1.5us;
%1执行一条最长的指令周期为6JS:
%1ALE的周期为0.75us0
14.比较8051与8OC51外部时钟方式的不同,为什么?
答:
对于8051单片机,外部时钟工作方式时将片外振荡器信号接到XTAL2引脚,XTAL1引脚接地;对于8OC51单片机,外部时钟工作方式时的片外振荡器信号接到XTAL1引脚,而XTAL2引脚悬空。
上述两种接法不同的原因,是因为8051的内部时钟电路山XTAL2±的信号驱动;8OC51的内部时钟电路山XTAL1上的信号驱动。
15.复位的作用是什么?
有几种复位方法?
答:
复位是单片机的初始化操作。
其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。
有两种复位方法,-种是上电复位、一利是利用复位按钮复位。
16.SBUF、SP和P0〜P3等特殊功能寄存器的复位值有什么特点?
答:
SBUF复位值不定,SP复位值为07H,P0〜P3复位值为FFH。
17.8OC51有几种低功耗方式?
如何实现?
答:
80C5I有两种低功耗方式:
空闲方式和掉电方式。
用指令使PCON中IDL位置1,系统便可进入空闲方式。
空闲方式的退出有两种方法,即中断方式和硬件复位方式。
执行一条PCON寄存器的PD位置1的指令(是运行程序中的最后一条指令),单片机便可进入掉电方式。
退出掉电方式的唯一方法是硬件复位。
18.判断对PCON中的PCON.O位,若要置1或清0,采取的操作为:
%1可采用位可寻址的位操作指令();
%1可采用字节操作的方法(J);
%1可采用位寻址的位操作或字节操作()o
19.8OC51单片机的工作方式分为儿种?
瓦/Vpp和ALE/prog引脚在程序执行方式和编程方式时作用有何不同?
(第二问略掉,答案可参见第2题填空。
)
答:
8OC51具有四种工作方式:
程序执行方式、复位方式、低功耗方式和编程方式。
20.单•片机外围扩展电路硬件结构设计的主要内容包括哪些?
(略)
练习题三
1.问答题
⑴80C51指令系统有哪几种寻址方式?
访问特殊功能寄存器采用什么寻址方式?
答:
80C51指令系统中字节操作中的寻址方式有:
寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、立叩寻址方式、相对寻址方式;位操作中的寻址方式有:
位直接地址寻址方式、位寄存摇寻址方式。
⑵指令系统中的间接寻址范围是多少?
答:
64Ko
(3)变址寻址主要用于什么场合?
其寻址范围是多少?
答:
查表,64K。
(4)相对寻址方式有什么特点?
其寻址范围是多少?
答:
相对寻址方式是指根据指令机器码中现的相对偏移量,从而计算出程序的转移目的地址。
转移目的地址可向前,或向后,rel的取值范围为-128〜+127。
(5)CPU读程序存储器ROM、CPU读写片外RAM,以及片内RAM之间的信号传送的指令在操作助记符,寻址方式有什么不同?
答:
CPU读程.序存储器ROM的指令操作助记符是MOVC,寻址方式为间接寻址;CPU读写片外RAM的指令操作助记符是MOVX,寻址方式为间接寻址;片内RAM之间信号传送的指令操作助记符是MOV,寻址方式为直接寻址。
(6)“DAA”指令的作用是什么?
怎样使用?
答:
用于对BCD码十进制加法运算结果的修正。
跟在ADD指令后即可。
⑺压栈指令和出栈指令的作用是什么?
SP如何变化?
答:
压栈指令:
将direct中的数据压入堆栈,SP变化方式如下所示:
PUSHdirect;(SP)—((SP)+1),(SP)—(direct)c
出栈指令:
将堆栈中的数据弹入direct中,SP变化方式如下所示:
POPdirect;(direct)-((SP)),(SP)-((SP)・1)。
(8)立即数为什么不能作目的操作数?
答:
因为一个立即数只存在于指令代码中,不能用它来定位一个存储单元。
2.判断下列指令是否正确。
(1)
MOV
RO,@R1
铅
⑵
MOV
#25H,A
错
⑶
MOV
A,#25H
对
(4)
MOV
A,@R2
错
(5)
MOV
@R1,A
对
(6)
MOVX
A,1234H
[错
⑺
MOVX
RO,@DPTR错
(8)
MOVX
@DPTR,
A对
⑼
PUSH
DPTR错
(10)
PUSH
DPH对
(11)
PUSH
DPL对
(12)
PUSH
R7错
(13)
PUSH
07H对
(14)
POP
A错
(15)
POP
ACC对
(16)通过加法实现2XA运算,判断下列指令的正误
•ADD
•ADD
A,A
A,ACC
错对
(17)
在程序存储器0010H处分别存放下列指令,判断其正误
•AJMP
001AH
对
•AJMP
0800H
错
•AJMP
07FFH
对
•AJMP
0980H
错
3.
计算题
⑴
已知如下一段程序:
2100H
MOVC
A,@A+PC:
单字节
2101H
RET
:
单字节
2102H
NOP
:
单字节
DB…“
试确定变址寄存器A的取值范围;计算所能读出的字打数的地址区间;利用该程序能否读出2200H单元的字节常数。
答:
A的取值范围为:
2-255;所能读出的字节数的地址区间为:
2103H-2200H;利用该程序能读出2200H单元的字节常数。
⑵在程序存储器2000H处存有“SJMPLOOP”指令,试求指令的机器码。
(略)
•当LOOPEQU2060H时;
•当LOOPEQU1FA2H时。
⑶在程序存储器2500H处存有“CJNEA,#25H,LOOP”指令,试求指令的机器码。
(略)
•当LOOPEQU2550H时;
•当LOOPEQU24B2H时。
(4)已知如下一段程序,试求“SJMPLOOP”的机器码。
(略)
ORG1000H
SJMPLOOP
RET
LOOPEQUOFAOH
(5)已知调用指令如下所示:
ORG1000H
MOVSP,#50H
LCALL5431H
NOP
NOP
RET
试写出执行“LCALL5431H”后,(51H)=?
(52H)=?
(PC)=?
答:
(51H)=06H,(52H)=10H,(PC)=5431HO
(6)已知绝对转移指令如下所示,试求“AJMPTRAN”的机器码°(略)
ORG97FEH
AJMPTRAN
RET
TRANEQU9A00H
4.指令分析与编程
(1)已知(A)=7AH,(R0)=30H,(30H)=A5H,(PSW)=80H,请填写每条指令的执行结果(各指令互不影响)。
①XCH
A,
R0;
(A)=30H
②XCH
A,
30H;
(A)=A5H
③XCH
A,
@R0;
(A)=A5H
④XCHD
A,
@R0;
(A)=75H
⑤SWAP
A;
(A)=A7H
⑥ADD
A,
RO;
(A)=AAH
⑦ADD
A,
30H;
(A)=1FH
⑧ADD
A,
#30H;
(A)=AAH
⑨ADDC
A,
30H;
(A)=20H
⑩SUBB
A,
30H;
(A)=D4H
(11)SUBB
A,
#30H;
(A)=49H
(2)已知(A)=83H,(R0)=17H,(17H)=34H,试写出执行下列程序段后A的内容。
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA
结果:
(A)=CBH
(3)已知两个十进制数分别在内部RAM40H和50H单元开始存放(低位在前),其字节长度存放在内RAM30H单元。
编写程序实现两个十进制数求和,并把求和结果存放在40H开
始的单元中。
答:
ORG
0000H
MOV
RO,#40H
MOV
Rl,#50H
MOV
A,#40H
ADD
A,30H
MOV
R2,A
LCALL
SJZA
MOV
A,R2
MOV
RO,A
JC
OVER1
MOV
@R0,#00H
SJMP
OVER2
OVER1:
MOV
@R0,#01H
SJMP
OVER2
SJZA:
CLR
C
SJZB:
MOV
A,@R0
ADDC
A,@R1
DA
A
MOV
@R0,A
INC
RO
INC
R1
DJNZ
30H,SJZB
RET
OVER2:
NOP
END
(4)在外RAM中把8000H单元开始的30H字节数据传送到8100H开始的单元中去,用编程实现。
答案一:
答案二:
ORG
0000H
MOV
DPTR,#8000H
MOV
P2,#81H
MOV
RO,#00H
MOV
R7,30H
MOVX
A,@DPTR
MOVX
@R0,A
INC
DPTR
INC
RO
DJNZ
R7,LOOP
LOOP:
LOOP:
END
(5)若片外RAM的容量不超过256个字节,试编写程序将片外RAM50H中的内容传送到片内RAM30H单元中。
答:
ORG
MOV
0000H
DPTR,#0050H
MOVX
A,@DPTR
MOV
30H,A
END
或:
ORG
0000H
MOV
RO,#50H
MOVX
A,@R0
MOV
30H,A
END
(6)用两种方法将程序存储器20F0H单元中的常数读入累加器中,如下所示。
方法1:
2010HMOVA,#NNH
MOVCA,@A+PC
试写出NNH的具体值。
答:
山于“MOVA,#NNH”是2字节指令,“MOVCA,@A+PC”是1字节指令,因此PC中的值是2013H,20F0H-2013H=00DDH,NNH的具体值是DDH。
方法2:
MOVDPTR,#MMMMH
MOVA,#NNH
MOVCA,@A+DPTR
试写出NNH、MMMMH的具体值。
答:
MMMMH=20F0H,NNH=00H
练习题四
1.问答题
(1)什么是接口?
接口的基本功能是什么?
答:
CPU执行程序具有快速的特点,而一些外围设备,如键盘、显示器等处理数据却呈现慢速的特性。
为了使CPU和外围设备在信息传输和处理速度上匹配,在两者之间需要一种装置作媒介,这种媒介称为输入/输出(I/O)接口,简称接口。
接口的基本功能有:
输入/输出数据,扩展外部存储器、D/A和A/D转换器、可编程I/O芯片等,作为三总线(AB,DB,CB)使用,作为串行通信线和外部中断输入线等。
(2)P1口、P0口、P2口和P3口具有什么特点?
答:
P1口的特点:
P1口为单功能口:
通用I/O口。
P1口山于有内部上拉电阻,引脚没有高阻抗状态,即引脚状态非0即I,称为准双向口。
作输出口时,通过上拉电阻R可以向外输出高电平,不需要再在片外接上拉电阻。
P1口读引脚时,必须先向输出锁存器写1。
P1口能驱动4个TTL负载。
CPU不占用P1完全由用户支配。
P0口的特点:
P0口为双功能口:
通用I/O口和地址/数据复用线。
一般情况下,如果P0已作地址/数据复用口,就不能再作通用I/O口使用。
当P0口作地址/数据复用口时,是一-个真正的双向口。
外接ROM和RAM时,不需要片外接上拉电阻。
当P0口作通用I/O口时,需要在片外接上拉电阻,此时是一个准双向口。
为保证引脚的正确读入,应首先向锁存器写1.
P0口能驱动8个TTL负载。
P2口的特点:
P2口是双功能口:
通用I/O口功能和高8位地址口。
作为地址输出线时,与P0口输出的低8位地址一起构成16位地址线,可以寻址64KB的地址空间。
当P2口作为高8位地址输出口时,由于地址不是来自输出锁存器,因此输出锁存器的内容保持不变。
作通用I/O时,是准双向口。
作输入时,应先向锁存器写1。
P2口能驱动4个TTL负载。
P3口的特点:
P3口内部有上拉电阻,不存在高阻抗输入状态,为准双向口。
P3口作为第一•功能通用输入,或作为第二功能的输出/输入,均需将相应位的锁存器:
置lo实际应用中,山于上电复位后P3口锁存器自动置1,就可以进入功能操作。
在某位不作为第二功能使用时,可作为第一功能I/O口使用。
引脚的输入有两个缓冲器,第一功能的输入通过BUF2获取,第二功能的输入通过BUF3获取。
(3)P0口作通用I/O口时,应注意什么问题?
答:
当P0口作通用I/O口时,需要在片外接上拉电阻。
(4)并行I/O口在什么情况下为准双向口?
为什么?
答:
如果一•个并行I/O口作为通用I/O口使用时为准双向口,因为此时I/O口的输出只有高、低两状态,没有高阻态,且读入数据时需先对I/O口置1。
(5)单片机对口进行读操作时,何时读锁存器?
何时读引脚?
答:
如果单片机对口进行的读操作是“读一修改一写”则为读锁存器,其它读操作为读引脚。
(6)试比较:
MOVA,Pl;MOVPl,A;ANLPl,A指令操作过程有何不同?
答:
MOVA,Pl为读引脚操作;MOVPl,A为写端口操作,ANLPl,A为读锁存器操作。
(7)80C51中断向量地址是怎样分配的?
答:
中断源
向量地址
外部中断0(INTO)
0003H
定时器0(T0)中断
000BH
外部中断1(1NT1)
0013H
定时器1(T1)中断
001BH
串行口中断
发送中断
接收中断
0023H
(8)8OC51共有几个中断源?
它们对中断请求是如何控制的?
答:
中断源是向CPU发出中断请求的来源,80C51共有6个中断源:
2个外部中断源、2个定时器/计数摇溢出中断以及2个申行中断。
中断源申请中断时,要将相应的中断请求标志置位。
CPU查询到这些有效标志位,便响应中断。
单片机转入中断服务程序时,这些中断请求标志有的是山片内硬件自动清除,有的是山用户软件清除。
中断控制主要包括中断请求触发方式的选择,中断是否允许以及中断优先级的确定等。
(9)TCON中,哪些位用来表示中断标志、中断信号方式和启动定时器?
答:
TCON中的中断标志位有:
TFkTFO、IE1、IE0;中断信号方式位有:
ITKIT0;启动定时器位有:
TRI、TROo
(10)SCON寄存器反映中断状态标志的是哪些位?
答:
SCON寄存器反映中断状态标志的是:
TI、RL
(11)什么是中断优先级?
中断优先级处理的原则是什么?
答:
80C51单片机具有高、低两个中断优先级。
各中断源的优先级山TP寄存器有关位设定。
设定为1时为高优先级;设定为0时为低优先级。
中断优先级是为中断嵌套服务的。
80C51单片机中断优先级的控制原则是:
%1低优先级中断请求不能打断高优先级的中断服务,但高优先级的中断请求可以打断低优先级的中断服务。
%1如果一个中断请求已被响应,则同级的中断响应将被禁止,即同级的中断不能相互打断。
%1如果同级的多个中断请求同时出现,则山单片机内部硬件直接查询,按自然响应顺序确定执行哪一个中断。
(12)对于外部中断方式,怎样进行有关控制器的初始化?
答:
IT0(或TT1)=1时,INTO(或而)信号为脉冲触发方式,脉冲负跳变有效;TTO(或TT1)=0时,INTO(或而)信号为电平触发方式,低电平有效。
(13)80C5I在什么条件下可以响应中断?
答:
首先中断允许控制寄存器IE的相应位必须置1,然后按中断优先级寄存器IP相应位设定的优先级进行响应。
中断查询在每个机器周期都要重复执行,但如果遇到下