育大学生分类考试题答案_第1页
育大学生分类考试题答案_第2页
育大学生分类考试题答案_第3页
育大学生分类考试题答案_第4页
育大学生分类考试题答案_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

张毅刚主编高等教育出版社《单片机原理及应用》答案(2008-11-1515:34:30)

标签:答案教

育大学生分类:考试题答案

第一章

1-3:单片机与普通计算机的不同之处在于其将()()和()三部分集成

于一块芯片上。

答:CPU、存储器、I/。口

1-8:8051与8751的区别是:

A、内部数据存储但也数目的不同B、内部数据存储器的类型不同

C、内部程序存储器的类型不同D、内部的寄存器的数目不同

答:C

第二章

2-4:在MCS—51单片机中,如果采用6MHz晶振,1个机器周期为()。

答:2us。

析:机器周期为振荡周期的忧。

2-6:内部RAM中,位地址为30H的位,该位所在字节的字节地址为()。

答:26H

2-7:若A中的内容为63H,那么,P标志位的值为()。

答:0

析:P为偶校验位,因为A中1的个数为偶数,所以P=0。

2-8:判断下列说法是否正确:

A、8031的CPU是由RAM和EPROM所组成。

B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范

围的低端还是

高端。

C、在MCS-51中,为使准双向的I/。口工作在输入方式,必须保证它被事先预

置为1»

课后答案网出接口等等,主要应

用于测控领域,用

以实现各1福?s」D、PC可以看成使程序存储器的地址指针。

答:错、错、对、对

2-9:8031单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW=

()»这时

当前的工作寄存器区是()组工作寄存器区。

答:04H、00H、0

2-11:判断以下有关PC和DPTR的结论是否正确?

A、DPTR是可以访问的,而PC不能访问。

B、它们都是16位的存储器

C、它们都有加1的功能。

D、DPTR可以分为两个8位的寄存器使用,但PC不能。

答:对、对、对、对

2-13:使用8031芯片时,需将/EA引脚接()电平,因为其片内无()存

储器。

答:低、程序

2-14:片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是

什么?

答:工作寄存器区、位寻址区、数据缓冲区

2-15:判断下列说法是否正确

A、程序计数器PC不能为用户编程时直接使用,因为它没有地址。

B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。

C、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,

是可以进行

位寻址的。

答:对、错、错

2-16:PC的值是

A、当前正在执行指令的前一条指令的地址B、当前正在执行指令的地址

C、当前正在执行指令的下一条指令的地址D、控制器中指令寄存器的地址

答:C

2-17:通过堆栈操作实现子程序调用,首先就要把()的内容入栈,以进行

断点保护。调

用返回时,再进行出栈保护,把保护的断点送回到()。

答:PC、PC

2-19:MCS—51单片机程序存储器的寻址范围是由程序计数器PC的位数所决

定的,因为

MCS-51的PC是16位的,因此其寻址的范围为()KB..

答:64

2-20:当MCS—51单片机运行出错或程序陷入死循环时,如何来摆脱困境?

答:软件陷阱、复位

2-21:判断下列说法是否正确?

A、PC是1个不可寻址的特殊功能寄存器。

B、单片机的主频越高,其运算速度越快。

C、在MCS—51单片机中,1个机器周期等于lus。

D、特殊功能寄存器SP内装的是栈顶首地址单元的内容。

答:错、对、错、错

2-22:如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断

MCS-51单

片机正在工作?

答:ALE

析:因为单片机正常工作时,ALE脚输出时钟频率为振荡周期的必。

张毅刚主编高等教育出版社《单片机原理及应用》答案(2008-11-1515:38:22)

标签:答案教

育大学生分类:考试题答案

第三章

3-1:判断下列指令的正误:

1)MOV

28H,@R22)DECDPTR3)INCDPTR4)CLRRO

5)CPLR56)MOVRO,R17)PUSHDPTR8)MOVFO,C

9)MOVF0,ACC.310)MOVXA,@R111)MOVC,30H12)RLCRO

答:错、错、对、错

错、错、错、对

错、对、对、错

3-2:判断下列说法是否正确。

A、立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。

B、指令周期是执行一条指令的时间。

C、指令中直接给出的操作数称为直接寻址。

答:对、对、错

3-3:在基址加变址寻址方式中,以()作变址寄存器,以()或()作基

址寄存器。

答:累加器A,DPTR、PC

3-7:指令格式是由()和()所组成,也可能仅由()组成。

答:操作码、操作数、操作码

3-8:假定累加器A中的内容为30H,执行指令

1000H:MOVCA,@A+PC

后,把程序存储器()单元的内容送入累加器A中。

答:1031H

3-9:在MCS-51中,

PC和DPTR都用于提供地址,但PC是为访问()存储器提供地址,

而DPTR是为访问()存储器提供地址。

答:程序、数据

3-10:在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不

是操作数,而柳H

IUh#?是操作数的()。

答:地址

3-11:下列程序段的功能是什么?

PUSHA

PUSHB

POPA

POPB

答:交换A、B的内容

3-12:已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFHo下述程

序执行后:

POPDPH

POPDPL

MOVDPTR,#4000H

RLA

MOVB,A

MOVCA,@A+DPTR

PUSHA

MOVA,B

INCA

MOVCA,@A+DPTR

PUSHA

RET

ORG4000H

DB10H,80H,30H,50H,30H,50H

请问:A=(),SP=(),(51H)=(),(52H)=(),PC=()。

答:A=50H,SP=50H,(51H)=30H,(52H)=50H,PC=5030H

3-14:假定A=83H,(RO)=17H,(17H)=34H,执行以下指令:

ANLA,#17H

ORL17H,A

XRLA,@RO

CPLA

后,A的内容为()。

答:OCBH

3-15:假定A=55H,R3=0AAH,在执行指令ANLA,R3后,A=(),R3=()。

答:0、OAAH

3-16:如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,

则执行

下列指令后:

POPDPH

POPDPL

POPSP

则:DPH=(),DPL=(),SP=()

答:DPH=3CH,DPL=5FH,SP=4FH

3-17:假定,SP=60H,A=30H,B=70H,执行下列指令:

PUSHA

PUSHB

蓼后,SP的内容为

(),61H单元的内容为(),62H单元的内容为()。

答:62H,30H,70H

第四章

4-6:试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。

答:MOVA,45H

ANLA,#OFH

ORLA,#OFH

MOV45HZA

4-7:已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程

序执行后:

POPDPH

POPDPL

MOVDPTR,#3000H

RLA

MOVB,A

MOVCA,@A+DPTR

PUSHA

MOVA,B

INCA

MOVCA,@A+DPTR

PUSHA

RET

POPSP

则:DPH=(),DPL=(),SP=()

}'蝉ORG3000H

DB10H,80H30Hz80H,50H,80H

请问:A=(),SP=(),(51H)=(),(52H)=(),PC=()。

答:A二80H,SP=40H,(51H)=50H,(52H)=80H,PC=8050H

4-8:计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为

12MHz),

MOVR3,#15H;1个机器周期

DL1:MOVR4,#255;1个机器周期

DL2:MOVP1,R3;2个机器周期

DJNZR4,DL2;2个机器周期

DJNZR3,DL1;2个机器周期

RET;2个机器周期

答:15348US

析:((2+2)X255+1+2)X15+l+2=15348us

4-9:假定A=83H,(RO)=17H,(17H)=34H,执行以下指令:

ANLA,#17H

ORL17H,A

XRLA,@RO

CPLA

后,A的内容为()。

答:OCBH

4-10:试编写程序,查找在内部RAM的30H〜50H单元中是否有0AAH这一

数据。若有,

则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。

答:START:MOVRO,#30H

MOVR2,#20H

LOOP:MOVA,@RO

CJNEA,#OAAH,NEXT

MOV51H,#01H

LJMPEXIT

NEXT:INCRO

DJNZR2A00P

MOV51H,#OOH

EXIT:RET

4-11:试编写程序,查找在内部RAM的20H〜40H单元中出现“OOH”这数

据的次数。

并将查找到的结果存入41H单元。

答:START:MOV41H,#0

MOVR0,#20H

MOVR2,#20H

LOOP:MOVAZ@RO

JNZNEXT

INC41H

NEXT:INCRO

DJNZR2,L00P

RET

4一12:若SP=60H,标号LABEL所在的地址为3456H°LCALL指令的地址为2000H,

行指令如下:

琪PL=(),SP=()

D、当前指令是MOVA,R3

答:D

5—8:8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包

括:首先把

()的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(),

使程序执行

转向()中的中断地址区。

答:PC、PC、程序存储器

5-9:编写出外部中断1为跳沿触发的中断初始化程序。

答:SETBIT1

SETBEX1

SETBEA

5-10:在MCS—51中,需要外加电路实现中断撤除的是:

A、定时中断B、脉冲方式的外部中断

C、外部串行中断D、电平方式的外部中断

答:D

5-12:下列说法正确的是:

A、同一级别的中断请求按时间的先后顺序响应。

B、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

C、低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能

中断低优先级

中断请求。

D、同级中断不能嵌套。

答:ACD

5—13:中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?

答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断

5-14:某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要

求CPU进行处理,它

们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为

1000H,

1100H,1200Ho试编写主程序及中断服务程序(转至相应的中断处理程序的入

口即可)。

答:若仅在/INTO引脚接3个外部中断源,电路如图5-10(P115)

ORG0000H

UMPMAIN

ORG0003H

UMPINT_EXO

ORG0030H

MAIN:CLRITO;采用低电平有效中断

SETBEXO;允许外部中断0

SETBEA

;插入用户程序

WAIT:MOVPCON,#01H;单片机进入休眠方式等待中断

NOP

LJMPWAIT

;以下为外部中断0服务子程序

INT_EX0:JNBP1.O,NEXT1;判断是不是1号中断

LJMPINTJR1;跳转到1号中断处理程序

NEXT1:JNBP1.1,NEXT2;判断是不是2号中断

LJMPINTJR2;跳转到2号中断处理程序

NEXT2:LJMPINTJR3;跳转到3号中断处理程序

ORG1000H

裕映绦帆祷U喝

ETI和普通子程序返回指令RET有什么区丁}$厕所_次1:

;插入相应中断处理程序

RETI;中断返回

ORG1100H

INTJR2:

;插入相应中断处理程序

RETI;中断返回

ORG1200H

INTJR3:

;插入相应中断处理程序

RETI;中断返回

第六章MCS-51的定时/计数器

1.如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最

大的定时时间

为多少?

解答:因为机器周期,

所以定时器/计数器工作方式0下,其最大定时时间为

同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时

间为1024ms(,

2.定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有

关?

答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12

分频后提供。

定时时间与时钟频率和定时初值有关。

3.定时/计数器用作定时器时,对外界计数频率有何限制?

答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输

入的计数脉冲

的最高频率为系统振荡器频率的1/24„

4.采用定时器/计数器TO对外部脉冲进行计数,每计数100个脉冲后,TO转

为定时工作方

式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶

体振荡器的

频率为6MHz,请使用方式1实现,要求编写出程序。

解答:定时器/计数器TO在计数和定时工作完成后,均采用中断方式工作。除

了第一次计数

工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完

成,用一标志

位识别下一轮定时器/计数器TO的工作方式。编写程序如下:

ORG0000H

LJMPMAIN

ORGOOOBH

UMPITOP

MAIN:MOVTMOD,#06H;定时器/计数器TO为计数方式2

MOVTL0,#156:计数100个脉冲的初值赋值

MOVTH0,#156

SETBGATE;打开计数门

SETBTRO;启动TO,开始计数

SETBETO;允许TO中断

SETBEA;CPU开中断

CLRFO;设置下一轮为定时方式的标志位

WAIT:AJMPWAIT

ITOP:CLREA;关中断

JBFO,COUNT;F0=l,转计数方式设置

燃?中断请求。

D、同级中断不能嵌套。

答:ACD淑}h「s」MOVTMOD,#OOH;定时器/计数器TO为定时方式0

MOVTHO,#OFEH;定时1ms初值赋值

MOVTLO,#OCH

SETBEA

RETI

COUNT:MOVTMOD,#06H

MOVTL0,#156

SETBEA

RETI

5.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?

答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,

比如波特率

的产生。

6,编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400ns,占

空比为10:1

的矩形脉冲。

解答:根据题意,从PL0输出的矩形脉冲的高低电平的时间为10:1,则高低电

平的时间分

别为363.63US和36.37ns。如果系统采用6MHz晶振的话,,因此高低电平输

出取整,则

约为364ns和36US。编写程序如下:

ORG0000H

LJMPMAIN

ORGOOOBH

LJMPITOP

MAIN:MOVTMODZ#02H;定时器/计数器TO为定时方式2

MOVTL0,#4AH;定时364us初值赋值

SETBTRO;启动TO,开始计数

SETBEA;CPU开中断

CLRF0;设置下一轮乓|1鳏1SETBETO;允许TO中断

SETBEA;CPU开中断

SETBP1.0

WAIT:AJMPWAIT

ITOP:CLREA

CLRP1.0;关中断

MOVRO,#9

DLY:DJNZRO,DLY;延时26PS

MOVTL0,#4AH;定时364us初值赋值

SETBP1.0

SETBEA

RETI

7.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长

时间的定时?

答:方式一,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和

打开另一个定

时器;在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时

器。这种方式

的定时时间为两个定时器定时时间的和。

方式二,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由P1.0

接INTO产生),

另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定

时时间乘以另

一个定时器的计数值。

8.当定时器TO用于方式3时,应该如何控制定时器T1的启动和关闭?

答:由T1(P3.5)口控制定时器T1的启动和关闭。

9.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若

时钟频率为

6MHz,求允许测量的最大脉冲宽度是多少?

答:采用方式1定时■工作方式。最大脉冲宽度为131.072ms。

10.编写一段程序,功能要求为:当P1。引脚的电平正跳变时,对P1.1的输入

脉冲进行数:当

P1.2引脚的电平负跳变时,停止计数,并将计数值写入RO、R1(高位存R1,低

位存

R0)o

解答:将P1.1的输入脉冲接入INTO,即使用TO计数器完成对P1.1口的脉冲计

数。编写程

序如下:

ORG0000H

UMPMAIN

ORG000BH

UMPITOP

MAIN:JNBP1.0ZMAIN

MOVTMOD,#05H;定时器/计数器TO为计数方式1

SETBTRO;启动TO,开始计数

SETBETO;允许TO中断

SETBEA;CPU开中断

WAIT:JBP1.2,WAIT

CLREA

CLRTRO

MOVR1,THO

MOVRO,TLO

AJMP$

ITOP:INCR2

RETI

11.THX与TLX(X=O,1)是普通寄存器还是计数器?其内容可以随时用指令更改

吗?更改后

的新值是立即刷新还是等当前计数器计满后才能刷新?

答:THX与TLX(X=O,1)是由特殊功能寄存器构成的计数器,其内容可以随时用

指令更改,更改后的

新值是立即刷新。但在读THX、TLX的值时,应该先读THX值,后读TLX,再

读THX。若两次读得THX相同,则可确定读得的内容正确。若前后两次读得的

THX有变

化,再重复上述过程。

12.判断下列的说法是否正确?

⑴特殊功能寄存器SCON,与定时器/计数器的控制无关。(对)

(2)特殊功能寄存器TCON,与定时器/计数器的控制无关。(错)

⑶特殊功能寄存器IE,与定时器/计数器的控制无关。(错)

(4)特殊功能寄存器TMOD,与定时器/计数器的控制无关。(错)

张毅刚主编高等教育出版社《单片机原理及应用》答案(2008-11-1515:43:32)

标签:答案教

育大学生分类:考试题答案

第七章MCS-51的串行口

1.串行数据传送的主要优点和用途是什么?

答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。主要用于

多个单片机

系统之间的数据通信。

2.简述串行口接收和发送数据的过程。

答:以方式一为例。发送:数据位由TXT端输出,发送1帧信息为10为,当

CPU执行1

条数据写发送缓冲器SBUF的指令,就启动发送。发送开始时,内部发送控制

信号/SEND

变为有效,将起始位想TXD输出,此后,每经过1个TX时钟周期,便产生1

个移位脉冲,

并由TXD输出1个数据位。8位数据位全部完毕后,置1中断标志位TI,然后

/SEND信号

失效。接收:当检测到起始位的负跳变时,则开始接收。接受时,定时控制信

号有2种,一

种是位检测器采样脉冲,它的频率是RX时钟的16倍。也就是在1位数据期间,

有16个采

样脉冲,以波特率的16倍的速率采样RXD引脚状态,当采样到RXD端从1到

0的跳变时

就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否

是真正的起始

位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数

据。

3.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式

(1)»

4.串行口有几种工作方式?有儿种帧格式?各种工作方式的波特率如何确

定?

答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,

方式2和3

具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,

方式1的波特率=2SMOD/32X定时器T1的溢出率

U开中断

SETBP1.0

WAIT:AJMPWAIT

X襁欷sL方式2的波特率=2SMOD/64Xfosc

方式3的波特率=2SMOD/32X定时器T1的溢Hl率

5.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,

1个停止位,

请画出传送字符“A”的帧格式。

起始位01000000校验位停止位

6.判断下列说法是否正确:

(1)串行口通信的第9数据位的功能可由用户定义。(对)

(2)发送数据的第9数据位的内容在SCON寄存器的TB8位预先准备好的。(对)

(3)串行通讯发送时,指令把TB8位的状态送入发送SBUF。(错)

(4)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(对)

(5)串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。(对)

7.通过串行口发送或接收数据时,在程序中应使用:(选(3))

(1)MOVC指令(2)MOVX指令(3)MOV指令(4)XCHD指令

8.为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知

时钟频率、

通讯波特率,如何计算其初值?

解答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特

率发生器设

置时,就避免了重装参数的操作。

已知时钟频率、通讯波特率,根据公式:,计算出初值。

9.串行口工作方式1的波特率是:(3)

(1)固定的,为。

(2)固定的,为。

(3)可变的,通过定时器/计数器T1的溢出率设定。

标志位

WAIT:AJMPWAIT

ITOP:CLREA;关中蜘TsL行I/O口,一般不用于两个MCS-51之间的串行通信。

该方式以fosc/12的固定波特率从低

为位到高位发送或接受数据。

第八章习题解答

1.单片机存储器的主要功能是存储(程序)和(数据)。

2.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据

区2001H单元

和2002H单元中,按顺序拼装后的单字节数放入2002H。

解:本题主要考察了对外部存储器的读、写操作,同学们只要记住正确使用

MOVX指令就

可以了。编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的

高四位和低

四位互换,再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取

2002H的值,

保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,

将运算后的

结果保存在2002H中。

ORG0000H

MAIN:MOVDPTR,#2001H;设置数据指针的初值

MOVXA,@DPTR:读取2001H的值

SWAPA

ANLA,#OFOH;屏蔽掉低四位

MOV30H,A;保存A

INCDPTR;指针指向下一个

MOVXA,@DPTR:读取2002H的值

ANLA,#OFH:屏蔽掉高四位

ORLA,30H;进行拼装

MOVX@DPTR,A;保存到2002H

END

3.假设外部数据存储器2000H单元的内容为80H,执行下列指令后:

MOVP2,#20H

MOVRO,#00H《单

片机原理及应用》答案(2008-11-1515:43:32&W?SL

MOVXA,@R0

累加器A中的内容为(80H).

4.编写程序,将外部数据存储器中的4000H-40FFH单元全部清零。

解:本题主要考察了对外部数据块的写操作:编程时只要注意循环次数和MOVX

指令的使

用就可以了。

ORG0000H

MAIN:MOVA,#0;送预置数给A

MOVRO,#OFFH;设置循环次数

MOVDPTR,#4000H;设置数据指针的初值

LOOP:MOVX@DPTR,A;当前单元清零

INCDPTR;指向下一个单元

DJNZRO,LOOP;是否结束

END

5.在MCS-51单片机系统中,外接程序存储器和数据存储器共16位地址线和8

位数据线,

为何不会发生冲突?

解:因为控制信号线的不同:

外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为0E和

WEo外扩

RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。

外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控

制引脚,只

有读出引脚,记为。E,该引脚与MCS-51单片机的PSEN相连。

6.区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:

(1)看其位于地址范围的低端还是高段

(2)看其离MCS-51芯片的远近

(3)看其芯片的型号是ROM还是RAM

粢阎敝悠德省?通讯波特率,如

何计算其初值?

解烈}LrsL

(4)看其是与RD信号连接还是与PSEN信号连接

解:本题的答案是3,4。

7.在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的(片

选)端提供信

号。

8.请写出图8-18中4片程序存储器27128各自所占的地址空间。

解:图中采用了译码法。4片地址分别为0000H-3FFFH、4000H-7FFFH,

8000H-BFFFH、

COOOH-FFFFHo

9.起止范围为OOOOH-3FFFH的存储器的容量是(16)KB。

解:本题属于常识题,在第十一题时将有解答。

10.在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问(程序)存

储器提供地

址,而DPTR是为访问(数据)存储器提供地址。

11.11根地址线可选(2KB)个存储单元,16KB存储单元需要(14)根地址线。

解:通过总结所学知识,我们得到以下几个信息:2KB的存储器需要11根地址

线,地址为

0000H-07FFH;4KB的存储器需要12根地址线,地址为OOOOH-OFFFH;

8KB的存储器需要13根地址线,地址为0000H-1FFFH;16KB的存储器需要14

根地址线,

地址为0000H-3FFFH;32KB的存储器需要15根地址线,地址为0000H-7FFFH;

64KB的

存储器需要16根地址线,地址为OOOOH-FFFFH(以上存储器的首地址均默认为

0000H)»

12.32KBRAM存储器的首地址若为2000H,则末地址为(9FFF)H,

解:由上题总结得出,32KBRAM存储器的大小为0000H-7FFFH,所以只要在后

面加上2000H

即得到正确答案。

13.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请

使用他们组

成一个单片机系统,要求:

(1)画出硬件电路连线图,并标注主要引脚;

(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。

解:(1)电路图如下所示:

(2)2764的地址为C000H-DFFFH;

存储器的主要功能是存储(程序)

和(数据)。

2.M?SL

第一个6116的地址为A000H-A7FFH;

第二个6116的地址为6000H-67FFH;

事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建

议在实际工作

中要具体情况具体分析。在两种地址分配中选一种较好的来应用。

14.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据

存储器,且

首地址为8000H»要求:

(1)确定2864芯片的末地址;

(2)画出2864片选端的地址译码电路;

(3)画出该应用系统的硬件连接图。

解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,

理由参考第

12题;

(2)电路图如下所示:

(3)电路图如下所示

张毅刚主编高等教育出版社《单片机原理及应用》答案(2008-11-1515:44:52)

标签:答案教

育大学生分类:考试题答案

第九章习题解答

1.1/0接口和I/O端口有什么区别?I/O接口的功能是什么?

解:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。

I/O接口是

指单片机与外设间的I/O接口芯片。

I/O接口功能:一.实现和不同外设的速度匹配;二,输出数据缓存;三.输入数据

三态缓冲。

2.常用的I/O接口编址有哪两种方式?它们各有什么特点?MCS-51的I/O端口

编址采用的

是哪种方式?

解:一.独立编址方式:独立编址方式就是I/O地址空间和存储器地址空间分开

编址。独立

编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。但是,却

需要设置一套

专门的读写I/O的指令和控制信号。二.统一编址方式:这种编址方式是把I/O

端口的寄存器

与数据存储器单元同等对待,统一进行编址。统一编址的优点是不需要专门的

I/O指令,直蜂?c逮接

使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。MCS-51单

片机使用

的是I/O和外部数据存储器RAM统一编址的方式。

3.1/0数据传送有哪几种传送方式?分别在哪些场合下使用?

解:一.同步传送方式:同步传送又称为有条件传送。当外设速度可与单片机速

度相比拟时,

常常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间

的数据传送。

二.查询传送方式:查询传送方式又称为有条件传送,也称异步传送。单片机通

过查询得知

外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查

询程序十分简

单,但是效率不高。为了提高单片机的工作效率,通常采用中断方式。三.中断

传送方式:

中断传送方式是利用MCS-51本身的中断功能和I/O接口的中断功能来实现I./0

数据的传

送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入

与外设进行数

据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续

执行。因此,

采用中断方式可以大大提高单片机的工作效率。

4.编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,

(已知8255A

各端口的地址为7FFCH-7FFFH)。

解:本题主要考察对8255A的C口的操作。其方式控制字的高位为0时,低四

位对C口进

行置位。由题目我们得到了方式控制字的地址为7FFFH。

ORG0000H

MAIN:MOVDPTR,#7FFFH;控制字寄存器地址送DPTR

MOVA,#OEH;将PC7置0

MOVX@DPTR,A

MOVA,#09H;将PC4置1

MOVX@DPTR,A

END

5.8255A的方式控制字和C口按位置位/复位控制字都可以写入8255A的同一控

制寄存器,

8255A是如何区分这两个控制字的?

解:8255A通过它们的最高位来进行判断,最高位为1时,这时8255A认为这

是方式控制

字,否则认为是cU按位置位/复位控制字

6.由图9-6来说明8255A的A口在方式1的选通输入方式下的工作过程。

解:当外设输入一个数据并送到PA7-PA0上时,输入设备自动在选通输入线

STBA向8255A⑵螳昴

-I?址,而DPTR是为访问(数据)存储器提供地I襁邮sL发送一个低电平选通

信号。8255A收到选通信号后:首先把PA7-PA0匕输入的数据存入A

口的输入数据缓冲/锁存器;然后使输入缓冲器输出线IBFA变成高电平,以通

知输入设备,

8255A的AU己收到它送来的输入数据。8255A检测到联络线STBA由低电平变

成了高电

平、IBFA为1状态和中断允许触发器INTEA为1时,使输出线INTRA(PC3)变

成高电平,

向8031发出中断请求。(INTEA的状态可由用户通过对PC4的置位/复位来控制。

8031相应

中断后,可以通过中断服务程序从A口的输入数据缓冲/锁存器读取外设发来

的输入数据。

当输入数据被CPU读走后,8255A撤销INTRA上的中断请求,并使IBFA变为低

电平,以

通知输入外设可以送下一个输入数据。

7.8155H的端口都有哪些?哪些引脚决定端口的地址?引脚TIMERIN和

TIMEROUT的作

用是什么?

解:8155H的端口有以下几种:命令/状态寄存器、AU、B口、C口、计数器和

RAM单元。

引脚10/M、A2、Al、A0决定端口地址。TIMERIN是计数器输入线,输入的脉

冲上跳沿用

于对8155H片内的14位计数器减一。TIMEROUT为计数器输入线。当14位计

数器减为0

时就可以在该引线上输出脉冲或方波,输出的信号的形状与所选的计数器工作

方式有关。

8.判断下列说法是否正确,为什么?

(1)由于8155H不具有地址锁存功能,因此在与8031的接口电路中必须加地

址锁存器。

(2)在8155H芯片中,决定端口和RAM单元编址的信号线是AD7-AD0和WR。

(3)8255A具有三态缓冲器,因此可以直接挂在系统的数据总线上。

(4)8255A的B口可以设置成方式20

解:(1)8155H具有地址锁存功能;

(2)引脚10/M、A2、Al,A0决定端口地址和RAM单元编址;

(3)8255A不具有三态缓冲器;

(4)8255A的B口只可以设置成方式0和方式1»

9.现有一片8031,扩展了一片8255A,若把8255A的B口用做输入,B口的每

一位接一^t'

开关,A口用作输出,每一位接一个发光二极管,请画出电路原理图,并编写

出B口某一

位接高电平时,A口相应位发光二极管被点亮的程序。

解:由于电路图比较简单,在这里就画了,大家可以参考图9-10,A口每-一位

接二极管的

正极,二极管的负极接低。B口每一位接一开关,开关直接接地。这样我们只

需要将读到的

B口的值送给A口就可以满足题目要求了。

ORG0000H进行数据

传送。异步传送的优点是通用性好,硬件连线-襁爆sL

MIAN:MOVA,#100000106;A口出,B口入

MOVDPTR,#0FF7FH;控制地址送DPTR

MOVX@DPTR,A;送方式控制字

MOVDPTR,#0FF7DH;B口地址送DPTR

MOVXA,@DPTR;读开关信息

MOVDPTR,#OFF7CH;A口地址送DPTR

MOVX@DPTR,A;将信息反溃到二极管

END

10.假设8155H的TIMERIN引脚输入的频率为4MHz?问8155H的最大定时时间

是多少?

解:8155H记数器的初值范围是:3FFFH-2H。当频率为4MHz,初值为3FFFH

时,最大定

时时间为:1638羽E+6=0.00409575s

11.MCS-51的并行接口的扩展有多种方式,在什么情况下,采用扩展8155H比

较合适?什

么情况下,采用扩展8255A比较适合?

解:8255A具有3个8位的并行I/O0,3种工作方式,可通过编程改变其功

能,因而使用

灵活方便,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。

8155H芯片内

包含有256B的RAM存储器(静态),2个可编程的八位并行口PA和PB,1个

可编程的6

位并行口PC,以及1个14位减法定时器/计数器。所以它经常用于单片机的外

围接口芯片。

12.假设8155H的TIMERIN引脚输入的脉冲频率为1MHz,请编写出在8155H的

TIMEROUT

引脚上输出周期为10ms的方波的程序。

解:将1MHz的脉冲改变为10ms的方波,这就让我们想到了在数字电路里面

学到的分频器。

计算得出分频前后频率之比为10000:1,这样我们只要将定时器初值设置为64H

就可以了。

(假设I/O口地址为7F00H-7F05H)

START:MOVDPTR,#7F04H;指针指向定时器低8位

MOVA,#64H;送初值给A

MOVX@DPTR,A;初值送给低8位

INCDPTR;指向高8位

MOVA,#40H;定时器方波输出

MOVX@DPTE,A

MOVDPTR,#7F00H;指向命令/状态口

MOVA,#0C2H;设定控制字

MOVX@DPTE,A;启动定时器

END

第十章习题解答

1.为什么要消除按键的机械抖动?消除按键的机械抖动的方法有哪几种?原理

是什么?

解:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产

生。如果不消

除按键的机械抖动,按键的状态读取将有可能出现错误。消除按键抖动一般是

采用软件或硬

件去抖。软件去抖的原理:在第一次检测到有键按下时,该键所对应的航线是

为低电平,执

行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为

低电平,则确

认为该行确实有键按下。

2.判断下列说法是否正确?

(1)8279是一个用于键盘和LED(LCD)显示器的专用芯片。

(2)在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或

中断请求信

号使用。

(3)为给以扫描发方式工作的8*8键盘提供接口电路,在接口电路中只需要

提供2个输入

口和1个输出口。

(4)LED的字型码是固定不变的。

解:(1)正确;

(2)正确

(3)错误

(4)错误

3.LED的静态显示方式于动态显示方式有何区别?各有什么优缺点?

解:静态显示时,数

据是分开送到每一位LED上的。而动态显示则是数据是送到每一个LED

上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占

用较多。动

态显示则好一点,适合用在显示位数较多的场合。

4.写出表10-1中仅显示小数点的段码。

解:80H(共阴极);7FH(共阳极)

5.说明矩阵式键盘按键按下的识别原理。

解:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线

通过上拉电阻

接到+5V匕无按键按下时,行线处于高电平状态,而当有按键按下时,行线

电平状态将由

与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低:列

线的电平如果

为高,则行线的电平亦为高。将行、列线信号配合起来并做适当的处理,才能

确定闭合键的

位置。

6.对于图10-11的键盘,采用线反转法原理来编写识别某一按键按下并得到其

键号的程序。

解:先对P1口高四位送低电平,读取P1口低四位的值:再对P1口低四位送

低电平,读取

P1口高四位的值,将两次读到的值组合在一起就得到了按键的特征码,在根据

特征码查找

键值。

KEYIN:MOVP1,#OFH;反转读键

MOVA,Pl

ANLA,#OFH

MOVB,A

MOVP1,#OFOH

MOVA,P1

ANLA,#OFOH

ORLA,B

CJNEA,#OFFH,KEYIN1

RET;未按键

KEYIN1:MOVB,A;暂存特征码

MOVA,R3

LDO:MOVDPTR,#7F01H;位选码

MOV@DPTR,A

INCDPTR

MOVA,@RO

ADDA,#ODH

MOVCA,@A+PC;取到笔形码

DIRI:MOVX@DPTR,A;送出显示

ACALLDL1MS

INCRO

MOVR3

JBACC.5ZLD1;是否到最右边的LED

RLA

MOVR3ZA;保存位选码

AJMPLDO

LD1:RET

DSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH;0,1,2,3,4,5,6

DL1MS:MOVR7,#02H

DL:MOVR6,#0FFH

DL6:DJNZR6,DL6

DJNZR7,DL

RETRETI

11.THX与TLX(X=O,1)是普通寄存器还是计数枣}一蔡

9.根据图10-17的接口电路编写在8个LED上轮流显示“1,2,3,4,5,6,

7,8”的显

示程序,比较一下与上一题显示程序的区别。

解:本电路图采用的是静态显示。程序如下:

DIR:SETBP3.3;允许显示

MOVSCON,#0;工作方式一

MOVDPTR,#TAB;笔形码

MOVR7,#08H;初值为8

CALLOUT;8

DECR7

CALLOUT;7

DECR7

CALLOUT;6

DECR7

CALLOUT;5

DECR7

CALLOUT;4

DECR7

CALLOUT;3

DECR7

CALLOUT;2

DECR7;l

OUT:MOVA,R7

是计数!MOVC

A,@A+DPTR;找到对应的笔形码

MOVSBUF,A;送出显示

JNBTI,$

CLRTI

RET

TAB:DBOCOH,OF9H,OA4H,OBOH,99H;0,l,2,3,4

DB92H,B2H,0F8H,80H;5,6,7,8

10.8279中扫描计数器有两种工作方式,这2种工作方式各应用在什么场合?

解:按编码方式工作时,计数器作二进制计数。4位计数状态从扫描线SL0-SL3

输出,经外

部译码器4线-16线译码后,为键盘和显示器提供16中取1的扫描线。按译码

方式工作时,

扫描计数器的最低2位在8279内部被译码后,从SL0-SL3输出,为键盘和显示

器直接提供

了4中取1的扫描线。

11.简述TpuP-40A/16A微型打印机的Centronics接口的主要信号线的功能。与

MCS-51单片

机相连接时,如何连接这儿条控制线?

解:DB0-DB7:数据线,单向传输,由单片机输入给打印机。

STB(STROBE):数据选通信号。在该信号的上升沿,数据线上的8位并行数据

被打印机

读入机内锁存。

BUSY:打印机忙状态信号。当该信号有效(高电平)时,表示打印机正忙于处

理数据。此

时,单片机不得使STB信号有效,向打印机送入新的数据。

ACK:打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。

ERR:出错信号。当送入打印机的命令格式出错时,打印机立即打印1行出错

信息,提示出

错。在打印出错信息之前。该信号线出现一个负脉冲,脉冲宽度为30us。

用一根地址线来控制写选通信号STB和读取BUSY引脚状态。

12.如果把图10-30中打印机的BUSY线断开,然后与8031的INTO线相接,请

简述电路的

工作原理并编写把以20H为起始地址的连续20个内存单元中的内容输出打印

的程序。

解:本程序采用外部中断来进行数据打印,先打印一个数据,当BUSY线从高

电平变成低

电平时,在打印下一个数据

ORG0000H

LJMPMAIN

0RG0003H

UMPIN

ORG0030H

MAIN:SETBEXO;允许外部中断

SETBITO

SETBEA

MOVR0,#7FH;控制口地址

MOVA,#81H;控制字

MOVX@RO,A

MOVRl,#20H;数据区首地址

MOVR2Z#19;计数器

MOVA,@R1;打印内容

MOVR0,#7CH;A口地址

MOVX@RO,A

MOVR0,#7FH

MOVA,#OEH

MOVX@RO,A;PC7=0

MOVA,#OFH

MOVX@ROZA;PC7=1

SJMP$7;1

OUT:MOVA,R7

IN:DJNZR2,EX;20个数据都结束了吗?

INCR1;指向下一个数据

MOVA,@R1

MOVRO,#7cH

MOVX@RO,A

MOVR0,#7FH

MOVA,#OEH

MOVX@RO,A

MOVA,#OFH

MOVX@RO,A

EX:RETI

13.根据图10-14,8155H与32键的键盘相连接,编写程序实现如下功能:用

8155H的定时

器定时,每隔1S读1次键,并将其读入的键值存入片内RAM中30H开始的单

元中。

解:

14.采用8279芯片的键盘/显示器接口方案,与本章介绍的其他键盘/显示器的

接口方案相比,

有什么特点?

解:8279芯片的具有不断扫描,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论