单片机课后习题答案6_第1页
单片机课后习题答案6_第2页
单片机课后习题答案6_第3页
单片机课后习题答案6_第4页
单片机课后习题答案6_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

作业习题答案

《单片机应用技术》部分习题与参考答案

第1章单片机概述

1-1什么是嵌入式系统?嵌入式系统的硬件和软件各包括哪些内容?

答:以应用为中心,以计算机技术为基础,软/硬件可剪裁,针对具体应用系统,对

功能、可靠性,成本、体积、功耗严格要求的专用计算机系统称为嵌入式计算机系统。

简称为嵌入式系统。

嵌入式系统的硬件包括:嵌入式处理器、存储器和外部设备器件、输入输出接口、

图形控制器等。软件包括操作系统和应用程序。

嵌入式系统是专用的计算机系统,嵌入式系统的核心是嵌入式处理器,单片机是嵌

入式处理器的典型代表。

1-2什么叫单片机?一个完整的单片机芯片至少有哪些部件?

答:将微处理器(CPU)、存储器、定时/计数器及输入输出接口电路等部件集成在一

块集成电路上,称为单片微型计算机,简称单片机。•个完整的单片机芯片至少有中央

处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口

等部件。

1-3嵌入式处理器有何特点?嵌入式处理器分为哪几类?

答:嵌入式处理器对实时和多任务系统有和强的支持能力、对存储区保护功能强、具

有可扩展的处理器结构及低功耗等特点。

嵌入式处理器分为:嵌入式微处理器、微控制器、嵌入式DSP处理器和片上系统等。

1-4单片机系统的开发过程分为那儿步进行?

答:1.硬件的设计与调试。2应用程序的设计和调试。3系统联调。4程序的固化。5.

脱机运行。

1-5Intel公司的主要单片机产品分为哪几大系列?各系列的区别何在?

答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;

48系列的单片机在片内集成4位CPU,片内含有多种I/O接口,有的根据不同用途

还配有许多专用接口,价格便宜,控制功能强。

51系列的单片机在片内集成8位CPU、片内RAM为128字节,ROM为4K字节,

4个并行I/O口、2个16位定时/计数器、串行接口、5个中断源。

96系列单片机CPU为16位,片内RAM为232字节,ROM为8K字节,片内带有

高速输入输出部件,多通道10位A/D转换部件,中断处理为8级。

1-6叙述51子系列与52子系列的区别?

答:51子系列包含8031/8051/8751三种型号,它们的基本组成、基本性能都相同,都

具有一个8位CPU、片内数据存储器RAM128B、2个16位定时/计数器、有5个中断

源,一个全双工串行接口,它们之间的区别在于片内程序存储器配置:8031片内没有

ROM,使用时需在片外接EPROM。8051片内含有4KB的掩模ROM,其中的程序是生

产厂家制作芯片时烧制的。8751片内含有4KB的EPROM,用户可以先用紫外线擦除器

擦除,然后再利用开发机或编程器写入新的程序。

52子系列包含8032/8052/8752三种型号,52子系列与51子系列的区别在于:片内

ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个

中断源。

第2章MCS-51系列单片机的基本结构

2-1画出微型计算机基本结构框图,简述各部分的基本功能。

答:见教材图2-2。

2-2MCS-51单片机的鼻引脚有何功能?在使用8031时M如何接法?使用8751时二

如何接法?

答:女引脚是片内外程序存储器的选择信号。当EX端保持高电平时,访问内部程序

存储器,但在PC(程序计数器)值超过0FFFH(对于8051/8751/80C51)或1FFFH(对

于8052)时,将自动转向访问外部程序存储器。当百端保持低电平时,不管是否有内部

程序存储器,则只访问外部程序存储器。

山于8031片内没有程序存储器,所以在使用8031时,口引脚必须接低电平。

2-3微型计算机的存储器普林斯顿结构和哈弗结构有什么不同?

答:按微型计算机的存储器地址空间的不同分配形式分为普林斯顿结构和哈弗结构。

普林斯顿结构的特点是计算机只有一个地址空间。CPU访问ROM和RAM采用相同的指令。

哈弗结构将ROM和RAM安排在相互独立的两个地址空间,ROM和RAM可以有相同的地址,

但采用不同的指令访问。51系列单片机采用哈弗结构。

2-4微型计算机存储器的地址线与存储的容量有什么关系?如果存储器的地址线有

13条,则存储的容量为多大?

答:存储的容量=2",(n:存储器的地址线的条数)。2"=8KB.

2-589C51单片机的存储器从物理结构上分别可划分为几个空间?89C51单片机采用

何种方式区分内外程序存储器和内外数据存储器?

答:89c51单片机的存储器从物理结构上分别内外程序存储器和内外数据存储器。内

外程序存储器采用引脚/EA、/PSEN接到不同的电平区分,内外数据存储器采用引脚/RD、

/WR连接和不同的指令加以区分。

2-6MCS-51单片机的内部存储空间是怎样分配的?

答:MCS-51单片机的内部存储空间分为数据存储器和程序存储器。

内部数据存储器:共256字节单元,包括低128个单元和高128个单元。低128字

节又分成3个区域:工作寄存器区(00H-1FH),位寻址区(20H〜2FH)和用户RAM

区(30H〜7FH)。高128字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存

器区。

内部程序存储器:在8031片内无程序存储器,8051片内具有4KB掩模ROM,8751

片内具有4KBEPROM。

2-7如何从MCS-51单片机的4个工作寄存器组中选择当前工作寄存器组?

答:MCS-51单片机提供了4组工作寄存器,对于当前工作寄存器组的选择,是通过

PSW中的RS1和RS0来进行选择。具体关系如下表:

RS1RS0当前寄存器组

00第0组工作寄存器

01第1组工作寄存器

10第2组工作寄存.器

I1第3组工作寄存器

2-8内部RAM低128个单元是如何划分的?

答:内部RAM低128个单元按用途分成3个区域:工作寄存器区(00H-1FH),

位寻址区(20H〜2FH)和用户RAM区(30H〜7FH)。

2-9DPTR是什么寄存器?它的作用是什么?它由哪几个寄存器组成?

答:DPTR是数据指针寄存器,是一个16位寄存器,用来存放16位存储器的地址,

以便对外部数据存储器RAM中的数据进行操作。DPTR由高位字节DPH和低位字节DPL

组成。

2-10什么是堆栈?堆栈有何作用?为什么在程序初始化时要对SP重新赋值?

答:所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。堆栈是在内存中

专门开辟出来的按照“先进后出,后进先出”的原则进行存取的RAM区域。堆栈的用途

是保护现场和断点地址。在8051单片机复位后,堆栈指针SP总是初始化到内部RAM

地址07H。从08H开始就是8051的堆栈区,这个位置与工作寄存器组1的位置相同。因

此,在实际应用中,通常要根据需要在程序初始化时对SP重新赋值,以改变堆栈的位置。

2-11试述程序状态字寄存器PSW各位的含义。

答:程序状态字寄存器PSW是8位寄存器,用于存放程序运行的状态信息。

CY(PSW.7):进位标志位。

AC(PSW.6):辅助进位标志位。

F0(PSW.5)、Fl(PSW.1):用户标志位。

RSI(PSW.4)、RSO(PSW.3):工作寄存器组选择位。

OV(PSW.2):溢出标志位。

P(PSW.0):奇偶标志位。

2-12P0、Pl、P2、P3口的结构有何不同?使用时要注意什么?各口都有什么用途?

答:P0口由一个所存器、两个三态输入缓冲器、场效应管、控制与门、反相器和转

换开关组成;作为输出口时,必须外接上拉电阻才能有高电平输出,作为输入口时,必

须先向锁存器写“1”;作为普通I/O口使用或低8位地址/数据总线使用。

P1口内没有转换开关,但有上拉电阻;只用作普通I/O口使用。

P2口比P1口多了•个转换控制开关;作为普通I/O口使用或高8位地址线使用。

P3U比P1口增加了与非门和缓冲器;具有准双向I/O功能和第二功能。

上述4个端口在作为输入口使用时,应注意必须先向端口写“1”。

2-13请说出指令周期、机器周期、状态和拍的概念。当晶振频率为12MHz、8MHz

时,一个机器周期为多少微秒?

答:指令周期:执行一条指令所需要的时间。

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

状态:振荡脉冲经过二分频后,得到的单片机的时钟信号。

拍:振荡脉冲的周期。

当晶振频率为12MHz时,一个机器周期为1M;当晶振频率为8MHz时,一个机器

周期为

2-14什么是单片机复位?复位后单片机的状态如何?

答:在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟震荡脉冲(两

个机器周期)以上的高电平,单片机就能实现复位。

复位后,CPU和系统都处于一个确定的初始状态,在这种状态下,所有的专用寄存

器都被赋予默认值,除SP=07H,P0-P3口为FFH外,其余寄存器均为0。程序指针

Pc=0000H«

第3章MCS-51系列单片机的指令系统

3-1MCS-51系列单片机指令格式是怎样的?各有何含义?

答:单片机指令格式由操作码和操作数组成。操作码说明指令操作性质,操作数说

明操作对象。

3-2MCS-51系列单片机有哪几种寻址方式?各种寻址方式所对应的寄存器或存储器

寻址空间如何?

答:MCS-51系列单片机提供了7种寻址方式:

(1)立即寻址:操作数在指令中直接给出,立即数前面有。

(2)直接寻址:在指令中直接给出操作数地址。对应片内低128个字节单元和特殊

功能寄存器。

(3)寄存器寻址:以寄存器的内容作为操作数。对应的寄存器有:R0〜R7、A、AB

寄存器和数据指针DPTR。

(4)寄存器间接寻址:以寄存器的内容作为RAM地址,该地址中的内容才是操作

数。对应片内RAM的低128个单元采用RO、R1作为间址寄存器,片外RAM低256个

单元可用RO、R1作为间址寄存器,整个64KB空间可用DPTR作为间址寄存器。

(5)变址寻址:以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,并

以两者内容相加形成的16位地址作为操作数地址。对应片内、片外的ROM空间。

(6)相对寻址:只在相对转移指令中使用。对应片内、片外的ROM空间。

(7)位寻址:对可寻址的位单独进行操作。对应位寻址区20H-2FH单元的128位

和字节地址能被8整除的特殊功能寄存器的相应位。

3-4若访问特殊功能寄存器,可使用那些寻址方式?

答:直接寻址方式。

3-5若访问外部RAM单元,可使用那些寻址方式?

答:寄存器间接寻址方式。

3-6若访问内部RAM单元,可使用那些寻址方式?

答:立即寻址方式,直接寻址方式,寄存器寻址方式,寄存器间接寻址方式,位寻

址方式。

3-7若访问内外程序存储器,可使用那些寻址方式?

答:变址寻址方式

3-8外部数据传送指令有几条?试比较下面每一组中两条指令的区别。

(1)MOVXA,@R1,MOVXA,@DPTR

(2)MOVXA,@DPTR,MOVX@DPTR,A

(3)MOV@R0,A,MOVX@R0,A

(4)MOVCA,@A+DPTR,MOVXA,@DPTR

答:外部数据传送指令有6条:

MOVXA,@DPTRMOVX@DPTR,A

MOVXA,@RiMOVX@Ri,A

MOVCA,@A+DPTRMOVCA,@A+PC

(1)MOVXA,@R1MOVXA,@DPTR

都是访问片外RAM,但二者寻址范围不同。

前1条指令是对片外RAM低256个单元的“读”操作。

后1条指令是对片外RAM64KB空间的“读”操作。

(2)MOVXA,@DPTRMOVX@DPTR,A

访问空间相同,但数据传送方向不同。

前1条指令是对片外RAM64KB空间的“读”操作。

后1条指令是对片外RAM64KB空间的“写”操作。

(3)MOV@R0,AMOVX@R0,A

二者访问的空间不同。

前1条指令是对片内RAM低128个单元的“写”操作。

后1条指令是对片外RAM低256个单元的“写”操作。

(4)MOVCA,@A+DPTRMOVXA,@DPTR

二者访问的空间不同,寻址方式不同。

前1条指令是变址寻址方式,对ROM操作。

后1条指令是寄存器间接寻址方式,对片外RAM操作。

3-9已知(30H)=40H,(40H)=10H,(10H)=32H,(Pl)=EFH,试写出执行以下

程序段后有关单元的内容。

MOVRO,#30H

MOVA,@R0

MOVRI,A

MOVB,@R1

MOV@R1,Pl

MOVP2,Pl

MOV10H,#20H

MOV30H,10H

答:RO-30H,(RO)=30H

A=((RO)),(A)=40H

RI-(A),(RI)=40H

B-((RI)),(B)=10H

(RI)—(Pl),((RI))=(40H)=EFH

P2—(Pl),(P2)=EFH

10H-20H,(10H)=20H

30H-(10H),OOH)=20H

结果:(RO)=30H,(A)=40H,(RI)=40H,(B)=10H,(40H)=EFH,(P2)

=EFH,(10H)=20H,OOH)=20H

3-10试写出完成以下数据传送的的指令序列。

(1)R1的内容传送R0;

(2)片外RAM60H单元的内容送入R0:

(3)片外RAM60H单元的内容送入片内RAM40H单元;

(4)片外RAM1000H单元的内容送入片外RAM40H单元;

(5)ROM2000H单元的内容送入R2:

(6)ROM2000H单元的内容送入片内RAM40H单元;

(7)ROM2000H单元的内容送入片外RAM0200H单元。

答:

(1)由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器

MOVA,RI

MOVRO,A

(2)片外RAM向片内RAM传送数据,不能直接进行,需要借助累加器A。由于

片外RAM是60H单元,地址小于FFH,所以间址寄存器使用Ri即可。

MOVRI,#60H

MOVXA,@R1

MOVRO,A

(3)MOVRI,#60H

MOVXA,@R1

MOV40H,A

(4)片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到

片外。

MOVDPTR,#1000H

MOVXA,@DPTR

MOVRI,#40H

MOVX@R1,A

(5)ROM中的数据需要使用查表指令才能读出来,所以此题不能使用一般的传送

指令从ROM中读数据,

MOVDPTR,#2000H

MOVA,#00H

MOVCA,@A+DPTR

MOVR2,A

(6)MOVDPTR,#2000H

MOVA,#00H

MOVCA,@A+DPTR

MOV40H,A

(7)MOVDPTR,#2000H

MOVA,#00H

MOVCA,@A+DPTR

MOVDPTR,#0200H

MOVX@DPTR,A

3-11试编程,将外部RAM1000H单元中的数据与内部RAM60H单元中的数据相互交

换。

答:片外RAM与片内RAM之间的数据传送不能直接进行,需要借助累加器A。数

据交换需要使用数据交换指令XCH。

MOVDPTR,#1000H

MOVXA,@DPTR

XCHA,60H

MOVX@DPTR,A

3-12已知(A)=5BH,(RI)=40H,(40H)=C3H,(PSW)=81H,试写出各条指令

的执行结果,并说明程序状态字的状态。

(1)XCHA,RI(2)XCHA,40H

(3)XCHA,@R1(4)XCHDA,@R1

(5)SWAPA(6)ADDA,RI

(7)ADDA,40H(8)ADDA,#40H

(9)ADDCA,40H(10)SUBBA,40H

(11)SUBBA,#40H

答:

(1)结果:(A)--(RI),(A)=40H,(RI)=5BH,(PSW)=81H

(2)结果:(A)-f(40H),(A)=C3H,(40H)=5BH,(PSW)=80H

(3)结果:(A)--►((RI)),(A)=C3H,((RI))=(40H)=5BH,(PSW)

=80H

(4)结果:(A)o-3"--((RI))o~3,(A)=53H,((RI))=(40H)=CBH,

(PSW)=80H

(5)结果:(A)g3-f(A)(A)=B5H,(PSW)=81H

(6)结果:A-(A)+(RI),(A)=9BH,(PSW)=05H

(7)结果:A-(A)+(40H),(A)=1EH,(PSW)=80H

(8)结果:A-(A)+40H,(A)=9BH,(PSW)=05H

(9)结果:A-(A)+(40H)+CY,(A)=1FH,(PSW)=81H

(10)结果:A-(A)-(40H)-CY,(A)=97H,(PSW)=85H

(11)结果:A-(A)-40H-CY,(A)=1AH,(PSW)=01H

3_13已知(A)=5BH,(RI)=40H,(40H)=C3H,(PSW)=81H,试写出各条

指令的执行结果,并说明程序状态字的状态。

(1)XCHA,R1(2)XCHA,40H

(3)XCHA,@R1(4)XCHDA,@R1

(5)SWAPA(6)ADDA,RI

(7)ADDA,40H(8)ADDA,#40H

(9)ADDCA,40H(10)SUBBA,40H

(11)SUBBA,#40H

答:

指令LJMPaddrl6是长转移指令,指令中提供了16位目的地址,寻址范围是64KB。

指令AJMPaddrll是绝对转移指令,指令中11位目的地址,其中a7〜a0在第二字

节,al0~a8则占据第一字节的高3位,寻址范围是与PC当前值(本指令所在地址+本条

指令所占用的字节数2)在同一个2K的区域内。

3-14试分析以下两段程序中各条指令的作用。程序执行完将转向何处?

(1)MOVPl,#0CAH

MOVA,#56H

JBPl.2,LI

JNBACC.3,L2

LI::

L2:;

(2)MOVA,#43H

JBACC.2,LI

JBCACC.6,L2

Ll:।

L2:•

答:

(1)MOVPl,#0CAH;Pl-CAH,Pl=CAH=11001010B

MOVA,#56H;A-56H,A=56H=01010110B

JBPl.2,Ll;若Pl.2=1,则转移至LI

JNBACC.3,L2;若ACC.3=0,则转移至L2

LI:

L2:

执行完本段程序后将转移至L2,因为P1.2=0,ACC.3=0,所以转至L2。

(2)MOVA,#43H;A-43H,A=43H=01000011B

JBACC.2,Ll;若ACC.2=1,则转移至Ll

JBCACC.6,L2:若ACC.6=1,则转移至L2,同时将

ACC.6清零

L1:...

L2:...

执行完本段程序后将转移至L2,因为ACC.2=0,ACC.6=1,所以转至L2,并且将

ACC.6清零。

第4章汇编语言程序设计

4-1什么是伪指令?伪指令和指令有何区别?它们的用途是什么

4-2基本程序结构有哪儿种?各有何特点?

4-3存放在内部RAM的DATA单元中的变量X是一个无符号整数,试编程计算下

面函数的函数值并存放到内部RAM的FUNC单元中。

(X<SD

cao£X<sa)

答:

加433nl

ORG0300H

MOVA,DATA

CJNEA,#20,LOP1

L0P1:JCLOP3

CJNEA,#50,LOP2

L0P2:JCLOP4

MOVB,#1

LJMPLOP5

L0P3:MOVB,#2

LJMPLOP5

L0P4:MOVB,#5

L0P5:MULAB

MOVFUNC,A

RET

4-5某单片机应用系统有4X4键盘,经键盘扫描程序得到被按键的键值(00H〜OFH)

存放在R2中,16个键的键处理程序入口地址分别为KEYO、KEYKKEY2、…、KEY15。

试编程实现,根据被按键的键值,转对应的键处理程序。

答:ORG0500H

MOVDPTR,#JPTAB

MOVA,R2

RLA

JMP@A+DPTR

JPTAB:AJMPKEYO

AJMPKEY1

AJMPKEY2

AJMPKEY15

KEYO:...

KEY1:...

KEY2:...

KEY15:

4-6试编程将片内40H-60H单元中内容传送到外部RAM以2000H为首地址的存

储区中。

答:ORG0600H

MOVRO,#40H

MOVDPTR,#2000H

MOVR7,#21H

LOOP:MOVA,@R0

MOVX@DPTR,A

INCRO

INCDPTR

DJNZR7,LOOP

RET

4-7试编程将片内40H-60H单元中内容传送到外部RAM以2000H为首地址的存

储区中。

答:ORG0700H

MOVDPTR,#DATA

MOVR7,#10

LOOP:MOVXA,@DPTR

ORLA,#80H

MOVX@DPTR,A

INCDPTR

DJNZR7,LOOP

RET

4-8编写程序将外部RAM3000H开始的13个单元中的数据隔一个传送到内部RAM

30H开始的区域。

答:ORG0800H

MOVDPTR,#3000H

MOVRO,#30H

MOVR7,#7

LOOP:MOVXA,@DPTR

MOV@R0,A

INCDPTR

INCDPTR

INCRO

DJNZR7,LOOP

RET

4-9编程将片外RAM地址为1000H--1030H的数据块,全部搬迁到片内RAM30H

60H中,并将原数据区全部清0o

答:ORG0900H

MOVDPTR,#1000H

MOVRI,#30H

MOVR7,#31H

LOOP:MOVXA,@DPTR

MOV@R1,A

CLRA

MOVX@DPTR,A

INCDPTR

INCRI

DJNZR7,LOOP

RET

4-10试编程把长度为10H的字符串从内部RAM首地址为DAT1的存储器中向外部

RAM首地址为DAT2的存储器进行传送,一直进行到遇见字符CR或整个字符串传送完

毕结束。

答:ORG0A00H

MOVRI,#DAT1

MOVDPTR,#DAT2

MOVR6,#10H

LOOP1:MOVA,@R1

CJNEA,#0DH,LOOP2

LJMPLOOP3

LOOP2:MOVX@DPTR,A

INCRI

INCDPTR

DJNZR6,LOOP1

LOOP3:RET

4-11设在外部RAM2000H-2004H单元中,存放有5个压缩BCD码,试编程将它

们转换成ASCH码,存放到以2005H单元为首地址的存储区中。

答:ORG1200H

MOVDPTR,#2000H

MOVRO,#30H

MOVR7,#5

LOP1:MOVXA,@DPTR

ANLA,#0FH

ADDA,#30H

MOV@R0,A

INCRO

MOVXA,@DPTR

ANLA,#0F0H

SWAPA

ADDA,#30H

MOV@R0,A

INCRO

INCDPTR

DJNZR7,LOP1

MOVDPTR,#2005H

MOVRO,#30H

MOVR7,#10

LOP2:MOVA,@R0

MOVX@DPTR,A

INCRO

INCDPTR

DJNZR7,LOP2

RET

4-12已知内部RAM30H和40H单元分别存放着个数a、b,试编写程序计算a?

-b2,并将结果送入30H单元。设a、b均是小于10的数。

答:ORG1400H

MOVA,40H

MOVB,A

MULAB

MOV31H,A

MOVA,30H

MOVB,A

MULAB

CLRC

SUBBA,31H

MOV30H,A

RET

4-13Pl口连接8个LED发光二极管,设计灯亮移位程序,要求8个发光二极管每

次亮一个,点亮时间为40ms。顺次•个一个地循环右移点亮,循环不止。

答:ORG1500H

MOVA,#80H

LOOP:MOVPl,A

LCALLDEL

RRA

SJMPLOOP

DEL:MOVR7,#100

DELI:MOVR6,#198

DJNZR6,$

DJNZR7,DELI

RET

RET

第5章定时/计数器

5-151系列单片机的内部设有几个定时/计数器?有哪儿种工作方式?由哪位选

择?

不同方式下,脉冲来源是否一样?

答:51系列单片机的内部设有两个定时/计数器。分别有两种工作方式:定时器方式

和计数器方式。由TMOD(定时器模式控制寄存器)中的控制位c,T进行选择。定时器

方式的脉冲来自于内部时钟脉冲,每个机器周期是计数器的值增1;计数器方式的脉冲来

自于外部输入引脚TO(P3.4)或T1(P3.5)。

5-251系列单片机的定时/计数器有哪几种工作模式?各有什么区别?

答:51系列单片机的定时/计数器有四种工作模式。分别由TMOD中的Ml和M0

进行选择。特点如下:

MlM0特点

00模式0.TLX中低5位与THX中的8位构成13位计数器。计满溢出时,13位计数器回零。

01模式】。TLX与THX构成16位计数器。计满溢出时,16位计数器回零。

10模式2。8位自幼歪装战的定时/计数器,每节计数揶TLX溢出时,THX中的内容重新装载到TLX中。

11模式3。对定时器0,分成2个8位计数罂,对于定时器1,停止计数。

5-351系列单片机的TO和T1在模式0中,都使用了计数器的哪些位?

答:51系列单片机的TO和T1在模式。中,使用了TLX中低5位与THX中的8位

构成13位计数器,TLX中的高3位弃之未用。

5-451系列单片机的TO和T1在模式3时有何不同?

答:对于T1,设置为模式3,将使它停止计数并保持原有的计数值,其作用如同使

TR1=O,因此,没有什么实质意义。

对于TO,设置为模式3时,16位计数器被分成两个互相独立的8位计数器TL0和

TH0,其中TLO利用了定时/计数器0本身的一些控制位:c/T,GATE、TRO、加和

TFOo它既可以按照计数方式工作,也可以按照定时方式工作。而TH0被规定只可用作

定时器方式,借用了T1的控制位TR1和TF1。

5-5试问当(TMOD)=27H时,是怎样定义TO和T1的?

答:(TMOD)=27H=00100111B

此时,T1工作于模式2,定时方式(即波特率发生器方式)。T1工作于模式3,TLO

和TH0同为计数方式。

5-6系统复位后执行下述指令,试问TO的定时时间为多长?

MOVTHO,#06H

MOVTLO,#00H

SETBTRO

答:单片机系统复位后(TMOD)=00H,即TO工作在模式0,使用的是TL0的低5

位和TH0构成13位定时/计数器,由于(THO)=06H,(TLO)=00H,所以定时的初值

为:

X=0000011000000B=192

假设系统晶振频率为6MHz,机器周期T=2us,则定时时间为:

定时值=(M-X)T=(2|3-192)X2ys=16000us=16ms

5-7已知51系列单片机的系统晶振频率为6MH〃请利用定时器T1和P1.2输出矩

形脉冲。

答:ORG0000H

LJMPSTART

ORG0200H

START:MOVTMOD,#20H

MOVTL1,#231

SETBTRI

LOOP:SETBPl.2

MOVTH1,#81

LOP1:JBCTF1,LOP2

SJMPLOP1

LOP2:CLRPl.2

MOVTH1,#231

LOP3:JBCTF1,LOOP

SJMPLOP3

END

第6章串行接口

6.1并行通信和串行通信各有什么特点?它们分别适用于什么场合?

答:计算机与外界信息交换的基本方式可分为并行通信与串行通信:并行通信是数据的

各位同时传送,并行通信的特点是传送速度快,但不适用长距离传输;串行通信是数据

的各位依次逐位传送,串行通信的特点是传送速度较慢,但传输距离较长。

并行通信适合近距离的CPU之间或设备之间快速进行数据交换;串行通信适合长距

离的CPU之间或设备之间进行数据交换,或近距离的慢速数据交换。

6.2什么是串行异步通信?它有哪些特点?串行异步通信的数据帧格式是怎样的?

答:①异步通信依靠起始位、停止位、保持通信同步。

②特点是数据在线路上的传送不连续,传送时,字符间隔不固定,各个字符可以是

连续传送,也可以间断传送,这完全取决于通信协议或约定。

③串行异步通信的数据帧格式如图6-1:一位起始位“0”电平;其后是5位、6位、

7位或8位数据位,低位在前,高位在后;后面是一位奇偶校验位:最后是停止位“1”

电平。______

起始位DODID2D3D4D5D6D7奇偶校验位停止位

图6-1异步通信的数据帧格式

6.3串行通行有哪几种数据传送形式,试举例说明。

答:串行通信有3种数据传送形式

单工方式:数据传送是单向的。

半双工方式:数据传送是双向的,在同一时间只能做一个方向的传送。

全双工方式:数据传送是双向的,即可同时发送,又可同时接收。

A单工方式b半双工方式C全双工方式

图6-2串行通信数据传送3种形式

6.4何谓波特率?某异步通信,串行口每秒传送250个字符,每个字符由11位组成,

其波特率应为多少?

答:波特率表示每秒传输的二进制数据位数。

Fb=11X250=2750其波特率应为2750bps。

6.5MCS-51单片机串行口有几种工作模式?如何选择?简述其特点,并说明这几

种工作模式各用于什么场合?

答:MCS-51单片机串行口有4种工作模式,由串行控制寄存器SCON中的SMO、SM1两

位组合来确定。

模式0是同步位移寄存器方式,用于I/O口的串、并转换。

模式1是8位异步通信方式,桢格式10位,波特率可变,用于双机通信。

模式2是9位异步通信方式,桢格式11位,波特率固定,用于多机通信。

模式3是9位异步通信方式,桢格式11位,波特率可变,用于多机远距离通信。

模式1、2、3的区别主要表现在桢格式和波特率两个方面。

6.6MCS-51单片机4种工作模式的波特率如何确定?

答:模式0的波特率固定:fosc/12

模式2的波特率固定:fbsc/n(n=64或32)

模式1、3的波特率可变:T1溢出率/n(n=32或16)

6.10设计一个MCS-51单片机的双机通信系统,并编写程序将甲机片外RAM2200H-

2250H的数据块通过串行口传送到乙机的片外RAMI400H〜1450H单元中。要求串

行口工作在模式2,系统晶振为6MHz,传送时进行奇校验;若出错,置F0标志

为I。

答:串行口工作在模式2,确定SMOD=1。未规定波特率,定时器初值任取,但两机要

保持一致。

甲机发送子程序:

TXDA:MOVTMOD,#2011;置口定时器工作方式2

MOVTL1,#OFDH;置初值

MOVTH1,#OFDH;置初值

SETBTRI;启动T1

MOVSCON,#90H;置串口方式2,允许接收,且SM2=0

MOVPCON,#80H;置SMOD=1(SMOD不能位操作)

CLRES:禁止串行中断

MOVDPTR,#2200H;指发送数据区首地址

MOVR2,#51H;指发送数据长度

TRSA:MOVXA,@DPTR;读一个数据

MOVC,P

MOVTB8,C;置校验位

MOVSBUF,A发送

JNBTI,$等待•桢数据发送完毕

CLRTI清发送中断标志

INCDPTR指向下一字节单元

DJNZR2,TRSA判数据发完否?未完继续

RET

乙机接收子程序:

RXDB:MOVTMOD,#20H置T1定时器工作方式2

MOVTL1,#OFDH;置初值

MOVTH1,ttOFDH;置初值

SETBTRI;启动T1

MOVSCON,#9011;置串行方式2,允许接收,且SM2=0

MOVPCON,#80H置SMOD=1(SMOD不能位操作)

CLRES禁止串行中断

MOVDPTR,#1400H置接收数据区首地址

MOVR2,#51H置接收数据长度

SETBREN启动接收

SETBFO;先置出错标志FO为1。

RDSB:JNBRI,$等待一桢数据接收完毕

CLRRI清接收中断标志

MOVA,SBUF读接收数据

MOVX©DPTR,A存接收数据

MOVC,RB8

ANLC,P

JCRDSB2;都是1,则正确

MOVC,RB8

ORLC,P

JNCRDSB2;都是0,则正确

LJMPRXDBD;出错

RDSB2:INCDPTR;指向下一数据存储单元

DJNZR2,RDSB判数据接收完否?未完继续

CLRFO;正确接收,则清除出错标志FO

RXDBD:RET

第7章中断系统

7.1MCS-51系统有几个中断源,各中断标志是如何产生的,又如何清零的?CPU

响应中断时,中断入口地址各是多少?

答:©MCS-51系统有丽、T0、荷i、T1和串行口共五个中断源;

②丽和诉的中断标志是IEO和IE1,在电平方式下,当外部中断输入信号是低电

平时,由硬件置1;在边沿方式下,当外部中断输入信号是下降沿时,由硬件置1;定时

计数器溢出中断TO和T1的中断标志位是TFO和TF1,当定时/计数器产生溢出时,该位

由硬件置1;串行口中断标志是TI或RL当单片机接收到或发送完一帧数据后,由硬件

温馨提示

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

评论

0/150

提交评论