单片机原理和应用第三版林立张俊亮课后答案解析.docx

上传人:b****7 文档编号:10370531 上传时间:2023-02-10 格式:DOCX 页数:46 大小:35.08KB
下载 相关 举报
单片机原理和应用第三版林立张俊亮课后答案解析.docx_第1页
第1页 / 共46页
单片机原理和应用第三版林立张俊亮课后答案解析.docx_第2页
第2页 / 共46页
单片机原理和应用第三版林立张俊亮课后答案解析.docx_第3页
第3页 / 共46页
单片机原理和应用第三版林立张俊亮课后答案解析.docx_第4页
第4页 / 共46页
单片机原理和应用第三版林立张俊亮课后答案解析.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

单片机原理和应用第三版林立张俊亮课后答案解析.docx

《单片机原理和应用第三版林立张俊亮课后答案解析.docx》由会员分享,可在线阅读,更多相关《单片机原理和应用第三版林立张俊亮课后答案解析.docx(46页珍藏版)》请在冰豆网上搜索。

单片机原理和应用第三版林立张俊亮课后答案解析.docx

单片机原理和应用第三版林立张俊亮课后答案解析

第一章习题

1.什么是单片机?

单片机和通用微机相比有何特点?

答:

单片机又称为单片微计算机,它的结构特点是将微型计算机的基本功能部件(如中央处理器()、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。

虽然单片机只是一个芯片,但无论从组成还是从逻辑功能上来看,都具有微机系统的定义。

与通用的微型计算机相比,单片机体积小巧,可以嵌入到应用系统中作为指挥决策中心,是应用系统实现智能化。

2.单片机的发展有哪几个阶段?

8位单片机会不会过时,为什么?

答:

单片机诞生于1971年,经历了、、三大阶段,早期的单片机都是8位或4位的。

其中最成功的是的8031,此后在8031上发展出了51系列系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。

随着i960系列特别是后来的系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

然而,由于各应用领域大量需要的仍是8位单片机,因此各大公司纷纷推出高性能、大容量、多功能的新型8位单片机。

目前,单片机正朝着高性能和多品种发展,但由于51系列8位单片机仍能满足绝大多数应用领域的需要,可以肯定,以51系列为主的8位单片机,在当前及以后的相当一段时间内仍将占据单片机应用的主导地位。

3.举例说明单片机的主要应用领域。

答:

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

智能仪器

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。

工业控制

单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。

例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

家用电器现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。

网络和通信

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

医用设备领域

单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

模块化系统

某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。

如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。

如:

音乐信号以数字的形式存于存储器中(类似于),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。

在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。

汽车电子单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于总线的汽车发动机智能电子控制器、导航系统、防抱死系统、制动系统、胎压检测等。

此外,单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。

4.将十进制数37转换为二进制,码和十六进制数,并对转换结果进行对比分析。

答:

37=(100101)(25)H;码为00110111;

可见,同一个数用不同进制表示,其结果也不同。

5.写出下列十进制数在8位微机中的原码,反码和补码形式。

(1)+36

原码00100100B

反码00100100B

补码00100100B

(2)-36

原码10100100B

反码11011011B

补码11011100B

(3)+127

原码01111111B

反码01111111B

补码01111111B

(4)-128

原码10000000B

反码01111111B

补码10000000B

(5)-121

原码11111001B

反码10000110B

补码10000111B

6.对于二进制数10001001B,若理解为无符号数,则该数对应十进制数为多少?

若理解为有符号数,则该数对应十进制为多少?

若理解为数,则该数对应十进制数为多少?

答:

10001001B无符号数:

137

有符号数:

-9;

数:

89;

7.对下列各组数进行“与”,“或”和“异或”运算。

(1)10101010和00000000

与00000000

或10101010

异或10101010

(2)01110111和10001000

与00000000

或11111111

异或11111111

(3)11101110和01110111

与01100110

或11111111

异或10011001

(4)00111100和11110000

与00110000

或11111100

异或11001100

8的工作界面中包含哪几个窗口?

菜单栏中包含哪几个选项?

答:

的工作界面主要包括标题栏、菜单栏、工具栏、状态栏、方位控制按钮、仿真进程控制按钮、对象选择窗口,原理图编辑窗口和预览窗口等。

主菜单栏包含文件、查看、编辑、工具、设计、图形、源文件、调试、库、模板、系统、帮助选项。

9.利用模块开发单片机系统需要经过哪几个主要步骤?

答:

(1)启动;

(2)绘制电路原理图;

(3)输入单片机程序;

(4)进行源代码调试;

(5)仿真运行。

10.何谓?

利用模块进行设计需要经过哪几个主要步骤?

答:

(),中文名称为印制电路板,又称印刷电路板、印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的提供者。

由于它是采用电子印刷术制作的,故被称为“印刷”电路板。

利用模块进行设计的主要步骤:

(1)启动;

(2)元器件布局;(3)元器件布线;(4)铺铜;(5)三维效果图;(6)输出。

第2章51单片机结构及原理习题

1.-51单片机内部由哪些功能部件组成,各有什么功能?

答:

以51单片机为例,其内部功能部件有:

控制器:

是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作所需的控制信号,完成指令所规定的功能;

运算器:

根据控制器发来的信号,执行算术逻辑运算操作;

存储器:

包括程序存储和数据存储器;

定时器计数器:

2个16位定时器/计数器,可对机器周期计数,也可对外部输入脉冲计数;

中断系统:

可响应三个内部中断源和两个外部中断源的中断请求;

输入输出接口:

4个8位并行口和一个全双工串行口;

2.-51单片机外部引脚的名称是什么?

各有什么功能?

答:

(1)电源及晶振引脚

(40脚):

+5V电源引脚

(20脚):

接地引脚

1(19脚);外接晶振引脚(内置放大器输入端)

2(18脚):

外接晶振引脚(内置放大器输出端)

(2)控制引脚

(9)为复位/备用电源引脚

为地址锁存使能输出/编程脉冲输入

输出访问片外程序存储器读选通信号

外部允许访问/编程电源输入

(3)并行口引脚

P0.0~P0.7(39~32脚)——P0口;

P1.0~P1.7(1~8脚)——P1口;

P2.0~P2.7(21~28脚)——P2口;

P3.0~P3.7(10~17脚)——P3口。

3.51系列单片机的封装有哪些类型?

请说明每一种封装引脚之间的距离。

答:

51系列单片机的封装有:

40引脚双列直插封装(——),引脚之间的距离是100();

44引脚方形扁平封装(——)方式,引脚之间的距离是;

44引脚带引线的塑料芯片载体()。

4.什么是复位?

单片机复位电路有哪几种,工作原理分别是什么?

答:

复位——使单片机恢复原始默认状态的操作。

单片机复位电路有:

上电复位电路,由电阻和电容构成,通过上电时,电容相当于短路而使复位引脚在晶振有效的情况下保持2个机器周期的高电平;按钮开关复位电路,由两个电阻的分压构成,通过手工按下按钮,使复位引脚在晶振有效的情况下保持2个机器周期的高电平。

5.通常的微机系统存储器结构有哪几种?

51单片机存储器属于哪一类?

51可寻址多大空间?

答:

通常的微机系统存储器结构有两种结构,即哈佛结构和冯诺依曼结构(也叫普林斯顿结构),51单片机存储器属于,51可寻址空间是两个64,即64的程序存储空间和64的数据存储空间。

6.片内中低128个单元划分为哪三个主要部分?

各部分的主要功能是什么?

答:

片内中低128个单元划分为三个部分:

①工作寄存器区(001),四组,每组8个,可作用工作寄存器切换使用;②可位寻址区(202),16B,位地址为007,用作为按位寻址的空间;③用户区(307),80B,用作普通单元或堆栈。

7.程序状态字寄存器各位的定义是什么?

答:

程序状态字寄存器各位的定义如下:

.7.6.5.4.3.2.1.0.7:

进/借位标志,加法有进位时置1,减法有借位时置1;.6:

辅助进位标志,加法运算低四位向高上四位有进位时置1;.5、.1:

用户标志位F0和用户标志位F1,保存用户的位数据;

.4、.3:

工作寄存器选择控制位1和0,00至11分别选择四组工作之一作为当前工作寄存器

.2:

溢出标志位,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在中,或除法运算除数为0)时置1.0:

奇偶标志位P,累加器A中1的个数为奇数时置1。

8.什么是时钟周期?

什么是机器周期?

什么是指令周期?

当振荡频率为12时,一个机器周期为多少微秒?

答:

时钟周期又叫振荡周期或拍,用P表示,是51单片机中最小的时间单位,在一个时钟周期内,完成一个最基本的动作。

机器周期:

由12个时钟周期构成,完成一个基本操作

指令周期:

是执行一条指令所需的时间,根据指令的复杂性,可由1~4个机器周期构成。

当振荡频率为12时,一个机器周期为1微秒。

9.P0、P1、P2和P3口的结构和功能分别是什么?

答:

P0口的每一位由1个锁存器、2个三态缓冲器、1个输出控制电路(非门X、与门、电子开关、输出驱动电路构成,其功能既可以作为通用口实现输入/输出功能,也可作为单片机地址线的低8位和数据线实现外部扩展功能。

在用作输入输出口时,需外接上拉电阻。

P1口的每一位由1个锁存器、1个场效应管驱动器V和2个三态门缓冲器构成,其作用是用作输入输出口

P2口的每一位由1个锁存器、2个三态缓冲器、1个输出控制单元、1个输出驱动单元构成,其功能是用作输入输出口,或地址总线的高8位。

P3口的每一位由1个锁存器、2个三态缓冲器、1个第二功能控制单元、1个输出驱动单元构成,其作用是用作输入输出口或第二功能。

10.51单片机引脚的作用是什么?

当51不外接存储器时,上的输出的脉冲频率是多少?

答:

51单片机引脚的作用是对外部存储寻址时锁存P0口输出的低8位地址,当51不外接存储器时,上的输出的脉冲频率是6。

第3章单片机的汇编语言与程序设计习题

1.51单片机有哪几种寻址方式?

适用于什么地址空间?

答:

51单片机有7种寻址方式:

直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址、相对寻址。

直接寻址方式:

操作数的地址由指令直接给出,适用于片内的所有地址空间;如A,68H

A,

寄存器寻址方式:

指令给出的是寄存器的编码,操作数在编码指定的寄存器中,适用于片内00H至1的32个字节,用R0,…7表示,通过的1和0选择组号确定对应32个字节中的其中8个,还有累加器A,以及乘除法指令中的A和B寄存器,位寻址方式中的布尔累加器C;

A,R1

寄存器间接寻址方式:

指令给出的是寄存器的编码,操作数地址在编码指定的寄存器中,适用于片内的全部空间,其中52系列中的80H至只能用寄存器间接寻址;如A,0

A,1

A,

立即寻址方式:

操作数本身在指令中直接,给出适用于用8位立即数对片内所有地址单元赋值,也可用16位立即数对赋值;如

A,#0E2H

,#2000H

变址寻址方式:

以或作为基地址寄存器,以累加器A作为变址寄存器,将基址寄存器与变址寄存器的内容相加形成操作数的实际地址的一种寻址方式,变址寻址方式适用于程序存储器,仅有三条指令如下:

A,

A,

位寻址方式:

指令中直接给出操作数所在单元的位地址,适用于片内中地址20H至2中的16个字节中的128个位地址空间和80H至中地址中可以被8整除的所有中的每个位地址空间;如

C,7

F0,C

C,.7

相对寻址方式:

为相对转移指令而设,指令中直接给出转移的相对偏移量,其转移目标在当前指令-128至+127字节范围内的地址空间。

;等效于:

$

2.51单片机的程序状态字中无(零)标志位,怎样判断某内部数据单元的内容是否为零?

答:

51单片机的程序状态字中无(零)标志位,判断某内部数据单元的内容是否为零是能通过取数到A累加器,再判断A中的每一位是否为零来确定其值是否为零。

3.编程将内部的2030H单元内容清零。

解:

设一个片内指针R0,先指向首地址20H,通过累加器A清零,然后采用间接寻址方式依次将A中的零值传送到指针所指的片内单元,每传送一个字节,地址指针加1,直到达到地址为30H或达到计数器规定的17个字节为止。

程序1:

R020H;设地址指针初值

A;累加器清0

:

0;置0指针所指单元

R0;地址指针加1

R031;指针未超过终点则继续

$;暂停

程序2:

R020H;设地址指针初值

A;累加器清0

R717;计数器赋初值,从20H到30H共17个字节:

0;置0指针所指单元

R0;地址指针加1

R7,;计数器减1,非0,则继续

$;暂停

4.编程查找内部的32H~41H单元中是否有0这个数据,若有这一数据,则将50H单元置为0,否则将50H单元清零。

解:

设一个片内指针R0,先指向首地址32H,比较0与#0,若相等,则退出循环,给50H单元赋0,若不相等,则R0加1为继续比较下一个字节做准备,直到达到地址为41H或达到计数器规定的16个字节为止还没找到,则给50H单元赋00H

程序1:

R032H;设地址指针初值

:

00;比较查找值与指针所指单元的值,不相等转移0;相等,则准备好要赋的标志值0

;转存到保存结果处

:

R0;修改地址指针

R042;若指针未越过终点,则继续

00H;查找失败,则将00H存入结果标志单元:

50;将比较结果标志存入50H单元

$;暂停

程序2:

R716;计数器赋初值,从20H到30H共16个字节R032H;设地址指针初值

:

00;比较查找值与指针所指单元的值,不相等转移

0;相等,则准备好要赋的标志值0

;转存到保存结果处

:

R0;修改地址指针

R7;计数器减1,非0,则继续

00H;查找失败,则将00H存入结果标志单元:

50;将比较结果标志存入50H单元

$;暂停

5.查找20H~4单元中出现00H的次数,并将查找结果存入50H单元。

解:

从20H到4共48个字节

R748;字节计数器赋初值

R020H;设地址指针初值

:

000;比较查找值与指针所指单元的值,不相等转移R6;相等,0的个数计数器加1

:

R0;修改地址指针

R7;计数器减1,非0,则继续

506;保存O的个数计数值到50H单元

$;暂停

6.已知83H,R0=17H,(17H)=34H,写出下列程序段执行之后的A中的内容。

17H

17

0

A

答:

17H03H

17;(17H)=00110100∨00000011=00110111000000011∨00110111=00110100A11001011

7.已知单片机的晶振频率为12,分别设计延时为0.1s、1s的子程序。

答:

已知单片机的晶振频率为12,则机器周期为1,延时子程序是通过执行指令序列中机器周期数来达到,如果要0.1s,即100,也就是100000,所以需要机器周期数达到100000。

要延时达到1S,可通过对延时为0.1秒的子程序调用10次来实现。

100:

R6200;1个机器周期

D1:

R7250;1个机器周期

D2:

;1个机器周期

R72;2个机器周期,3*251=753

R61;2个机器周期,(1+753+2)*132=99792

;2个机器周期,1+99792+2=99795,约100

1S:

R710;计数10次1

:

100;延时100子程序99795+2

R7;未达到10次则继续10*(2+99795+2);返回2+10*(2+99795+2)=997992

8.内部从20H单元开始处有一数据块,以为结束标志,试统计该数据块的长度,将该数据块送到外部数据存储器7E01H开始的单元,并将长度存入7E00H单元。

解:

从20H的指针用R0,从外部7E01开始的指针用,计数器用R7R70;字节计数器赋初值

R020H;设片内地址指针初值

7E01H;设片外地址指针初值

:

0;取片内中的一个字节

;存入片外指针所指单元

R7;长度计数器加1

R0;片内地址指针加1

;片外地址指针加1

0;未达到结束标志

7;取块计数长度值

;保存

$;暂停

9.内部从开始的区域中存放着10个单字节十进制数,求其累加和,并将结果存入和1单元。

解:

R7计数,R6保存累加和高8位,R0用作地址指针

0000H

100H

30H

40H

:

R710;字节计数器赋初值

R0;设片内地址指针初值

A;累加器清0

R6;累加结果的高8位

:

0;加中的一个字节到

A

;若无进位则不用管高8位

R6;有进位,高8位加1

:

R0;片内地址指针加1

R7;未完继续

;保存低8位

16;保存高8位

$;暂停

10.内部从1和2单元开始处存放着两个等长的数据块,数据块的长度在单元中。

请编程检查这两个数据块是否相等,若相等,将0写入单元,否则将0写入单元。

解:

从1开始的指针用R0,从2开始的指针用R1,计数器用R710

130H

240H

50H

R7;字节计数器赋初值

R01;设片内地址指针初值

R12;设片外地址指针初值

:

0;取片内R0所指的的一个字节

71;将R1所指单元内容取到片内地址7中A,7;比较,不相等则结束

R01地址指针加1

R12地址指针加1

R7;未完,继续

0;相等,准备写入

;转写入结果处

:

0;不相等,准备写入00H

:

;保存比较结果标志

$;暂停

11.编制程序,将内部中M1、M2、M3和M4单元中的无符号数、x2、x3和x4相加,并把和存入和R1(R0中为高8位)中。

解:

M130H

M240H

M345H

M44

1;取第一个数

2;与第二个数相加

1;如果无进位,则转移至第三个相加

R01;有进位,高8位置1

1:

3;与第三个数相加

2;没有进位,则转至第四个数相加

R0;有进位,高8位加1

2:

4;与第四个数相加

3;没有进位,则转至结束

R0;有进位,高8位再加1

3:

R1;低8位保存到R1

$;暂停

第4章单片机的C51语言习题

1.C语言的优点是什么?

C程序的主要结构特点是什么?

答:

C语言是一种高级语言,学习比低级容易,不需要具体组织、分配存储器资源和处理端口数据,可以直接驱动单片机的所有资源。

C程序以函数为单位,由一个主函数和若干个其他函数构成,主函数是程序的入口,其他函数由主函数直接或间接调用。

程序可以由一个文件或多个文件组成。

文件类型包括头文件和C语言源文件,也可以是汇编语言文件,C程序可与汇编语言混合编程。

2.C51语言的变量定义包含哪些关键因素?

为何这样考虑?

答:

C语言的变量定义格式如下:

[存储种类]数据类型[存储类型]变量名

其中:

存储种类与标准C语言相同,包括:

自动型()、外部型()、静态型()、寄存器型()。

数据类型除了包含标准C语言类型的字符型(),整型(),长整型(),浮点型(),双精度型()外,还有二进制位型(),特殊功能寄存器型(),可位寻址的位类型()。

存储类型包括:

片内区()、片内可位寻址区(),片内间接寻址区(),片外页寻址区(),片外区()、区()。

只所以比标准C语言多了存储类型,就是因为-51单片机的存储结构中有四个物理存储空间(片内、片内,片外,片外),三个逻辑地址空间(片内,片外,),而且有多种寻址方式(直接寻址、间接寻址、页面寻址、位寻址)所致,所以在定义变量时,要根据其所在位置和寻址方式明确指定存储类型。

3.C51与汇编语言的特点各有哪些?

怎样实现两者的优势互补?

答:

C51是结构化语言,代码紧凑;接近自然语言,程序可读性强,易于调试、维护;库函数丰富,编程工作量小,可使产品开发周期短;具有机器级控制能力,功能很强,适合于嵌入式系统开发;汇编指令无关,易于掌握,上手快。

汇编语言优点是编写的程序代码精炼、执行速度快,在相同功能下,汇编语言程序可能比C语言程序效率高。

缺点是对程序员要求高,必须对单片机的硬件结构非常熟悉才能编程,不便于编写比较复杂的程序。

可根据需要对要求时间性很强的代码用汇编语言编写,其它部分用C语言编写,两者混合编程就可以实现优势互补。

4.指出下面程序的语法错误:

<51>

(){

7

(10)

();{

i;

(;i<=255;””);

}

答:

<51>

(){

;和C必须先定义才可使用

7缺分号,应该提在使用前说明

(10)延时子程序必须先定义,或先有函数原型说明();{

作为函数定义,有函数定义不能嵌套的问题,

即不能在一个函数内定义另一个函数,而且“{”前不应有分号

作为函数原型说明,应该放在函数调用之前,且其后不应该接函数体

i;字符型应该是

(;i<=255;””)””应改成

}

主函数没有结束,缺”}”

5.定义变量a,b,c,其中a为内部的可位寻址区的字符变量,b为外部数据存储区浮点型变量,c为指向型区的指针。

答:

a;

b;

*c;

6.编程将8051的

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1