单片机习题答案Word文档格式.docx

上传人:b****6 文档编号:18851255 上传时间:2023-01-01 格式:DOCX 页数:35 大小:92.24KB
下载 相关 举报
单片机习题答案Word文档格式.docx_第1页
第1页 / 共35页
单片机习题答案Word文档格式.docx_第2页
第2页 / 共35页
单片机习题答案Word文档格式.docx_第3页
第3页 / 共35页
单片机习题答案Word文档格式.docx_第4页
第4页 / 共35页
单片机习题答案Word文档格式.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

单片机习题答案Word文档格式.docx

《单片机习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机习题答案Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。

单片机习题答案Word文档格式.docx

微机系统ucs除包括微机uC硬件之外,还包含系统软件和应用软件。

2、主要有三点不同:

一是CPU、存储器和I/O接口这几部分集成在一片芯片上;

二是存储器设计采用了哈佛结构,将程序存储器和数据存储器在物理上分开;

三是供位处理和位控制的资源丰富、I/O接口完善。

优点:

①集成度高、价格低廉,性能/价格比高;

②程序存储器和数据存储器在物理上分开,可使程序不受干扰,抗干扰能力强;

③布尔处理能力强,适于工业控制。

 

 

3、堆栈区与一般存储区相同之处是:

它们都属于存储器的一部分,都能存放数据。

其主要不同之处是对数据的存取规则有异:

一般存储区使用随机读/写规则,而堆栈使用先进后出(或后进先出)规则。

堆栈采用这种特殊规则后,可以圆满完成子程序调用或中断调用,多级子程序嵌套等功能。

当然,堆栈区内的存储单元也可以使用随机读/写指令,但在那种情况下已经不把该单元当做堆栈看待了。

4、这要看程序中用到的是哪两组通用寄存器。

如果是第0~1组,即要占用片内RAM的00H~0FH单元,那么就要将上电或复位时自动生成的SP=07H的状态,用指令改设为0FH。

若程序中用到的是第2~3组,则SP应被改设为1FH。

习题二 

答案

指令类型

字节数

指令类型

MOVCA,@A+DPTR

1

MOVdir,#data

3

MOVX@R0,A

CLRbit

2

SETBC

MOVA,#data

MOVRn,A

PUSHdirect

INCDPTR

MOVdir1,dir2

一、填空题

1、操作码、操作数或操作数地址;

2、指令、数据;

3、寄存器间接;

4、4、0、AAH;

5、如下表:

6、A=④、B=③、C=③、D=①、E=⑤

7、A=③、B=②、C=②、D=①、E=③

二、判断下列指令是否合乎规定,且说明理由

1、×

,通用寄存器间不能互传。

2、×

,指令系统中没有提供这条指令。

3、√。

4、×

,CPL对字节类地址的操作只允许A。

5、×

,循环移位只能对A操作。

6、×

,这种间接寻址方式只允许用R0或R1。

7、√。

8、×

,16位数据无法一次送入堆栈。

9、×

,PC是不可寻址的SFR。

10、√。

11、√。

12、√。

13、×

,普通位地址内容不能互传。

14、√。

三、简答题

1、指令是控制计算机进行某种操作的命令;

指令系统是指一台计算机中所有指令的集合。

2、5种寻址方式举例如下:

立即寻址:

MOVA,#20H

直接寻址:

MOVA,20H

寄存器寻址:

MOVA,R0

寄存器间接寻址:

MOVXA,@DPTR

变址寻址:

MOVCA,@A+DPTR

3、MOVX和MOVC指令的相同之处;

都是数据传送类指令。

不同之处:

MOVX是在A累加器与片外数据存储器之间双向传送数据的指令;

而MOVC则是将程序存储器中内容读入A累加器的指令。

四、阅读并分析程序

1、A=6EH(30H)=EEH

2、(40H)=5EH、(41H)=69H 

3、A=25H、R0=50H、(50H)=00H、(51H)=25H 

4、(61H)=24H、(62H)=10H、(30H)=00H、(31H)=FFH、DP、TR=2410H、SP=60H 

5、A=25H、R1=40H、(40H)=03H

五、简单编程

1、方法1:

用交换指令

MOVA,#0FH

XCHA,45H

方法2:

用传送指令

MOV45H;

#0FH

2、设7001H单元放置的是高位数据,7002H单元放置的是低位数据,两个原始数据都不超过0FH。

则程序段如下:

MOVDPTR,#7001H

MOVXA,@DPTR

SWAPA

INCDPTR

ORLA,B

MOVX@DPTR,A

习题三 

一、简答题

1、没有这样的指令。

但实现“程序结束”至少可以借助4种办法:

①用原地踏步指令SJMP$死循环。

②在最后一条指令后面设断点,用断点执行方式运行程序。

③用单步方式执行程序。

④在末条指令之后附加一条LJMP监控显示器程序首地址或LJMP0000H,返回监控状态。

2、它们都是程序无条件转移指令,其结果都是改变了PC的内容;

但它们寻址过程和应用场合却有所区别:

①LJMP指令是直接将指令中的16位地址数据送入PC,可在64KB程序存储空间内随意转移(转移范围为64KB)。

②AJMP指令是将指令中包含的11位地址数据送入PC的低11位,可在该指令附近的当前2KB程序存储空间内转移。

③SJMP指令是将指令中的8位数据与PC值相加后再送入PC,转移范围小,只能在该指令的前128字节和后127字节内转移(以该指令后一条指令为参照点)。

④JMP@A+DPTR指令是将A内容与DPTR内容右对齐相加后,再送入PC中,与LJMP相似,也可以转移64KB的程序空间。

在选用时,凡转移地址超过当前地址2KB的,只能用LJMP指令;

凡转移地址在当前地址—128—+127字节之间的,可以选用SJMP指令,其余范围可选取用AJMP指令。

如果要实现“条件不同,则转移地址不同”的功能,用JMP@A+DPTR指令将是最佳选择。

二、阅读并分析程序

1、①(40H)=78H。

②该子程序的功能是对③(40H)内的单字节符号数求补码。

注:

若只说出是“先取反而后加1”,但无法归纳为对符号数求补码时,扣一半分。

2、(20H)=20H、(21H)=00H、(22H)=17H、(23H)=01H、Cy=1、A=17H、R0=23H、R1=28H。

3、ADDA,#0F4H

↓JBOV,GOE 

无溢出,不转移

↓JNBACC.7,GOP 

ACC.7=1,不转移

↓CPLA

↓INCA

↓SETB20H.0

↓ 

RET

GOP:

CLR20H.0

GOE:

MOVA,#0FFH

RETZ

程序执行后:

A=02H、20H.0=1

4、A=80H、SP=40H、(41H)=50H、(42H)=80H、PC=8050H。

5、SP=40H、a=30H、b=30H。

6、机器码填空为:

FC和F8

时间计算:

1个机器周期在12MHZ晶振下的时间是1us.

程序总机器周期数=1+{1+(2+2)×

255+2}×

15}+2=15348所以该程序执行时间为15.438ms。

三、编写程序

用DPTR作为地址指针

MOVDPTR,#7000H

CLRA

MOVR0,A

LOOP:

MOVX@DPTR,A

INCDPTR

DJNZR0,LOOP;

还可以用GJNEA,DPL,LOOP(因为A=0)

SJMP 

$

P2预先锁存高8位地址,用R0作为地址指针

MOVP2,#70H

CLRA

MOVR0,A

MOVX@R0,A

DJNZR0,LOOP

SJMP 

2、 

PUSH6FH 

;

保护现场

PUSHPSW

MOV6FH,#4 

从高向低右移4次计数器

MOVC,ACC.0;

C被A的最低位刷新,送入高8位的最高位

XCHA,B 

高低8位寄存器互换

RRCA 

高8位先右移,最低拉进入C中

高低8位寄存器还原

低8位右移,C补进最高位

DJNZ6FH,LOOP 

若右移不足4次,继续循环移位

POPPSW 

恢复现场

POP6FH

RET

3、方法1 

程序中用到的有关寄存器含义如下:

R0存放数据块的地址指针,R2存放每轮比较次数,R3是每轮中的比较次数计数器。

F0=PSW、4作为有无交换的标志位。

CLRF0

MOVR2,#0AH

LOOP2:

MOVR0,#50H

MOV03H,02H 

即R3←R2

LOOP1:

MOVA,@R0

INCR0

CJNEA,B,$+3

JCNEXT

MOV@R0,A

DECR0

SETBF0

EXT:

DJNZR3,LOOP1

JNBF0,DONE

CLRR0

DJNZR2,LOOP2

DONE:

SJMP$

方法2

CLRF0 

清交换标志

MOVR7,#9 

设置外循环计数器

OUTSID:

MOVR0,#50H 

R0指向数据区

MOVR6,07H

INSIDE:

MOVA,@R0 

取一数据到A

INCR0

MOVB,@R0 

取下一步单元数据到B

CJNEA,B,$+3 

A≥@R0?

JCNEXCHG 

小于不交换

XCHA,@R0 

大于交换

SETBF0 

置交换标志

NEXCHG:

DJNZR6,INSIDE 

内循环结束?

DECR7 

下次的内循环少一次

JBCF0,OUTSID 

交换发生继续外循环,并清交换标志

SJMP$ 

未交换结束循

习题四 

1、A=④、B=③、C=⑦。

2、3。

3、5,外部中断0、定时器0、外部中断1、定时器1和串行口;

外部中断1、定时器1。

4、源允许、总允许。

5、电平、边沿。

6、2、16、4。

7、1000、500。

8、0、1。

9、0。

10、2750。

二、判断说明题

1、正确。

2、错误。

P0—P3都是真正的I/O口,只是当片外需要扩展存储器或其他外设时,其中3个才复用为三总线。

3、正确。

4、正确。

此时要求读引脚。

5、正确。

三、单项选择题

1、C 

2、B 

3、B 

4、A5、D6、C 

7、D 

8、C

四、简答题

1、相同之处:

都是由CPU通过程序来传送数据,都需要借助CPU工作;

直接程序传送(包括无条件传送和查询式I/O传送)方式对接口电路的要求很简单,但对传送信息的时间要求很严格,且占用了CPU的大量时间,效率低下。

而中断传送方式可大大提高CPU利用率、允许多个外设并行工作,但硬件线路稍复杂。

2、这要看P1口所接下来何种外设,也要看程序中的上下文,不能断然理解为前者或后者。

若所接外设为单纯输出设备,则理解为送出全“1”信号;

若所接外设为单纯输入设备,则理解为读并口数据之前的预备动作;

若所接外设为输入/输出双向传输设备,则要根据程序流程及该指令之前的程序意图去理解。

3、典型(也是最短)时间为3个机器周期。

若出现以下情况将推迟对中断申请的响应:

1)正在执行的中断服务级别很高(或同级);

2)浊当前指令的最后一个M(机器)周期;

3)若当前指令是RETI或是对IP、IE寄存器的操作指令,则不能马上响应,还会顺延一条指令。

4、“定时”功能是对片内稳频脉冲(是晶振频率的1/12)的计数,从计数开始到计满溢出为止,可以由计数值×

稳频脉冲周期值来得到一个准确的时间值;

而“计数”功能则是对单片机引脚上的外来随机脉冲进行计数,一般情况下难以折算为精确进间。

定时功能适用于需要准确计量一段时间的场合;

而计数功能适用于对外部事件的计数。

在单片机内,定时和计数的实现都是借助一个加1计数器,工作原理基本一样,只是定时方式下计数脉冲为fose/12,计数方式下的计数脉冲由单片机外引脚(T0或T1)来输入。

5、串行数据传送是将数据按bit逐位进行传送的方式。

其主要优点是所需的传送线根数不(单向传送只需一根数据线、双向仅需两根),对于远距离数据传送的情况,采用串行方式是比较经济的。

所以串行方式主要用于计算机与远程终端之间的数据传送,也很适于经公众电话网连接的计算机之间的通信,另外在某些场合,串行接口也可以代替并行接口来控制外设,以节省软硬件资源、简化线路。

五、写出完整源程序

方法1:

用软件定时方式,可以通过调用20ms延时子程序来实现。

程序如下:

START:

SETBP1.0

LCALL 

DELAY20 

让P1.0脚上高电平延时20ms

CPL 

P1.0

让P1.0脚上低电平延时40ms

DELAY20

START

DELAY20:

CPLRS1

MOVR6,#20

LOOP1:

MOV 

R7,#249

LOOP2:

MOP

NOP

DJNZ 

R7,LOOP2

R6,LOOP1

RS1

RET

用定时器T0实现20ms定时,然后配以编码控制方式。

AJMP 

MAIN

ORG0BH

MOV 

TH0,#0B1H

TL0,#0E0H

RLC 

A

P1.0,C

RETI

MAIN:

MOVTMOD,#00000001B 

选用T0定时,方式1,内触发

MOVTH0,#0B1H 

定时20ms

MOVTL0,#0E0H

SETB 

EA 

T0开中断

SETBET0

CLRC

MOVA,#10010010B 

编码值,A与C拼接形成100100100

SETBTR0 

定时器开始工作

SJMP$

六、设计程序

可利用8031内部定时器对片餐的1s脉冲源计数900次,从而达到15分种定时。

用查询方式等待手动“开始”信号,有信号来,则计数器开始工作。

当计数900次满时,发出中断请求信号,此时让指示灯亮(可安排P1.0引脚控制灯的亮/灭)。

硬件电路示意图如附图1所示:

附图1 

题六图

控制程序如下:

AJMPSTART 

CLRTR0 

停止计数/计时

CLREA 

关中断

SETBP1.0 

指示灯亮

RETI

CLRP1.0 

指示灯灭

MOVTMOD,#00000101B 

选用T0计数,方式1,内触发

MOVTH0,#0FCH 

计数900次

MOVTL0,#7CH

SETBP1.7 

为输入先预置“1”

JNBP1.7,$ 

等待“开始”按钮的下降沿到来

JBP1.7,$

开始计数(实际上是计时)

SETNEA 

习题五 

1、统一、独立。

2、两。

3、0.33、2、2、8。

4、6。

5、低。

6、数据、地址、控制。

7、数据。

8、ALE、P0 

9、212(或4KB)、15。

10、0CH或8CH。

11、12。

12、16、4、4。

13、低电平、高电平、高阻。

14、8。

15、输出、输入

通常一个外部设备有数据、状态等多个端口寄存器与主机交换信息,因此,主机不一定只用一个惟一地址来访问一个外部设备。

3、错误。

应该是2个机器周期以上的高电平。

4、错误。

若晶振频率变化,则机器周期也将变化,只有在fosc=6MHz的情况下机器周期才会等于2us。

5、正确。

6、错误。

89C51内部含有程序存储器,其最小系统不用外扩任何存储器或I/O接口,因此地址锁存器可以不要,此时P0—P3口全部可以用作普通I/O口。

2、C 

3、A 

4、B

1、MCS—51单片机有上电自动复位和按钮复位两种方法使单片机复位。

复位主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。

此外,复位还对其他一些特殊功能寄存器有影响,其影响是除SP=07H,P0—P3四个锁存器均为FFH外,其他所有的寄存器均为0。

复位不影响内部RAM的状态(包括通用寄存器Rn).

2、由P0口的位结构可知,MCS—51单片机在进行外部寻址时,P0口的8根引线是低8位地址和8位数据的复用线。

P0口首先将低8位的地址发送出去,然后再传送数据,因此要用锁存器将先送出的低8位地址锁存。

而P2口输出的是地址或P2.x的状态,是地址还是P2.x的状态由其内部自动控制,执行指令MOVXA,@DPTR或者指令MOVX@DPTR,A时,P2口输出的是高8位地址;

其他情况下,P2口输出的是P2.x的状态。

所以,MCS—51单片机扩展系统中,P0口要接一个8位的锁存器,而P2口却不接。

3、共有32根I/O引线,其中部分引线在单片机有外扩对象时,将代替地址总线和数据总线(还有控制总线)的功能。

这32根I/O引线均匀分布于P0、P1、P2和P3口。

若没有单片机外扩要求,则4个并行口都是纯粹的I/O口;

但是,当单片机有外扩任务时,则P0口将作为8位数据总线,P2和P0口将作为16位地址总线,P3口的一部分将作为读/写等控制总线信号,此时只有P1口保留作为单纯的I/O口。

五、硬件设计题

①因为2764芯片是8KB×

8的EPROM,所以很显然,数据线需要8根,连往片内的地址线需要13根;

又因为最小系统只需外扩一片程序存储器,所以供片选用的地址线顶多只需1根(也可直接将片选信号接地);

合计需要地址线13—14根,本题选用14根。

③该EPROM地址范围是0000H—1FFFH。

六、综合设计题

硬件电路如图所示:

对开关K的识别拟采用查询方式,设开关K已配有硬件防抖电路,且开关K切换后至少会维持0.5s以上,程序如下:

MOVA,#01H

MOVP1,A 

当前段亮(从a段开始)

为输入接口预置“1”

JBP1.7,LOOP2;

若KB为高电平,每段显示0.2s(即200ms)

ACALLD100MS 

若KB为低电平,每段显示0.5s(即500ms)

ACALLD100MS

ACALLD100MS

ACALLD100MS

RLA 

准备让下一段亮,其段灭

CJNEA,#40H,START 

当6段显示完,再从头开始

SJMPLOOP

习题六答案

1、指令、数据。

2、存储容量、存取速度。

3、RAM。

4、片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器、3、片内片外统一编址的64KB程序存储器、片内256B的数据存储器、片外64KB的数据存储器。

5、程序、数据、PESN、RD、与(请注意是负逻辑)。

6、9FFFH。

7、3。

8、16。

9、7、4、11。

10、11、8、3、CEOEWE(或片选、输出允许和写允许)。

11、4。

12、A=①、B=④、C=④、D=⑤、E=④。

13、A=③、B=②、C=④、D=④、E=②。

14、A=③、B=⑤、C=②、D=④、E=⑥。

二、单项选择题

2、B 

3、A 

4、D

三、判断说明题

ROM也可以存放用户的数据信息。

4、错误。

CPU是由控制器和运算器两部分组成。

5、错误,RAM是随机存取存储器,电源关断

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1