《单片机教材》习题参考答案Word下载.docx

上传人:b****1 文档编号:872920 上传时间:2023-04-29 格式:DOCX 页数:33 大小:127.28KB
下载 相关 举报
《单片机教材》习题参考答案Word下载.docx_第1页
第1页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第2页
第2页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第3页
第3页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第4页
第4页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第5页
第5页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第6页
第6页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第7页
第7页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第8页
第8页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第9页
第9页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第10页
第10页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第11页
第11页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第12页
第12页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第13页
第13页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第14页
第14页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第15页
第15页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第16页
第16页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第17页
第17页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第18页
第18页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第19页
第19页 / 共33页
《单片机教材》习题参考答案Word下载.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《单片机教材》习题参考答案Word下载.docx

《《单片机教材》习题参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《《单片机教材》习题参考答案Word下载.docx(33页珍藏版)》请在冰点文库上搜索。

《单片机教材》习题参考答案Word下载.docx

1.5

片内RAM低128单元的配置如下:

地址

功能

30H~7FH

数据缓冲区

20H~2FH

位寻址区(00H~7FH)

18H~1FH

第3组工作寄存器(R7~R0)

10H~17H

第2组工作寄存器(R7~R0)

08H~0FH

第1组工作寄存器(R7~R0)

00H~07H

第0组工作寄存器(R7~R0)

寄存器常用于存放操作数及中间结果等;

内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作;

在内部RAM低128单元中,通用寄存器占去了32个单元,位寻址区占去了16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。

片内RAM高128单元安排有21个特殊功能寄存器,其他空闲单元用户不能使用。

1.6

有21个可寻址的特殊功能寄存器,它们不连续地分布在片内RAM的高128单元中,尽管其中还有许多空闲地址,但用户不能使用。

另外还有一个不可寻址的特殊功能寄存器,即程序计数器PC,它不占据RAM单元,在物理上是独立的。

在可寻址的21个特殊功能寄存器中,有11个寄存器不仅可以字节寻址,也可以进行位寻址。

1.7

程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。

其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则由软件方法设定。

PSW的位状态可以用专门指令进行测试,也可以用指令读出。

PSW的各位定义下表所示。

PSW位定义

位地址

D7H

D6H

D5H

D4H

D3H

D2H

D1H

D0H

位名称

CY

AC

F0

RS1

RS0

OV

F1

P

·

CY(PSW.7):

进位标志位。

CY是PWS中最常用的标志位,其功能有两个:

一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果最高位有进位或借位,则CY由硬件置“1”,否则被清“0”;

二是在位操作中,作累加位使用。

位传送、位与位或等位操作,操作位之一固定是进位标志位。

AC(PSW.6):

辅助进位标志位。

在进行加或减运算中,若低4位向高4位进位或借位,AC由硬件置“1”,否则被清“0”。

在BCD码调整中也要用到AC位状态。

F0(PSW.5):

用户标志位。

这是一个供用户定义的标志位,需要利用软件方法置位或复位,用来控制程序的转向。

RS1和RS0(PSW.4,PSW.3):

工作寄存器组选择位。

它们被用于选择CPU当前使用的通用寄存器组。

通用寄存器共有4组,其对应关系如下表所示。

工作寄存器组选择

RS1RS0

寄存器组

片内RAM地址

00

第0组

00H~07H

01

第1组

08H~0FH

10

第2组

10H~17H

11

第3组

18H~1FH

这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。

但当单片机上电或复位后,RS1RS0=00。

OV(PSW.2):

溢出标志位。

在带符号数加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效范围(-128~+127),即产生了溢出,因此运算结果是错误的;

OV=0表示运算正确,即无溢出产生。

在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中;

否则,OV=0,表示乘积只在A中。

在除法运算中,OV=1表示除数为0,除法不能进行;

否则,OV=0,除数不为0,除法可正常进行。

F1(PSW.1):

保留未使用。

P(PSW.0):

奇偶标志位。

P标志位表明累加器A中内容的奇偶性,如果A中有奇数个“1”,则P置“1”,否则置“0”。

凡是改变累加器A中内容的指令均会影响P标志位。

此标志位对串行通信中的数据传输有重要的意义。

在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。

1.8

0003H~002AH这40个单元被均匀地分为5段,作为5个中断源的中断地址区。

其中:

0003H~000AH外部中断0中断地址区

000BH~0012H定时器/计数器0中断地址区

0013H~001AH外部中断1中断地址区

001BH~0022H定时器/计数器1中断地址区

0023H~002AH串行中断地址区

中断响应后,按中断种类,自动转到各中断区的首地址去执行程序。

因此在中断地址区中理应存放中断服务程序。

但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。

1.9

当需要扩展存储器时,低8位地址A7~A0和8位数据D7~D0由P0口分时传送,高8位地址A15~A8由P2口传送。

因此,只有在没有扩展片外存储器的系统中,P0口和P2口的每一位才可作为双向I/O端口使用。

1.10

单片机晶振电路

一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.2MHz~12MHz。

如果晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就越快。

MCS-51在通常应用情况下,使用振荡频率为的6MHz或12MHz的晶振,如果系统中使用了单片机的串行口通信,则一般采用振荡频率为11.059MHz的晶振。

1.11

规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。

当振荡脉冲频率为12MHz时,一个机器周期为1µ

s;

当振荡脉冲频率为6MHz时,一个机器周期为2µ

s。

1.12

(a)上电复位电路(b)按键复位电路

单片机常见的复位电路

图(a)为上电复位电路,它是利用电容充电来实现的。

在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。

只要保证RST为高电平的时间大于两个机器周期,便能正常复位。

图(b)为按键复位电路。

该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。

习题2答案

2.1单项选择题

(1)C

(2)A(3)B(4)A(5)D

2.2

单片机开发过程所用的设备与软件称为单片机开发系统或开发工具。

单片机开发系统包括计算机、单片机在线仿真器、开发工具软件、编程器等。

连接方法如下图所示。

单片机开发系统连接方法示意图

2.3

单片机应用系统的开发过程如下:

设计电路图→制作电路板→程序设计→硬软件联调→程序下载→产品测试

2.4

1.在线仿真功能

在线仿真器(InCircuitEmulator,简称ICE)是由一系列硬件构成的设备,它能仿真用户系统中的单片机,并能模拟用户系统的ROM、RAM和I/O口。

因此,在线仿真状态下,用户系统的运行环境和脱机运行的环境完全“逼真”。

2.调试功能

1)运行控制功能

开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。

2)单片机状态查看修改功能

当CPU停止执行程序运行后,开发系统允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。

任务2中图2.13给出了在Medwin调试环境下查看单片机内部资源的菜单。

3.程序编译功能

1)程序设计语言

单片机程序设计语言包括机器语言、汇编语言和高级语言。

机器语言是单片机唯一能够识别的语言。

汇编语言具有使用灵活、实时性好的特点。

目前,在实际项目开发中较少使用汇编语言。

高级语言通用性好,且具有较好的可读性和可移植性,是目前单片机编程语言的主流。

2)程序编译

单片机开发系统能够提供源程序的编辑、编译和下载功能以及工程管理功能。

4.程序固化功能

编程器是完成这种任务的专用设备,它也是单片机开发系统的重要组成部分。

习题3答案

3.1单项选择题

(1)A

(2)A(3)C(4)C(5)A

(6)B(7)D(8)D(9)A(10)A

(11)B(12)C(13)D(14)D(15)C

3.2填空题

(1)P3口

(2)字节,位

(3)主函数main()

(4)sbitFLAG=P3^1;

(5)sfr

(6)顺序结构、选择结构和循环结构

(7)表达式加上分号“;

(8)if,switch

(9)do-while,while

(10)无限次

(11)10000

(12)unsignedchar

(13)变量在MCS-51硬件系统中所使用的存储区域

(14)'

\0'

(15)程序存储器ROM中

3.3上机操作题

(1)

//xiti3_3_1.c——第三章习题3.3上机操作题

(1)

#include<

reg51.h>

voiddelay(unsignedchari);

//延时函数声明

voidmain()//主函数

{

while

(1){

P1=0x55;

//按状态1的方式点亮8个LED

delay(200);

//延时

P1=0xaa;

//按状态2的方式点亮8个LED

}

voiddelay(unsignedchari)//延时函数参见任务1程序ex1_1.c

(2)

//xiti3_3_2.c——第三章习题3.3上机操作题

(2)

//包含头文件REG51.H

unsignedchari,l,r;

while

(1){

l=0x10;

//高4位灯的位置初值为00010000B

r=0x08;

//低4位灯的位置初值为00001000B

for(i=0;

i<

4;

i++){

P1=~(l|r);

//循环点亮灯

l<

<

=1;

//高4位灯的位置移动

r>

>

//低4位灯的位置移动

delay(200);

//延时

}

(3)

//xiti3_3_3.c——第三章习题3.3上机操作题(3)

unsignedchari;

unsignedchardisplay[]={0x89,0xff,0x86,0xff,0xc7,0xff,0xc7,0xff,0xc0,0xff};

10;

P1=display[i];

//显示字送P1口

//延时

习题4答案

4.1单项选择题

(1)B

(2)A(3)C(4)A(5)A

(6)B(7)A(8)A(9)D(10)A

(11)C(12)C(13)A(14)D

4.2填空题

(1)①定时器T0②定时器T1③定时器方式寄存器TMOD④定时器控制寄存器TCON

(2)GATE=0

(3)TMOD=0x05

(4)选择定时器T0/T1的工作方式

(5)控制定时器的启动、停止,标志定时器的溢出和中断情况。

(6)定时控制寄存器TCON、串行口控制寄存器SCON、中断允许寄存器IE、中断优先权寄存器IP

(7)外部中断0、定时器0、外部中断1、定时器1、串行口

(8)电平触发方式

(9)硬件自动清除、软件清除、硬件配合软件共同清除

(10)0

4.3

当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。

定时器的定时时间与系统的振荡频率紧密相关,如果单片机系统采用12M晶振,则计数周期为:

,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。

当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。

计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。

当需要准确计算时间时往往采用定时器的定时方式,而当要对一些外部事件计数时则采用定时器的计数方式。

4.4

软件定时是通过编写一段延时程序来实现定时,这段延时程序不完成任何操作,只是通过一些空操作浪费掉一段时间。

这样的软件定时往往浪费CPU的工作效率,并且定时不够准确,前面三章的各个任务中均采用了这种方法。

硬件定时是通过单片机的定时器来实现时间的计算,用户只需要对定时器的工作方式、初始值赋予合适的数值,启动定时器后,定时器将自动按照机器周期定时。

这种由定时器实现的定时方式,定时时间准确、CPU的工作效率高。

4.5

MCS-51系列单片机的定时/计数器是增1计数器。

对于增1计数器,计数初值应等于最大计数值减去所需要的计数值。

而减1计数器,计数初值就等于所需要的计数值。

例如:

假设需要计数50000次。

对于增1计数器的单片机,若采用方式1的定时器,最大计数值为65536,则初值应为:

65536-50000=15536。

而对于减1计数器,则计数初值将为50000。

4.6

在定时/计数器工作于方式1下,最大计数值为65536。

若晶振频率为6MHz,则一个机器周期为2μS,所以最短定时时间为2μS(计数初值为65535),最长定时时间为2μS×

65536=131072μS(计数初值为0)

4.7

定时/计数器的4种工作方式由方式寄存器TMOD中的M1、M0来进行选择,具体如下:

M1M0

工作方式

功能说明

00

方式0

13位计数器

01

方式1

16位计数器

方式2

自动再装入8位计数器

方式3

定时器0:

分成两个8位计数器

定时器1:

停止计数

4.8

中断是通过硬件来改变CPU的运行方向。

计算机在执行程序的过程中,当出现CPU以外的某种情况,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。

这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。

调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的;

而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。

中断的特点:

分时操作、实时处理、故障处理

4.9

MCS-51系列单片机有5个中断源,分别是外部中断0、定时器0、外部中断1、定时器1、串行口。

它们的优先级别通过寄存器IP实现。

4.10

外部中断有低电平触发和下降沿触发两种方式。

通过定时器控制寄存器TCON中的IT0、IT1来选择和设定。

IT1为

中断触发方式控制位,当IT1=0,外部中断1控制为电平触发方式。

当IT1=1,外部中断1控制为下降沿触发方式。

4.11

常用的中断函数定义语法如下:

void函数名()interruptn

其中n为中断类型号,C51编译器允许0~31个中断,n取值范围0~31。

习题5答案

5.1单项选择题

(1)C

(2)A(3)C(4)B(5)B

(6)D(7)B(8)C(9)A

5.2

(1)led[k]

(2)delay()

5.3

不能,因为共阴极和共阳极数码管com段接的电平不一样,点亮段码所需的电平也不同。

应该将共阴极数码管的com端接至GND上,P1口和8个段之间接上非门。

5.4

LED静态显示时各位数码管相对独立,公共端恒定接地(共阴极)或正电源(共阳极),每个数码管的8个字段分别与一个8位I/O口地址相连,适合于2个及其以下的数码管显示。

动态显示时各位数码管的段选线相应并联在一起,由一个8位的I/O口控制,各位的段选线由另外的I/O口控制。

5.5

每次只能点亮一行。

其采用的为动态显示,具体原理为:

从第一行开始点亮,每行点亮之间延时1ms,第八行结束后再从第一行开始循环显示。

利用人体的视觉驻留现象,所以看到的是一个稳定的图形,好像8行同时点亮。

5.6

可以采用硬件和软件两种方式,硬件上可在键输出端加RS触发器或单稳态触发器构成去抖电路,软件上可以在检测到有按键按下时,执行一个10ms左右的延时程序,然后确认该键是否仍保持闭合状态的电平。

5.7

独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,适合于八键以下使用;

矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口,适合于八个键以上使用。

习题6答案

6.1单项选择题

(1)D

(2)C(3)A(4)A(5)B(6)D

6.2填空题

(1)分辨率和建立时间

(2)ILE、

(3)模拟,数字;

数字,模拟

6.3

DAC0832与8051单片机接口时,主要有如下控制信号:

ILE、/CS、/WR1、/WR2、/XFER,作用分别是:

转入寄存器片选信号,低电平有效。

(2)ILE:

输入寄存器的数据锁存允许信号,高电平有效。

输入寄存器的数据写信号,低电平有效。

(4)

DAC寄存器写信号,并启动转换。

低电平有效。

(5)

数据向DAC寄存器传送控制信号,传送后即启动转换,低电平有效。

ADC0809与8051单片机接口时,控制信号主要有:

ALE、START、EOC、OE。

作用分别是:

(1)ALE:

地址锁存允许信号在ALE上升沿,ADDA、ADDB、ADDC地址状态被送入地址锁存器中。

(2)START:

转换启动信号。

START上跳沿时,所有内部寄存器清0;

START下跳沿时,开始进行A/D转换;

在A/D转换期间,START应保持低电平。

(3)OE:

输出允许信号。

用于控制三态输出锁存器向单片机输出转换得到的数据。

OE=0,输出数据线呈高电阻;

OE=1,输出转换得到的数据。

(4)EOC——转换结束状态信号。

启动转换后,系统自动设置EOC=0,转换完成后,EOC=1。

该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。

6.4

所谓单缓冲方式就是使0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,或者两个输入寄存器同时受相同的信号控制的方式。

在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出的情况,就可采用单缓冲方式。

所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。

6.5

答:

判断A/D转换是否结束一般可采用3种方式,即EOC信号和单片机相连可有3种方式:

1延时方式:

EOC悬空,启动转换后,延时100μs后读入转换结果。

2查询方式:

EOC接单片机端口线,查得EOC变高,读入转换结果,作为查询信号。

3中断方式:

ROC经非门接单片机的中断请求端,转换结束作为中断请求信号向单片机提出中断申请,在中断服务中读入转换结果。

其中延时方式和查询方式均占用单片机CPU,即在这段时间,CPU只能做延时或查询的工作,而采用中断方式时,CPU可先执行主程序,一旦产生中断,才去处理数据接收的工作,使得CPU利用率较前面两种要高。

6.6

(1)周期为25ms的锯齿波发生器C语言源程序如下:

#include<

absacc.h>

#defineDA0832XBYTE[0x7fff]

#defineucharunsignedchar

#defineuintunsignedint

uchari;

voiddelay_100us()

{TH1=0xff;

//置定时器初值0xff9c,即65436,定时0.1ms

TL1=0x9c;

TR1=1;

//启动定时器1

while(!

TF1);

//查询计数是否溢出,即定时0.1ms时间到,TF1=1

TF1=0;

//0.1ms时间到,将定时器溢出标志位TF清零

voidmain(void)

{TMOD=0x10;

//置定时器1

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

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

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

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