单片机原理及接口技术C51编程张毅刚第二版习题答案.docx

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

单片机原理及接口技术C51编程张毅刚第二版习题答案.docx

《单片机原理及接口技术C51编程张毅刚第二版习题答案.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术C51编程张毅刚第二版习题答案.docx(44页珍藏版)》请在冰点文库上搜索。

单片机原理及接口技术C51编程张毅刚第二版习题答案.docx

单片机原理及接口技术C51编程张毅刚第二版习题答案

单片机原理及接口技术(C51编程)(第2版)-习题答案汇总23

单片机答案

一、单片机概述

思考题及习题1参考答案

一、填空

1.除了单片机这一名称之外,单片机还可称为()或()。

答:

微控制器,嵌入式

控制器•

2.单片机与普通微型计算机的不同之处在于其将()、()和()三部分,通过

内部()连接在一起,集成于一块芯片上。

答:

CPU存储器、I/O口、总线

3.AT89S51单片机工作频率上限为()MHz答:

24MHz

4.专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低()和提

高()。

答:

成本,可靠性。

二、单选

1.单片机内部数据之所以用二进制形式表示,主要是

A.为了编程方便B.受器件的物理性能限制

C•为了通用性D.为了提高运算数度答:

B

2.在家用电器中使用单片机应属于微计算机的。

A.辅助设计应用B.测量、控制应用

C.数值计算应用D.数据处理应用答:

B

3.下面的哪一项应用,不属于单片机的应用范围。

A.工业控制B•家用电器的控制C•数据库管理D•汽车电子设备答:

C

三、判断对错

1.STC系列单片机是8051内核的单片机。

2.AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM1个

中断源、1个定时器(且具有捕捉功能)。

3.单片机是一种CPU错

4.AT89S52单片机是微处理器。

错微控制器

5.AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。

6.为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换对

7.为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换对

8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。

第2章AT89S51单片机片内硬件结构

一、填空

2.4.4位地址空间

2诃个寻址位的说地址’位地址范围対OOH-FFH,其中GOH〜7FH1X120

位处干Kf^RAM字书地址2QH〜2FH单元中.如歳:

「所示。

其余的“乍可司址分布在特殊功能见駁一乩

从d中可发现一个规惮.凡是刃位寻址的特殊功龍寄存器.其最低的位

地址尊于H字节地址,且具字节地tit的末茧都为

字节如址

位妣址

D7

D6

E6

04

D3

D2

DI

DO

2R1

7FH

7EH

7DH

?

CH

7BH

71H

T9H

78H

2EII

77H

76H

76H

?

4il

73H

72H

T1H

70H

20H

OFH

CEH

6DH

OCH

ODH

6M

69H

68H

2CH

67H

05H

65H

MH

63H

OZH

61H

OOH

29H

5FH

EEH

5DH

5CH

5BH

5AH

59H

58H

2AH

57H

E6H

55H

54H

53H

52H

51H

50H

2911

4FH

4EU

4DH

4CH

4B1I

4AH

491!

48H

2811

47H

46H

45H

44H

43H

42H

41H

40H

27H

3FH

3EH

3DH

XH

3DH

3AH

»H

33H

2SH

37H

36H

3fM

34H

33H

32H

31H

90H

25H

2FH

2EH

2DH

2CH

2BH

2AH

29H

28H

ZbX

?

4H

ZSM

TM

21H

WH

231!

1FH

1EH

1DH

1CH

1BH

UH

19H

18H

Z2U

17H

16H

15H

14H

13H

12H

11H

10H

21H

OFH

OEH

ODH

OCH

OBH

OAH

09H

08H

20H

07H

C6K

05H

04H

03H

02H

01H

OOH

FFII

各种指今时序与时钟周期相关。

1.时钟周期

时钟控制信号的辜本时间单位。

若晶振频率为九《,・则时钟周期

•如a二6・Hz.7^=166.7nso

2.机器周期

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

执行一条指令分为几个机器周期.每个机器周期完成一个基本操作.如取指令、读或写数据等。

每12个时钟周期为1个机器周期。

r.堆栈指針sp

堆握只能设在户内的RAMCX,环指示堆槌顶部在内部RAK块中的位「°

堆栈结构一勺上生长型。

单片机痔位后,SP为MH,使得堆栈实际上从D8H单元开始,由于03~仃啤元分別是属于1~3组的工件寄存希氐最好在复位后把卯值改置为或更夭的值,邂免堆铁与工作寄存器沖突。

堆桟是为子辖傑调甲和中盼攥件rfr设,由采保护斷点和现场°

(1)保护断点无论是子程序调用操作还是中断服务子程序调用'最终都姜返回主程痒.应预先把主程序的斷点在堆栈中保护起来,为程厚正确返回锻准备.

2-吋钟引脚

〔1)XTM1(1?

W):

片内版荡器反相放大瞎和时钟发生器电路输入瑞。

用片内旅需誥时’该脚接外部石英晶体和微调电容.外接时钟原时,该脚接外部时紳振落器的信号n

【2〕XTM2(佃脚)t片内振荡器反相放大襦的输出輸*当使用片内振請酱,该脚逢接外部石英晶体和总谓电容.当睦用外部时神歸时"本脚悬

22.2控制引脚

(1)R5T(RESET,9脚:

复位信号输入,在引脚抑上持域时问大于2个机器羯期的高电平*可憧单片

机复位.正常工作,此阳电年应M0.5V.

1.在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为(2卩s)。

答:

2卩s

2.AT89S51单片机的机器周期等于(12)个时钟振荡周期。

答:

12

3.内部RAM中,位地址为40H88H的位,该位所在字节的字节地址分别为(28H)和(88H)。

答:

28H,88H

4.片内字节地址为2AH单元最低位的位地址是(50H);片内字节地址为A8H单元的最低位的位地址为(A8H。

答:

50H,A8H

5.若A中的内容为63H,那么,P标志位的值为(0)。

答:

0

6.AT89S51单片机复位后,R4所对应的存储单元的地址为(04H),因上电时PSW=00H)。

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

答:

04H,00H,0。

7.内部RAM中,可作为工作寄存器区的单元地址为(00)H〜(1F)H。

答:

00H,1FH

8.通过堆栈操作实现子程序调用时,首先要把(PC)的内容入栈,以进行断点保护。

调用子程序返回指令时,再进行出栈保护,把保护的断点送回到(PC),先弹出的是原来

(PCH中的内容。

答:

PC,PC,PCH

9.AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为

AT89S51单片机的PC是16位的,因此其寻址的范围为(64)KB。

答:

64

10.AT89S51单片机复位时,P0~P3口的各引脚为(高)电平。

答:

11.AT89S51单片机使用片外振荡器作为时钟信号时,引脚XTAL1接(片外振荡器的输

出信号),弓I脚XTAL2的接法是(悬空)。

12.AT89S51单片机复位时,堆栈指针SP中的内容为(07H),程序指针PC中的内容为(0000H)。

答:

07H,0000H

、单选

1.程序在运行中,当前PC的值是

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

B.当前正在执行指令的地址。

C.当前正在执行指令的下一条指令的首地址

D.控制器中指令寄存器的地址。

答:

C

2.判断下列哪一种说法是正确的?

A.PC是一个可寻址的寄存器

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

C.AT89S5仲片机中的一个机器周期为1卩s

D.特殊功能寄存器SP内存放的是堆栈栈顶单元的内容答:

B

12MHz晶振时,每个机器周期为1宙。

三、判断对错

1.使用AT89S51单片机且引脚EA*=1时,仍可外扩64KB的程序存储器。

2.区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。

3.在AT89S51单片机中,为使准双向的I/O口工作在输入方式,必须事先预置为1。

4.PC可以看成是程序存储器的地址指针。

5.AT89S51单片机中特殊功能寄存器(SFR使用片内RAM勺部份字节地址。

6.片内RAM勺位寻址区,只能供位寻址使用,而不能进行字节寻址。

7.AT89S51单片机共有26个特殊功能寄存器,它们的位都是可以用软件设置的,因此,都是可以位寻址的。

8.堆栈区是单片机内部的一个特殊区域,与RA毗关。

9.AT89S51单片机进入空闲模式,CPU亭止工作。

片内的外围电路(如中断系统、串行口和定时器)仍将继续工作。

10.AT89S51单片机不论是进入空闲模式还是掉电运行模式后,片内RAM和SFR中的内

容均保持原来的状态。

11.AT89S51单片机进入掉电运行模式,CPU和片内的外围电路(如中断系统、串行口和定时器)均亭止工作。

12.AT89S51单片机的掉电运行模式可采用响应中断方式来退出。

四、简答

1.AT89S51单片机片内都集成了哪些功能部件?

答:

集成了如下部件:

1个CPU128个数据存储器(RAM单元;8KFlash程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);1个全双工串行口;3个16位定时器/计数器;1个看门狗定时器;一个中断系统,6个中断源,2个优先级;32个特殊功能寄存器(SFR)。

2.AT89S51的64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。

答:

见下表

"R汁寸疥半丿J刀力竺丁hI口y十型|八]_|

地址,见<2-3*

通常这5个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存故中断服务子程序。

2-3ME仍晁各中斷盏的中斷入□地址

中話凜

入口地址

外部中断0

0003iH

定时器/计数器W

OOOBH

外窗中断1

0013H

左时器A+数器n

0O1BH

WtD

0023H

定时皤F计数器T21

0O2BH

da13a

3.说明AT89S51单片机的EA*引脚接高电平或低电平的区别。

答:

当EA*脚为高电平时,单片机读片内程序存储器(4K字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA*脚为低电平时,单片机只对外部程序存储器的地址为0000HHFFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。

CA-C,只淡取外部的程序存槌話中的内容’读取的地址范国为000DH~

阡mt片內的4KBriash程序存储番不起作用口

Vpp:

引脚第二功確,对片内FI辭h编程,接编稈申.干。

(3)ALE/PROG*(AddressLatchErmbI«/PR0Gr^nmin«r北脚)

ALE为地址琐存控制信号端,为精•功能.由于引脚数目有限"rou^作为低8位地址总我与&也數耀恿城廿胆割用的.当单片机功问外部程序存储踹或外部数惦存储器吋,ALE的负跳变将单片机F0口先发出胸低甘位岫址锁存在卩眞】外接的地址锁存器屮”然后血口再作为&位数据总线使用,即图3所示.

当看门狗定时器遒出输出时,谨脚将输出坟达弘于时神振越周期的高电平.

(2/EMvPPP(EnableAddressAoItaeePuIseofPro£ramingf31脚)

EA*:

引脚第一功能:

外部程序存储器访问兒临控制端。

EA*,在PC值不超出1FFFH{即不超出片P3SK6Flash#储器的地址范时,单片机谏片内稈序存储器(6K0)中的穆序.但卩睢超ttHFFFH(却超出片内3KBFlash地址范围〉时*将自动转向读取片外(2000H-FFFFH>稈停存储器空间中的程睜,

4、

ATX0S贮单片机的复位是中外邯加荻位电隐实现的.嵬偸电路应慕右上电

宜位和人T捲裤蔑忖两种功链、鈕須的窟侍电路如图2-18所示.

S21B复谊电路

第3章C51编程语言基础

思考题及习题3参考答案

、填空

1.与汇编语言相比,C51语言具有(可读性好),(可移植性好),(模块化开发与资源共享),(生成的代码效率高)等优点。

2.C51语言头文件包括的内容有8051单片机(片内的外设硬件资源),以及(相应的特殊功能寄存器)的说明。

3.C51提供了两种不同的数据存储类型(xdata)和(pdapa)来访问片外数据存储区。

答:

xdata,pdata

4.C51提供了code存储类型来访问(程序存储区)。

答:

程序存储区

5.对于SMALL存储模式,所有变量都默认位于8051单片机(内部的数据存储器)。

答:

内部的数据存储器

6.C51用“*”和“&”运算符来提取指针变量的(内容)和指针变量的(地址)。

答:

内容,地址

二、判断对错

1.C51语言处理单片机的中断是由专门的中断函数来处理的。

2.在C51语言中,函数是一个完成一定相关功能的执行代码段,它与另外两个名词“子程序”和“过程”用来描述同样的事情。

3.在C51语言编程中,编写中断服务函数时需要考虑如何进行现场保护、阻断其他中断、返回时自动恢复现场等处理的程序段的编写。

4.全局变量是在某一函数中存在的变量,它只在该函数内部有效。

5.全局变量可使用static关键词进行定义,由于全局变量一直存在,占用了大量的内存单元,且加大了程序的耦合性,不利于程序的移植或复用。

6.绝对地址包含头文件absacc.h定义了几个宏,用来确定各类存储空间的绝对地址对

三、简答

1.C51在标准C的基础上,扩展了哪几种数据类型?

答:

扩展了4种数据类型,它们是:

bit、sfr、sfr16和sbit

2.C51有哪几种数据存储类型?

其中数据类型“idata,code,xdata,pdata”各对应

AT89S51单片机的哪些存储空间

(3)C51语言变量存储模式与标准C语言中变量存储模武数据不一样。

准G最初星为通用计算机设计的.在通用计算机中只有一个程序和数据统一寻址的内存空间,而C51语言中变虽的存储模式与8051单片机的各种存储器区紧密相关.

(4)数摒存储类型不同.B051存储区可分为内部数据存储区’外部数据

存储区以及程序存储区*

内部数据存储区可分为3个不同的£51存储类型:

data,idata和bd毗肌

外部数据存储区分为2个不同的C51存储类型:

;xdata和p站

程序存储区只能读不能写,可能在眈51内部或者衽外部,C引语盲提供

的m血存储类型用来访问程序存储区*

口aa£19

答:

C51有6种数据存储类型data、bdata、idata、xdata、pdata和code。

数据存储类型idata对应片内RAM勺256字节。

数据存储类型code对应程序存储区。

数据存储类型xdata对应片外64KB的RAM空间。

数据存储类型pdata对应片外RAM的256字节。

3.bit与sbit定义的位变量有什么区别?

答:

bit是用来定义普通的位变量,它的值只能是二进制的0或1。

而sbit定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW寄存器OV位的绝对地址0xd2。

4.说明3种数据存储模式

(1)SMALL莫式

(2)COMPA(模式(3)LARGE模式之间的差别。

答:

3种数据存储模式之间的差别如下:

(1)SMALL模式。

在该模式下,所有变量都默认位于8051单片机内部的数据存储器,这与使用data指定存储器类型的方式一样。

在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部RAM

(2)COMPA(模式。

本模式下的所有变量都默认在外部数据存储器的1页(256字节)

内,这与使用pdata指定存储器类型是一样的。

该存储器类型适用于变量不超过256字节的

情况,此限制是由寻址方式决定的,相当于使用数据指针@Ri进行寻址。

与SMALL莫式相比,该存储模式的效率比较低,对变量访问的速度也慢一些,但比LARGE莫式快。

(3)LARGE模式。

在LARG模式下,所有变量都默认位于外部数据存储器,相当于使用

数据指针@DPT进行寻址。

通过数据指针访问外部数据存储器的效率较低,特别是当变量为2

字节或更多字节时,该模式要比SMALI和COMPACT生更多的代码。

5.do-while构成的循环与while循环的区别是什么?

答:

(1)while语句。

while语句的语法形式为:

while(表达式){}

循环体语句;

表达式是while循环能否继续的条件,如果表达式为真,就重复执行循环体语句;反之,则终止循环体内的语句。

while循环的特点在于,循环条件的测试在循环体的开头,要想执行重复操作,首先必须进行循环条件的测试,如果条件不成立,则循环体内的重复操作一次也不能执行。

(2)do-while语句。

dowhile语句的语法形式为:

do{}

while(表达式);

循环体语句;

do-while语句的特点是先执行内嵌的循环体语句,再计算表达式,如果表达式

的值为非0,则继续执行循环体语句,直到表达式的值为0时结束循环。

由do-while构成的循环与while循环十分相似,它们之间的重要区别是:

while循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是0还是非0,循环体至少要被执行一次。

四、编程

1•编写C51程序,将单片机片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H~49H单元中。

答:

将片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H~49H单元中。

程序如下:

xdataunsignedcharbuffer1[10]_at_0x2000;

dataunsignedcharbuffer2[10]_at_0x40

voidmain(void)

{

unsignedchari;

for(i=0;i<10;i++)

{

buffer2[i]=buffer1[i]

n:

程序设计思路一一采用指朴的方法.

选用折针pJGpX播向clnr牛数抑:

心FxdatA.賦们px=JOOOH选用IB計pd.pxliH|jiJchar里故据“Tdata#K值jn(l-40H

ft.for{VJ坏中卜*pKl=*px.并H'1rH-lH--p甘■・pxJ-+,

采用数组的方法.

xdataiicliartmflflO]at0x2(XX)

dataiicliarbu£[10]0x40;

6.for4bbuQ[i]=bufl[i):

采用Ifift■的方社夢考视序如卜;

#de&icikcliorims&icdchar

voidunit)〃土曲数

{datanchari;

uchar心倚*pxi檸・p?

t,指初clxuT:

段抑:

忖Ixxhu

uciiardata*pxl;jlitlpxl*指向whar芒林搏位〕da【apx=0x2000:

pxl-0x40;

fci{i=0;r

*pxl=*px;

nWI):

}

采用教组的方魏第考理序如下;

adefiwnctiaiuusi狙耳dcliar

xdataucliarbidlpo]jn_0x2000:

卅jxchiabiiil[O]Hl址2000H

datauclrarbu£l[10]_it_Qx40;'f^.1'databu£Z[O]地址40H

voiduniX)H主函数

{datauchari

lbr(T=O;i<10:

汁+}

bu£2[i]-biifl[i|;

诉ljffeU);

RAM单元的起始地址答:

参考程序如下:

2•编写将单片机片内一组RAM单元清0的函数,函数内不包括这组和单元个数,起始地址和单元个数参数应在执行函数前由主函数赋值。

#defineucharunsignedchar

voidclear0(uchar*addr,ucharlenth)

{uchari;

for(i=0;i<=length;i++){*addr=0;addr++>

{

voidmain(void)

{

ucharaddr[32]_at_0x30;起始地址赋值

ucharlenth=32;单元个数赋值

clear0(addr,lenth);

while

(1);

}

第5章单片机与开关键盘以及显示器件的接口设

一、填空

1.AT89S51单片机任何一个端口要想获得较大的驱动能力,要采用()电平输出。

答:

蚤pon幕位为高电平时,可提供4皿心\的拉电流;当Pon某位为低电平(0.45V)时’可槌供3.2mA的潘电流.而P1〜P3口内有30kQE右上拉电阻.如高电平输岀.則从P2和P3口输出的拘电流帖仅几百報动能力校弱,亮度较差'见图聞(a),

如端口弓|曲为低电平"能便灌电流Id从单片机外部流入内邮,则将大大增加流过的淞电流值,见图5-1(h)°AT89S51任一端口耍想获得较丈的呃动脸力,耍用低电平他岀.

2.检测开关处于闭合状态还是打开状态,只需把开关一端接到I/O端口的引脚上,另一

端接地,然后通过检测()来实现。

答:

I/O端口引脚的电平

5.2开关状态检测

读入MO端1丨电平,即可检测开关处于闭合状态还是打开状态&

521开关检测案例1

用I/O端口来逬行开关状态检测,开关•端接到I/O端口引脚上"井通过上拉电阻接+5V±r开关另一端接地.当开关打开时.I/O引渤为高电平’当开关闭合时,引脚为低电平。

3.“8”字型的LED数码管如果不包括小数点段共计()段,每一段对应一个发光二极管,有()和()两种。

答:

7,共阳极,共阴极

7.3单片机控制LED数码管的显示

7.3.1LED数码管显示原理

LED数码管是常见的显示器件。

LED数码管为“8”字型的

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

当前位置:首页 > 小学教育

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

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