单片机原理与接口技术习题答案.docx

上传人:b****4 文档编号:5019723 上传时间:2023-05-07 格式:DOCX 页数:25 大小:220.89KB
下载 相关 举报
单片机原理与接口技术习题答案.docx_第1页
第1页 / 共25页
单片机原理与接口技术习题答案.docx_第2页
第2页 / 共25页
单片机原理与接口技术习题答案.docx_第3页
第3页 / 共25页
单片机原理与接口技术习题答案.docx_第4页
第4页 / 共25页
单片机原理与接口技术习题答案.docx_第5页
第5页 / 共25页
单片机原理与接口技术习题答案.docx_第6页
第6页 / 共25页
单片机原理与接口技术习题答案.docx_第7页
第7页 / 共25页
单片机原理与接口技术习题答案.docx_第8页
第8页 / 共25页
单片机原理与接口技术习题答案.docx_第9页
第9页 / 共25页
单片机原理与接口技术习题答案.docx_第10页
第10页 / 共25页
单片机原理与接口技术习题答案.docx_第11页
第11页 / 共25页
单片机原理与接口技术习题答案.docx_第12页
第12页 / 共25页
单片机原理与接口技术习题答案.docx_第13页
第13页 / 共25页
单片机原理与接口技术习题答案.docx_第14页
第14页 / 共25页
单片机原理与接口技术习题答案.docx_第15页
第15页 / 共25页
单片机原理与接口技术习题答案.docx_第16页
第16页 / 共25页
单片机原理与接口技术习题答案.docx_第17页
第17页 / 共25页
单片机原理与接口技术习题答案.docx_第18页
第18页 / 共25页
单片机原理与接口技术习题答案.docx_第19页
第19页 / 共25页
单片机原理与接口技术习题答案.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理与接口技术习题答案.docx

《单片机原理与接口技术习题答案.docx》由会员分享,可在线阅读,更多相关《单片机原理与接口技术习题答案.docx(25页珍藏版)》请在冰点文库上搜索。

单片机原理与接口技术习题答案.docx

单片机原理与接口技术习题答案

单片机原理与接口技术习题答案

习题与思考题1

1-2单片微型计算机与一般微型计算机相比较有哪些区别?

有哪些特点?

答:

与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。

单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。

1-4单片机的几个重要指标的定义。

答:

单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。

习题与思考题2

2-2MCS-51单片机的EA、ALE和PSEN端的功能是什么?

答:

ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。

PSEN——外部程序存储器的读选通信号。

当访问外部ROM时,PSEN产生负脉冲作为外部ROM的选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。

PSEN可驱动8个LSTTL门输入端。

EA——访问外部程序存储器控制信号。

对8051和8751,它们的片内有4KB的程序存储器。

当EA为高电平时,CPU访问程序存储器有两种情况:

一是访问的地址空间在0~4K范围内,CPU访问片内程序存储器;二是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序。

对于8031,EA必须接地,只能访问外部ROM。

2-3程序计数器(PC)有多少位?

它的主要功能是什么?

答:

程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。

当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。

2-5MCS-51单片机如何实现工作寄存器组R0~R7的选择?

答:

每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。

RS1

RS0

寄存器组

R0

R1

R2

R3

R4

R5

R6

R7

0

0

0组

00H

01H

02H

03H

04H

05H

06H

07H

0

1

1组

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

1

0

2组

10H

11H

12H

13H

14H

15H

16H

17H

1

1

3组

18H

19H

1AH

1BH

1CH

1DH

1EH

1FH

2-6单片机复位后,各特殊功能寄存器中的初始化状态是什么?

答:

特殊功能寄存器

初始状态

特殊功能寄存器

初始状态

ACC

00H

TMOD

00H

PC

0000H

TCON

00H

PSW

00H

TL0

00H

SP

07H

TH0

00H

DPTR

0000H

TL1

00H

P0~P3

0FFH

TH1

00H

IP

xx000000B

B

00H

IE

0x000000B

SCON

00H

PCON

0xxx0000B

SBUF

不定

2-7MCS-51单片机的21个特殊功能寄存器中,哪些具有位寻址能力?

答:

MCS-51单片机中的程序状态字寄存器(PSW),B寄存器,累加器(ACC),端口P0~P3,控制寄存器中用于中断控制的中断优先级控制寄存器(IP)和中断允许控制寄存器(IE),用于设置定时/计数器和串行口工作方式的定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位寻址能力。

2-8程序状态字寄存器(PSW)的作用是什么?

答:

PSW寄存器是8位寄存器,用做程序运行状态的标志,字节地址为D0H。

可以进行位寻址。

2-9MCS-51单片机的P3口具有哪些功能?

答:

P3口是双功能口,除了作为准双向通用I/O口使用外,每一根口线还具有第二种功能,P3口的各位如不设定为第二功能则自动处于第一功能。

P3的第二功能涉及到串行口、外部中断、定时器,与特殊功能寄存器有关。

2-13什么是时钟周期、状态周期、机器周期和指令周期?

当单片机时钟频率为12MHz时,一个机器周期是多少?

ALE引脚的输出频率是多少?

答:

时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、最小的时间单位。

时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。

完成一个基本操作所需要的时间称为机器周期。

指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。

当单片机时钟频率为12MHz时,一个机器周期为1μs。

ALE引脚的输出频率为2MHz。

2-14什么时候需要复位操作?

对复位信号有何要求?

答:

复位是单片机的初始化操作。

单片机系统在上电启动运行时,都需要先复位。

上电复位利用电容器的充电实现。

在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。

MCS-51单片机的上电加按键复位电路当复位按键按下后,复位端通过51Ω的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V电源通过2kΩ电阻对22μF电容重新充电,RST引脚端出现复位正脉冲。

习题与思考题3

3-1什么是寻址方式?

MCS-51指令系统有哪些寻址方式?

相应的寻址空间在何处?

答:

在指令系统中,操作数是一个重要的组成部分,它指定了参与运算的数据或数据所在的地址单元。

如何找到参与运算的这个数据或数据所在的地址就称为寻址方式。

MCS-51指令系统的寻址方式主要有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址等七种。

对程序存储器只能采用立即寻址和基址加变址寻址方式;对特殊功能寄存器只能采用直接寻址方式,不能采用寄存器间接寻址,对8032/8052等单片机内部RAM的高128个字节(80H~FFH),只能采用寄存器间接寻址,不能使用直接寻址方式;对位操作指令只能对位寻址区操作;外部扩展的数据存储器只能用MOVX指令访问,而内部RAM的低128个字节(00H~7FH)既能用直接寻址,也能用间接寻址。

3-2访问外部数据存储器和程序存储器可以用哪些指令来实现?

举例说明。

答:

访问外部数据存储器可以用以下指令实现:

MOVXA,@Ri;((Ri))→A,寄存器Ri指向的片外RAM地址中的内容送到累加

器A中

MOVX@Ri,A;A→((Ri)),累加器中内容送到寄存器Ri指向的片外RAM地址

MOVXA,@DPTR;((DPTR))→A,数据指针指向的片外RAM地址中的内容送到累

加器A中

MOVX@DPTR,A;A→((DPTR)),累加器中内容送到数据指针指向的片外RAM地

址中

访问程序存储器可以用以下指令实现:

MOVCA,@A+DPTR;((A+DPTR))→A,表格地址单元中的内容送到累加器A中

MOVCA,@A+PC;PC+1→PC,((A+PC))→A,表格地址单元中的内容送到累

加器A中

3-3试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。

(1)立即寻址方式;

(2)寄存器寻址方式;(3)寄存器间接寻址方式

答:

(1)立即寻址方式:

MOV30H,#0FH

(2)寄存器寻址方式:

MOVR5,#0FH

MOV30H,R5

(3)寄存器间接寻址方式:

MOV@R1,#0FH

MOV30H,@R1

3-5试编写一段程序,将内部数据存储器30H、3lH单元内容传送到外部数据存储器1000H、1001H单元中。

答:

MOVA,30H

MOVDPTR,#1000H

MOV@DPTR,A

MOVA,31H

MOVDPTR,#1000H

MOV@DPTR,A

3-13SJMP指令和AJMP指令都是字节转移指令,它们有什么区别?

各自的转移范围是多少?

能否用AJMP指令代替程序中的所有SJMP指令?

为什么?

答:

AJMP和SJMP的区别有:

(1)跳转范围不同。

AJMPaddr1;短跳转范围:

2KB

SJMPrel;相对跳转范围:

-128~+127

(2)指令长度不同。

(3)指令构成不同。

AJMP、LJMP后跟的是绝对地址,而SJMP后跟的是相对地址。

不能用AJMP指令代替程序中的SJMP指令,因为如果改变的话,程序跳转到的新PC值指向的地址会不同,导致程序出现错误。

3-14试用位操作指令实现下列逻辑操作。

要求不得改变未涉及到的位的内容。

(1)使ACC.0置位;

(2)清除累加器高4位;

(3)清除ACC.3,ACC.4,ACC.5,ACC.6。

答:

(1)SETBACC.0

(2)CLRACC.4

CLRACC.5

CLRACC.6

CLRACC.7

(3)CLRACC.3

CLRACC.4

CLRACC.5

CLRACC.6

习题与思考题4

4-1MCS-51系列单片机汇编语言进行程序设计的步骤如何?

答:

单片机汇编语言进行程序设计的步骤:

(1)分析题意,明确要求;

(2)确定算法;(3)画程序流程图,用图解来描述和说明解题步骤;(4)分配内存工作单元,确定程序与数据区的存放地址;(5)编写源程序;(6)程序优化;(7)上机调试、修改和最后确定源程序。

4-3子程序调用时,参数的传递方法有哪几种?

答:

传递方法有传递数据、传送地址和通过堆栈传递参数。

4-5编写程序,采用算术平均值滤波法求采样平均值,设8次采样值依次放在20H~27H的连续单元中,结果保留在A中。

答:

FILT:

CLRA

MOVR2,A

MOVR3,A

MOVR0,#20H

MOVR7,#08H

;初始化

FILT1:

MOVA,@R0

ADDA,R3

MOVR3,A

CLRA

ADDCA,R2

MOVR2,A

INCR0

DJNZR7,FILT1

;累加采样值到R3,累加进位到R2=00000xxxB

FILT2:

SWAPA

RLA;R2/8,节省一个指令周期

XCHA,R3

SWAPA

RLA;R3/8,节省一个指令周期

ADDA,#80H;四舍五入

ANLA,#1FH;屏蔽移位进入的前三位

ADDCA,R3;结果相加

END

;取平均值

4-8假设在R0指向的片内RAM区,存有20个16进制数的ASCII字串。

将ASCII码转换为16进制数,然后两两合成一个字节,从低地址单元到高地址单元依次组合。

答:

ORG0000H

START:

MOVR7,#20

S0:

MOVA,R0

MOVR1,A;R1为中间量

MOVA,@R0

CLRC

SUBBA,#30H

MOV@R1,A

JCS01

MOVA,@R0

SUBBA,#07H

MOV@R1,A

S01:

INCR0

MOVA,@R0

CLRC

SUBBA,#30H

SWAPA

ORLA,@R1

MOV@R1,A

JCS02

MOVA,@R0

SUBBA,#07H

SWAPA

ORA,@R1

MOV@R1,A

S02:

INCR0

DJNZR7,S0

END

习题与思考题6

6-2MCS-51单片机提供了几个中断源?

有几级中断优先级别?

各中断标志是如何产生的又如何清除这些中断标志?

各中断源所对应的中断矢量地址是多少?

答:

MCS-51单片机提供了5个中断源,有2级中断优先级别。

中断标志由特殊功能寄存器TCON和SCON的相应位锁存。

(见书中图6-4、6-6)

中断标志的撤消分为:

1)定时/计数器中断请求的撤消

中断请求被响应后,硬件会自动清TF0或TF1。

2)外部中断请求的撤消

(1)跳沿方式外部中断请求的撤消是自动撤消的。

(2)电平方式外部中断请求的撤消,除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。

(见书中图例6-1)

3)串行口中断请求的撤消

响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。

所以串行口中断请求的撤消只能使用软件的方法。

CLRTI;清TI标志位

CLRRI;清RI标志位

各中断源对应的中断矢量地址分别为:

中断源

中断矢量

外部中断0

0003H

定时器T0中断

000BH

外部中断1

0013H

定时器T1中断

001BH

串行口中断

0023H

定时器中断T2(仅52系列有)

002BH

6-3外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?

怎样设定?

答:

采用中断电平触发方式时,中断请求标志IT0=0,CPU在每个机器周期的S5P2期间采样,一旦在P3.2

引脚上检测到低电平,则有中断申请,使IE0置位(置1),向CPU申请中断。

在电平触发方式中,在中断响应后中断标志位IE0的清0由硬件自动完成,但由于CPU对P3.2

引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0的IE0标志位重新置1,所以,在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。

采用边沿触发方式时,IT0=1,CPU在每个机器的S5P2期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0置1,向CPU申请中断,此标志位一直保持到CPU响应中断后,才由硬件自动清除。

在边沿触发方式中,为保证CPU在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周期的时间。

6-4试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?

若可能,则应如何设置中断源的中断级别?

否则,请简述不可能的理由。

(1)定时器T0中断,定时T1中断,外中断1NT0,外中断INT1,串行口中断;

(2)串行口中断,外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断;

(3)外中断INT0、定时器T1中断,外中断INT1,定时器T0中断,串行口中断。

答:

(1)可以,将定时器T0中断,定时T1设置为高优先级中断,将外中断1NT0,外中断INT1,串行口中断

(2)可以,将串行口中断设置为高优先级中断,将外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断设置为低优先级中断;

(3)不行,因为MCS-51单片机有2级中断优先级别,同级中断还存在按次序决定的第二优先级结构,由高到低依次为外中断1NT0、定时器T0中断、外中断INT1、定时器T1中断、串行口中断。

习题与思考题7

7-1定时/计数器有哪些专用寄存器,它们有几种工作模式?

如何设置?

答:

有定时控制寄存器(TCON)和工作方式寄存器(TMOD),具有四种工作方式:

方式0、方式1、方式2和方式3,四种方式由工作方式寄存器(TMOD)的M1和M0两位决定。

7-4定时/计数器用作计数器时,对外界计数频率有何限制?

答:

外部输入的计数脉冲的最高频率为振荡器频率的1/24。

7-7编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:

1的矩形脉冲。

答:

本题采用晶体振荡器频率为12MHz,使用定时器配合计数器,设计成一个40μs定时将P1.0置0和一个400μs定时将P1.0置1。

ORG0000H;中断入口地址

AJMPSTART

ORG000BH;定时器0的中断向量地址

AJMPTIME0

ORG0030H

START:

MOVSP,#5FH

MOV30H,#00H;软件计数器清零

MOVTMOD,#02H;T0工作在方式1

MOVTH0,#216

MOVTL0,#216

SETBEA

SETBET0

SETBTR0

;任意程序段

TIME0:

PUSHACC;中断处理子程序

PUSHPSW

CLRP1.0

INC30H

MOVA,30H

CJNEA,#10,T0_4

SETBP1.0

MOV30H,#00H

T0_4:

POPPSW

POPACC

RETI

END

7-9利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。

编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/秒(8个灯依次亮一遍为一个周期)。

答:

本题采用晶体振荡器频率为12MHz,每个灯的闪烁周期是:

50ms,采用工作方式1。

ORG0000H

AJMPSTART

ORG000BH

AJMPTIME0

ORG0030H

START:

MOVSP,#5FH

MOVR7,#0FEH

MOVTMOD,#01H;T0在工作方式1

MOVTH0,#3CH

MOVTL0,#0B0H

SETBEA

SETBET0

SETBTR0

S0:

AJMPS0;此处放任意程序段

TIME0:

PUSHACC

PUSHPSW

MOVP1,R7

MOVA,R7

RLA

MOVR7,A

MOVTH0,#3CH

MOVTL0,#0B0H

POPPSW

POPACC

RETI

END

7-12简述特殊功能寄存器SCON,TCON,TMOD功能。

答:

SCON是串行口控制寄存器,主要用于控制、监视串行口的工作状态;TCON是定时控制寄存器,主要用于控制定时/计数器的启动和停止、计数溢出标志和管理外部中断;TMOD是工作方式控制寄存器,主要用于设定定时/计数器的的工作方式和选定定时还是计数以及门控INT0非信号。

7-15帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式几?

答:

是异步串行通信方式1。

7-16简述串行口通信的第9数据位的功能。

答:

在工作方式2和3下,才有第9数据位,既可作为奇偶校验位使用,也可作为控制位使用。

习题与思考题8

8-1画图说明单片机系统总线扩展方法。

答:

单片机系统扩展总线原理如下图所示,扩展后由P0口经锁存器形成低8位地址,P2口形成高8位地址,共同形成16位地址总线;P0口形成8位数据线,/WR、/RD及/PSEN形成控制总线。

8-10以8031为核心的单片机应用系统中扩展程序存储器至16KB。

(1)选择存储器件;

(2)画出原理电路;

(3)说明各器件占用存储空间。

答:

(1)选用EPROM存储器作为程

序存储器,可选用1片27128或2片2764,本题选两片6264作为程序存储器。

(2)原理电路如下图所示。

(3)由于8031单片机内部没有程序程序器,外扩程序存储器地址必须从0000H开始,并且单片机的/EA引脚应接地。

从图中可以看出,1#2764的地址范围为0000-1FFFH,2#2764的地址范围为2000H-3FFFH

8-12试编程对8155进行初始化,设A口为选通输出,B口为选通输入,C口作为控制联络口,并启动定时/计数器按方式1工作,工作时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fOSC=12MHz。

答:

(1)参照书中图8-21,设:

①8155的片选信号CE接至51单片机的P2.7口,即单片机操作指令产生的地址信号P2.7为0时,对扩展的8155进行操作。

因此,扩展的8155口地址最高位为0;

②8155的IO/M(IO/M=1时选择8155的寄存器,IO/M=0时选择8155的存储器)信号接至51单片机的P2.0口,即单片机操作指令产生的地址信号P2.0为1时(前提是P2.7为0),对扩展8155的内部寄存器进行操作。

(2)8155内部寄存器口地址分析

根据前面假设,扩展的8155内部寄存器高8位地址是:

0xxx,xxx1B,取其中的任意位x为1,则8155内部寄存器高8位地址是:

0111,1111B=7FH。

参照书中表8-5知,8155地址信号有效时,由地址信号的低3位确定所操作的寄存器如下:

①控制字寄存器和状态字寄存器地址是:

××××,×000B,取其中任意值x为0,则该寄存器低8位地址是00H。

加上前面分析过的这里扩展的8155内部寄存器高8位地址7FH,该寄存器的16位地址为7F00H;

②A口寄存器地址是:

××××,×001B,取其中任意值x为0,则该寄存器低8位地址是01H。

同理,加上高8位地址7FH,该寄存器的16位地址为7F01H;

③B口寄存器地址是:

××××,×010B,取其中任意值x为0,则该寄存器低8位地址是02H。

同理,加上高8位地址7FH,该寄存器的16位地址为7F02H;

④C口寄存器地址是:

××××,×011B,取其中任意值x为0,则该寄存器低8位地址是03H。

同理,加上高8位地址7FH,该寄存器的16位地址为7F03H;

⑤定时/计数器低字节寄存器地址是:

××××,×100B,取其中任意值x为0,则该寄存器低8位地址是04H。

同理,加上高8位地址7FH,该寄存器的16位地址为7F04H;

⑥定时/计数器高字节寄存器地址是:

××××,×101B,取其中任意值x为0,则该寄存器低8位地址是05H。

同理,加上高8位地址7FH,该寄存器的16位地址为7F05H。

(3)8155控制字分析

根据8155控制字各位定义可知:

①D7~D6位(TM1和TM2)是定时/计数器工作方式,TM1和TM2=11时,启动定时/计数器。

根据题意要求,这两位取11(启动定时/计数器);

②D5位(IEB)是B口中断控制位,本题不涉及,故取0;

③D4位(IEA)是A口中断控制位,本题不涉及,故取0;

④D3~D2位(PAB2和PAB1)是定义A口、B口和C口的工作方式。

按照定义可知,PAB2~PAB1=10时,A口和B口均为选通方式。

此时,C口的PC0~PC5提供它们所需握手联络信号(PC0=INTRA,PC1=BFA,PC2=STBA,PC3=INTRB,PC4=BFB,PC5=STBB)。

其中与本题有关的信号是:

STBA为A口数据选通输入信号,STBB为B口数据选通输入信号(选通信号只在读取A、B口数据时使用,本题要求的初始化程序中不需要考虑);

⑤D1位(PB)定义B口的输入/输出,PB=0为输入,PB=1为输出。

根据题意应取该位为0;

⑥D0位(PA)定义A口的输入/输出,PA=0为输入,PA=1为输出。

根据题意应取该位为1。

综合以上分析,这里扩展的8155控制字为:

1100,1001B=C9H。

意为:

启动定时/计数器,A口和B口均为选通方式,B口为输入,A口为输出。

(4)定时/计数器工作方式及初值确定

51单片机的定时/计数器是以加法器方式工作,从定时常数开始加1直到溢出后产生定时中断。

而8155的定时/计数器是以减法器方式工作,从定时常数开始减1直

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

当前位置:首页 > 表格模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2