单片机课后习题答案(清华版)_第1页
单片机课后习题答案(清华版)_第2页
单片机课后习题答案(清华版)_第3页
单片机课后习题答案(清华版)_第4页
单片机课后习题答案(清华版)_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

章1绪论

1.第一台计算机的问世有何意义?

答:

第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。与现代的计

算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对

人类的生产和生活方式产生了巨大的影响。

2.计算机由哪几部分组成?

答:

由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合

称为CPU.

3.微型计算机由哪几部分构成?

答:

装型计算机由微处理器、存储器和I/O接口电路构成。各部分通过地址总线

(AB)、数据总线(DB)和控制总线(CB)相连。

4.微处理器与微型计算机有何区别?

答:

微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、

存储器和I/O接口电路等。

5.什么叫单片机?其主要特点有哪些?

答:

在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了

单芯片微型计算机,即单片机。单片机主要特点有:控制性能和可靠性高;体积

小、价格低、易于产品化;具有良好的性能价格比。。

6.微型计算机有哪些应用形式?各适于什么场合?

答:

微型计算机有三种应用形式:多板机(系统机X单板机和单片机。

多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。

单板机,1/0设备简单,软件资源少,使用不方便。早期主要用于微型计算

机原理的教学及简单的测控系统,现在已很少使用。

单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于

满足嵌入式应用需求具有独特的优势。目前,单片机应用技术已经成为电子应用

系统设计的最为常用技术手段。

7.当前单片机的主要产品有哪些?各有何特点?

答:

多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。因此,许

多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了

80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:

•ATMEL公司融入Flash存储器技术推出的AT89系列单片机;

•Philips公司推出的80c51、80c552系列高性能单片机;

•华邦公司推出的W78C51,W77c51系列高速低价单片机;

公司推出的系列高精度单片机;

•ADIADPC8xxADC

•LG公司推出的GMS90/97系列低压高速单片机;

•Maxim公司推出的DS89C420高速(50MIPS)单片机;

•Cygnal公司推出的C8051F系列高速SOC单片机等。

8.简述单片机的开发过程。

答:

系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行。

9.单片机应用系统开发方法有哪些新方法?

答:

在系统编程(ISP)技术,在应用编程(IAP)技术。

章280c51的结构和原理

1.80C51单片机在功能上、工艺上、程序存储器的配置上有哪些种类?

答:

功能上分为基本型和增强型;

工艺上分为HMOS工艺和CHMOS工艺;

在片内程序存储器的配置上有掩膜ROM、EPROM和Flash,无片内程序存

储器形式。

2.80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划

分?各地址空间的地址范围和容量如何?在使用上有何特点?

答:

家用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;

80C51基本型单片机片内程序存储器为4KB,地址范围是OOOOH-OFFFH,用于

存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用

于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个

SFR.

3.80C51单片机的P0-P3口在结构上有何不同?在使用上有何特点?

答:

3为通用I/O口时,P0、Pl、P2和P3都是准双向口。

P0可以作为地址/数据总线,此时是一个真正的双向口;P2口可以作为地址

线的高8位;P3口是双功能口,每条口线还具有不同的第二功能。

另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。

4.如果80c51单片机晶振频率分别为6MHz、11.0592MHz、12MHz

时,机器周期分别为多少?

答:

机器周期分别为

2ps,1.085ns,lps0

5.80C51单片机复位后的状态如何?复位方法有几种?

答:

复位后,PC内容为0000H,P0n~P3口内容为FFH,SP内容为07H,

SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态

均为00H。复位方法一种是上电复位,另一种是上电与按键均有效的复位。

6.80c51单片机的片内、片外存储器如何选择?

答:

80C51的曲引脚为访问片内、片外程序存储器的选择端。访问片内、片外

数据存储器需要采用不同的指令加以区分。

7.80C51单片机的PSW寄存器各位标志的意义如何?

答:

CY:进位、借位标志。有进位、借位时CY=1,否则CY=0;

AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);

F0:用户标志位,由用户自己定义;

RSI、RS0:当前工作寄存器组选择位;

ov:溢出标志位。有溢出时OV=1,否则ov=o;

p:奇偶标志位。存于ACC中的运算结果有奇数个1时P=1,否iWp=o0

8.80C51单片机的当前工作寄存器组如何选择?

答:

当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的

RSI、RSO来决定。

9.80C51单片机的控制总线信号有哪些?各信号的作用如何?

答:

RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/丽:地址锁存允

许信号输出引脚/编程脉冲输入引脚;§X/VPP:内外存储器选择引脚/片内

EPROM(或FlashROM)编程电压输入引脚;PSEN:外部程序存储器选通信号

输出引脚。

10.80C51单片机的程序存储器低端的几个特殊单元的用途如何?

答:

0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地

址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1

的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;

0023H:串行口的中断服务程序入口地址。

章380c51的指令系统

1.80C51系列单片机的指令系统有何特点?

答:

执行时间短。1个机器周期指令有64条,2个机器周期指令有45条,而4

个机器周期指令仅有2条(即乘法和除法指令);

指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的

指令仅有17条;

位操作指令丰富。这是80C51单片机面向控制特点的重要保证。

2.80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空

间如何?

答:

80C51单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接

寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。

这些寻址方式所对应的寄存器和存储空间如下表所示。

a寻址方式寄存器或存储空间

1寄存器R0~R7,A、AB、DPTR和C(布尔

2直意寻址R内RAM低128字节、SFR

寄存器间接片内RAM(@R0,@R1,SP)

3寻址片外RAM(@R0,@R1,@DPTR)

4立即寻址ROM

5变址寻址ROM(@A+DPTR,@A+PC)

6相对寻址ROM(PC当一刖值的+127—128字节)

位寻址可寻址位(内部RAM20H-2FH单元的位和

7敢17/\ULCAAi/-*-\

3.访问特殊功能寄存器SFR可以采用哪些寻址方式?

答:

直接寻址和位寻址方式。

4.访问内部RAM单元可以采用哪些寻址方式?

答:

直接寻址、寄存器间接寻址和位寻址方式。

5.访问外部RAM单元可以采用哪些寻址方式?

答:

寄存器间接寻址。

6.访问外部程序存储器可以采用哪些寻址方式?

答:

立即寻址、变址寻址和相对寻址方式。

7.为什么说布尔处理功能是80C51单片机的重要特点?

答:

单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作

构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、

求补、测试转移及逻辑"与"、"或"等操作。在实现位操作时,借用了程序状

态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。

8对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问?

答:

寄存器间接寻址方式。

9.试根据指令编码表写出下列指令的机器码。

(1)MOVA,#88H.......................74H,88H

(2)MOVR3,50H.........................ABH.50H

(3)MOVPl,#55H...............75H,90H,55H

(4)ADDA,@R1...........-27H

(5)SETB12H...................................D2H.12H

10.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下

每种操作的指令序列。

(1)将R0的内容传送到R1;

(2)内部RAM单元60H的内容传送到寄存器R2;

(3)外部RAM单元1000H的内容传送到内部RAM单元60H;

(4)外部RAM单元1000H的内容传送到寄存器R2;

(5)外部RAM单元1000H的内容传送到外部RAM单元2000H.

答:

(1)MOVA,R0

MOVRI,A

(2)MOVR2,60H

(3)MOVDPTR,#1OOOH

MOVXA,@DPTR

MOV60H,A

(4)MOVDPTR,#1OOOH

MOVXA,@DPTR

MOVR2,A

(5)MOVDPTR,#1OOOH

MOVXA,@DPTR

MOVDPTR,#2OOOH

MOVX@DPTR,A

11.若(RI)=30H,(A)=40H,(30H)=60H,(40H)=08Ho试

分析执行下列程序段后上述各单元内容的变化。

MOVA,@R1

MOV@R1,40H

MOV40H,A

MOVRI,#7FH

答:

(RI)=7FH

(A)=60H

(30H)=08H

(40H)=60H

12.若(A)=E8H,(RO)=40H,(RI)=20H,(R4)=3AH,(40H)

=2CH,(20H)=OFH,试写出下列各指令独立执行后有关寄存器和存储单元的

内容?若该指令影响标志位,试指出CY、AC、和OV的值。

(1)MOVA,@R0

(2)ANL40H,#OFH

(3)ADDA,R4

(4)SWAPA

(5)DEC@R1

(6)XCHDA,@R1

答:

(1)(A)=2CH

(2)(40H)=OCH

(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0

(4)(A)=8EH

(5)(20H)=OEH,P=1

(6)(A)=EFH,(20)=08H

13.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内

部RAM的40H、41H.42H单元中的内容各为多少?

MOVA,50H

MOVRO,A

MOVA,#00H

MOV@R0,A

MOVA,#3BH

MOV41H,A

MOV42H,41H

答:

(A)=3BH,(RO)=40H,(40H)=00H,(41H)=3BH,(42H)

=3BHO

14.试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

(1)使ACC.0置位;

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

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

答:

(1)SETBACC.0

(2)ANLA,#OFH

(3)ANLA,#87H

15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依

次存入2FH、2EH和2DH单元。

答:

MOV2FH,20H

MOV2EH,21H

MOV2DH,22H

16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内

部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8

位。(注意:此题与书上的题要求不一样,书中要求31H单元存差的高8位,30H

单元存差的低8位)

答:

CLRCY

MOV30H,#7FH

MOV31H,#4DH

MOVRO,#31H

MOVA,@R0

SUBBA,#4E

MOV@R0,A;保存低字节相减结果

DECRO

MOVA,@R0

SUBBA,#2BH

MOV@R0,A〃呆存高字节相减结果

17斌编写程序耨R1中的低4位数与R2中的高4位数合并成一个8位数,

并将其存放在R1中。

答:

MOVA,R2

ANLA,#OFOH

ORLRI,A

18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结

果存放在R2、R3中,R2中存放高8位,R3中存放低8位。

答:

MOVA,20H

MOVB,21H

MULAB

MOVR3,A

MOVR2,B

.若(试指出

19CY)=1,(Pl)=10100011B,(P3)=01101100Be

执行下列程序段后,CY、Pl口及P3口内容的变化情况。

MOVPl.3,C

MOVPl.4,C

MOVC,Pl.6

MOVP3.6,C

MOVC,P1.0

MOVP3.4,C

答:

(CY)=1,(Pl)=10111011B,(P3)=001111006

章480C51的汇编语言程序设计

1.80C51单片机汇编语言有何特点?

答:

汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、

运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直

接、方便,有利于初学者对单片机结构的认知。

但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。

2.利用80C51单片机汇编语言进行程序设计的步骤如何?

答:

一、任务分析

首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:

功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计

的基础和条件。

二、算法设计

经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方

法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算

法。并对各种算法进行分析比较,并进行合理的优化。

三、流程描述

程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。

然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘

制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功

能的各部分有机地联系起来。

流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构

和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。

3.常用的程序结构有哪几种?特点如何?

答:

顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的

存放顺序进行的;

分支程序:可以改变程序的执行顺序;

循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干

次,以便用简短的程序完成大量的处理任务。

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

答:

利用累加器或寄存器;

利用存储器;

利用堆栈。

5.什么是伪指令?常用的伪指令功能如何?

答:

伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的

伪指令包括:

ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;

END,功能是结束汇编;

DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据;

DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;

EQU功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名;

BIT,功能是将位地址赋给指定的符号名。

6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H

单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采

用大端模式存储1

答:程序如下:

ORG0000H

MOVR0,#21H

MOVR1,#23H

MOVA,@RO

ADDA,@R1

MOV25H,A

DECRO

DECRI

MOVA,@RO

ADDCA,@R1

MOV24H,A

SJMP$

END

7.编写程序,把外部RAM中1OOOH-1O1FH的内容传送到内部RAM的

30H~4FH中。

答:

ORG0000H

MOVDPTR,#1OOOH

MOVR0,#30H

MOVR7,#32

LOOP:MOVXA,@DPTR

MOV@R0,A

INCRO

INCDPTR

DJNZR7.LOOP

RET

8.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)

一(60H61H1

答:

ORG0000H

MOVA,R1

ADDA,R7

MOV61H,A

MOVA,RO

ADDCA,R6

MOV60H,A

SJMP$

END

9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。

DELAY:MOVR7,#0F6H

LP:MOVR6,#0FAH

DJNZR6,$

DJNZR7,LP

RET

答:延时时间:2ps*{[l+((1+2*250+2)*246)+2]+2}=0.247486秒(含

调用指令2个机器周期)

10.在内部RAM的30H~37H单元存有一组单字节无符号数。要求找出最

大数存入BIG单元。试编写程序实现。

答:

ORG0000H

BIGDATA2FH

ONEDATA2AH

TWODATA2BH

START:MOVR7,#7;比较次数

MOVR0,#30H

LOOP:MOVA,@R0

MOVONE,A

INCRO

MOVTWO,@RO

CLRC

SUBBA,@R0

JCNEXT;ONE小,TWO大继续比下一对数

MOV@RO,ONE;ONE大放后面(交换)

DECRO

MOV@RO,TWO汀WO小放前面

INCRO1

NEXT:DJNZR7.LOOP

MOVBIG.37H

SJMP$

END

11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、

个位数分别存放在内部RAM的50H、51H、52H中。

答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD

码拆分存于3个单元。

org0

MOV52H,#0

MOV51H,#0

MOV50H,#0

MOVA,#0FDh

LCALLDCDTH

SJMP$

DCDTH:MOVR7,#8

MOVRO,A;暂存于RO

LOOP:CLRC

MOVA,RO

RLCA

MOVROfA

MOVR1,#51H;

MOVA,@R1;

ADDCA,@R1;

DAA;

MOV@R1,A;

DECRI

MOVA,@R1

ADDCA,@R1

DAA

MOV@R1,A

DJNZR7.LOOP

INCRI;50H已是结果,RI指向51H,51H单元需拆

MOVA,#OOH

XCHDA,@R1

MOV52H,A

MOVA,@R1

SWAPA

MOV@R1,A

RET

END

12.编写子程序,将RI中的2个十六进制数转换为ASCII码后存放在R3

和R4中。

答:

ORG0

MOVR1,#5BH

MOVA,RI

ANLA,#OFOH

SWAPA

ACALLASCII

MOVR3,A

MOVA,RI

ANLA,#OFH

ACALLASCII

MOVR4,A

SJMP$

ASCII:PUSHACC

CLRC

SUBBA,#0AH

POPACC

JCLOOP

ADDA,#07H

LOOP:ADDA,#30H

RET

END

13.编写程序,求内部RAM中50H-59H十个单元内容的平均值,并存放

在5AH单元。

答:

ORG0000H

MOVR7,#10

MOVR0,#50H

MOVB,#10

CLRC

CLRA

LOOP:ADDCA,@RO

INCRO

DJNZR7.LOOP

DIVAB

MOV5AH,A

SJMP$

END

14.如图4.10所示,编制程序实现:上电后显示"P",有键按下时显示相

应的键号"0"~"7"。

答:

实现程序如下:

TEMPEQU30H

ORG0000H

JMPSTART

ORG0100H

START:MOVSP,#5FH

MOVP0,#8CH;正序显示"P

MOVP3,#OFFH;输入方式

CLRCY

NOKEY:MOVA,P3

CPLA

JZNOKEY;无键按下

MOVTEMP.P3;有犍按下

CALLDIOms

MOVA,P3

CJNEA,TEMP,NOKEY法抖动

MOVR2,#0犍号计数器复位

MOVA,TEMP

LP:RRCA

JNCDONE

INCR2

SJMPLP

DONE:MOVA,R2

MOVDPTR,#CODE_PO

MOVCA,@A+DPTR

MOVP0,A

JMPNOKEY

D10ms:MOVR5,#10;10MS

Dlms:MOVR4,#249

DL:NOP

NOP

DJNZR4,DL

DJNZR5,Dlms

RET

CODE_PO:

DB0C0H,0F9Hf0A4Hf0B0H,99H,92H,82Hf0F8H

DB80H,90H,88H,83H,0C6H,0AlHf86H,8EH

END

章580C51的中断系统及定时/计数器

1.80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?

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

答:5个中断源,分别为外中断而5和而JTO和T1溢出中断、串口中断。

电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中

断后由硬件自动复位。

TO和Tl,CPU响应中断时,由硬件自动复位。

RI和TI,由硬件置位。必须由软件复位。

另外,所有能产生中断的标志位均可由软件置位或复位。

各中断入口地址:INTO_0003H,TO—OOOBH,INTI—0013H,

Tl—OO1BH,RI和TI—0023H。

2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU

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

2000H,2100H,2200H,试编写主程序及中断服务程序(转至相应的入口即可1

答:将3个中断信号经电阻线或,接而1。

ORG0000H

UMPMAIN

ORG00013H

UMPZDFZ

ORG0040H

MAIN:SETBEA

SETBEXI

SJMP$

ORG0200H

ZDFZ:PUSHPSW

PUSHACC

JBP1.0,DV0

JBPl.l.DVl

JBP1.2,DV2

INRET:POPACC

POPPSW

RETI

ORG2000H

DVO:..................

JMPINRET

ORG2100H

DVI:..................

JMPINRET

ORG2200H

DV2:..................

JMPINRET

3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生

的中断过程有何不同?怎样设定?

答:

当IT0=0时,而为电平触发方式。电平触发方式时,CPU在每个机器周期

的S5P2采样而6引脚电平,当采样到低电平时,置IEO=1向CPU请求中断;

采样到高电平时,将IEO清0。在电平触发方式下,CPU响应中断时,不能自动

清除IE0标志。

电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,

不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中

断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服

务程序中能清除外部中断请求源的情况。

当ITO=1时,而为边沿触发方式。边沿触发方式时,CPU在每个机器周期

的S5P2采样而引脚电平,如果在连续的两个机器周期检测到南引脚由高电

平变为低电平,即第一个周期采样到而5=1,第二个周期采样到而5=0,则置

IE0=l,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件目动清

除IE0标志。

边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下

一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1.若CPU暂时不

能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了

保证下降沿能够被可靠地采样到,而和而引脚上的负脉冲宽度至少要保持一

个机器周期(若晶振频率为12MHz,为1微秒I边沿触发方式适合于以负脉冲

形式输入的外部中断请求。

4.定时/计数器工作于定时和计数方式时有何异同点?

答:

定时/计数器实质是加1计数器。

不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机

器周期等于12个振荡周期,即计数频率为晶振频率的1/12X计数值乘以机器周

期就是定时时间。设置为计数器模式时,外部事件计数脉冲由TO或T1引脚输入

到计数器。在每个机器周期的S5P2期间采样TO、T1引脚电平。当某周期采样

到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值

在下一个机器周期的S3P1期间装入计数器。

相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的

M1M0设定,即

方式0:13位计数器;

方式1:16位计数器;

方式2:具有自动重装初值功能的8位计数器;

方式3:TO分为两个独立的8位计数器,T1停止工作。

5.定时/计数器的4种工作方式各有何特点?

答:

方式0位13位计数器,由TLO的低5位(高3位未用)和THO的8位组

成。TLO的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TFO标志,

向CPU发出中断请求。

计数初值计算的公式为:

X=213-N

方式1的计数位数是16位,由TLO作为低8位、THO作为高8位,组成了

16位加1计数器。计数个数与计数初值的关系为:

X=216-N

方式2为自动重装初值的8位计数方式。THO为8位初值寄存器。当TLO

计满溢出时,由硬件使TFO置1,向CPU发出中断请求,并将TH0中的计数初

值自动送入TLO.TLO从初值重新进行加1计数。周而复始,直至TRO=O才会

停止。计数个数与计数初值的关系为:

X=28-N

方式3只适用于定时/计数器TO,定时器T1处于方式3时相当于TR1=0,

停止计数。方式3时,TO分成为两个独立的8位计数器TLO和THO,TLO使用

TO的所有控制位。当TLO计数溢出时,由硬件使TFO置1,向CPU发出中断请

求而THO固定为定时方式(不能进行外部计数),并且借用了T1的控制位TR1、

TF1O因此,THO的启、停受TR1控制,TH0的溢出将置位TF1。

6.要求定时/计数器的运行控制完全由TR1,TR0确定和完全由INTO.而H高

低电平控制时,其初始化编程应作何处理?

答:TMOD中GATE的值不同:完全由TRI、TRO确定时GATE为0;完

全由INTO、INTI高低电平控制时GATE为1。

7.当定时/计数器TO用作方式3时,定时/计数器T1可以工作在何种方式

下?如何控制T1的开启和关闭?

答:TO用作方式3时,T1可以工作在方式0、1和2。T1的开启由TR1控

制,即TRI=1时,T1开始工作;TR1=0时或者定时/计数器工作在方式3时,

T1停止工作。

8.利用定时/计数器TO从P1.0输出周期为1s脆为20ms的正脉冲信号,

晶振频率为12MHz,试设计程序。

答:

采用定时20ms,然后再计数1、49次的方法实现。

a、TO工作在定时方式1时,控制字TMOD配置:

MlM0=01,GATE=O,C/T=O,可取方式控制字为01H;

b、计算计数初值X:

晶振为12MHz,所以机器周期Tcy为1即。

N=t/Tcy=20x10-3/lxlO6=20000

X=216-N=65536-20000=45536=4E20H

即应将4EH送入TH1中,20H送入TL1中。

c、实现程序如下:

ORG0000H

AJMPMAIN涸聒到主程序

ORG0030H

MAIN:MOVTMOD,#01H;设T1工作于方式2

MOVTHO,#4EH;装入循环计数初值

MOVTLO,#2OH;首次计数值

LPO:SETBP1.0

ACALLNTO

CLRP1.0

MOVR7,#49浒教49次

LP1:ACALLNTO

DJNZR7,LP1

AJMPLPO

NTO:MOVTHO,#4EH

MOVTL0,#20H

SETBTRO

JNBTFO,$

CLRTRO

CLRTFO

RET

END

9.要求从Pl.l引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。

答:采用TO实现

a、TO工作在定时方式1时,控制字TMOD配置:

M1MO=O1,GATE=O,C/?=0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12MHz,所以机器周期Tcy为1/1000=1x10

N=t/Tcy=0.5x103/lxlO6=500

X=216-N=65536-500=65036=FEOCH

即应将FEH送入THO中,OCH送入TLO中。

c、实现程序如下:

ORG0000H

AJMPMAIN;跳转到主程序

ORGOOOBH;T0的中断入口地址

LJMPDVTO

ORG0030H

MAIN:MOVTMOD,#01H;设TO工作于方式2

MOVTHO,#OFEH;装入循环计数初值

MOVTLO,#OCH;首次计数值

SETBETO汀0开中断

SETBEA;CPU开中断

SETBTRO;启动T0

SJMP$;等待中断

DVTO:CPLPl.l

MOVTHO,#OFEH

MOVTLO,#OCH

SETBTRO

RETI

END

10.试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成

定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如

此反复循环。设晶振频率为12MHz。

答:

a、T1工作在计数方式2时,控制字TMOD配置:

MlM0=10,GATE=0,C/〒=1,可取方式控制字为60H;

T1工作在定时方式1时,控制字TMOD配置:

MlM0=01,GATE=0,C/f=0,可取方式控制字为10H;

b、计算初值X:

定时10ms时:

晶振为12MHz,所以机器周期Tcy为“s。

N=t/Tcy=10x10-3/1x106=10000

X=216-N=65536-10000=55536=D8F0H

即应将D8H送入TH1中,F0H送入TL1中。

计数100时:

N=100

X=28-N=256-100=156=9CH

c、实现程序如下:

ORG0000H

AJMPMAIN;跳转到主程序

ORG001BH;T1的中断入口地址

LJMPDVT1

ORG0030H

MAIN:MOVTMOD,#60H;T1工作于计数方式2

MOVTH1,#9CH;装入计数初值

MOVTL1,#9CH

CLRPl.7

SETBET1;T1开中断

SETBEA;CPU开中断

SETBTRI;启动T1

SJMP$;等待中断

DVT1:SETBPl.7

CLRET1

CLRTRI

MOVTMODf#10H;T1工作于定时方式1

MOVTH1,#OD8H灌初值

MOVTL1,#OFOH

SETBTRI

JNBTF1,$;查询等待10ms

CLRTF1

CLRTRI

CLRPl.7

MOVTMODf#60H汀1工作于计数方式2

MOVTH1,#9CH;装初值

MOVTL1,#9CH;

SETBET1;T1开中断

SETBTRI;启动T1

RETI

END

11.利用定时/计数器TO产生定时时钟,由Pl口控制8个指示灯。编一个程

序,使8个指示灯依次闪动,闪动频率为1次/秒(即,亮1秒后熄灭并点亮下一

个,--1

答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由

主程序调用。

a、TO工作在定时方式1时,控制字TMOD配置:

MlM0=01,GATE=O,C/f=O,可取方式控制字为01H;

b、计算计数初值X:

晶振为12MHz,所以机器周期Tcy为1四。

N=t/Tcy=20x1071x106=20000

X=216-N=65536-20000=45536=4E20H

即应将4EH送入TH1中,20H送入TL1中。

C、实现程序如下:

ORG0000H

AJMPMAIN出库专到主程序

ORG0030H

MAIN:CLRCY

MOVA,#01H

LPO:MOVP1,A

CALLDISEC

RLA

AJMPLPO

D1SEC:MOVR7,#50浒数50次

MOVTMOD,#01H

DL:MOVTH0,#4EH

MOVTL0,#20H

SETBTRO

JNBTFO,$

CLRTRO

CLRTFO

DJNZR7,DL

RET

END

章680C51的串行口

1.8OC51单片机串行口有几种工作方式?如何选择?简述其特点?

答:

四种工作方式,由SCON中的SMO,SM1进行定义:

方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,

波特率固定。

方式1:10位数据的异步通信口,波特率可变。

方式2:11位数据的异步通信口,波特率固定。

方式3:11位数据的异步通信口,波特率可变。

2.串行通信的接口标准有那几种?

答:

RS-232c接口、RS-422A接口、RS-485接口

3.在串行通信中通信速率与传输距离之间的关系如何?

答:

最大距离与传输速率及传输线的电气特性有关。当传输线使用每0.3m(约

1ft)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。

当波特率超过1000bps时,最大传输距离将迅速下降。

4.在利用RS-422/RS-485通信的过程如果通信距离(波特率固定)过长,

应如何处理?

答:

在波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接

相关的。在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负

载数越少,信号能传输的距离就越远。故应减小通信距离或减少负载数量。

5.利用单片机串行口扩展并行输入接口电路如图所示。试编写程序完成将

SW1-SW8的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮\

答:电路图如下:

+5V<?

10Kx8

V80

po,1

po.2

po.

po,3

po.4

Hp().

sp5

p().6

G1.7po.

97

F2

E

S/L

DQ

C-JW

.LK

B

ARXD

clTXD

158

BBBBBBBB89S51

12345678

20

SW1-SW8

ORG0000H

MOVSCON,#10H

LOOP:CLRPl.7

NOP

NOP

NOP

SETBPl.7

CLRRI

JNB

MOVA.SUBF

SJMPLOOP

END

6.利用单片机串行口扩展并行输出接口电路如图所示。试编写程序完成将

SW1-SW8的状态反应在移位寄存器74LS164所接的LED上(如SW1闭合时

L0

温馨提示

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

最新文档

评论

0/150

提交评论