《嵌入式技术基础与实践》习题参考答案.docx

上传人:b****2 文档编号:1958259 上传时间:2022-10-25 格式:DOCX 页数:5 大小:20.83KB
下载 相关 举报
《嵌入式技术基础与实践》习题参考答案.docx_第1页
第1页 / 共5页
《嵌入式技术基础与实践》习题参考答案.docx_第2页
第2页 / 共5页
《嵌入式技术基础与实践》习题参考答案.docx_第3页
第3页 / 共5页
《嵌入式技术基础与实践》习题参考答案.docx_第4页
第4页 / 共5页
《嵌入式技术基础与实践》习题参考答案.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《嵌入式技术基础与实践》习题参考答案.docx

《《嵌入式技术基础与实践》习题参考答案.docx》由会员分享,可在线阅读,更多相关《《嵌入式技术基础与实践》习题参考答案.docx(5页珍藏版)》请在冰豆网上搜索。

《嵌入式技术基础与实践》习题参考答案.docx

《嵌入式技术基础与实践》习题参考答案

第1章概述习题参考答案

1.嵌入式系统的基本含义是什么?

为什么说单片机是典型的嵌入式系统?

答:

即的含义是:

在一块芯片上集成了中央处理单元()、存储器(等)、定时器/计数器及多种输入输出()接口的比较完整的数字处理系统。

大部分嵌入式系统以为核心进行设计。

从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。

因此以为核心的系统是应用最广的嵌入式系统。

2.简述嵌入式系统的特点以及应用领域。

答:

嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。

一般用于工业控制,智能家电,日常电子等领域。

4.比较与的区别与联系。

答:

是一个单独的处理器。

而,则有微处理器,存储器(等)、定时器/计数器及多种输入输出()接口的比较完整的数字处理系统。

所以可以这么说,是一个包含微处理器的嵌入式系统,而紧紧是一个处理器而已。

第2章08微控制器习题参考答案

1.给出60存储器映像的简要说明。

答:

所谓存储器映像,是指地址$0000~$这个64空间,哪些地址被何种存储器所占用,或者说60的、、映像寄存器各使用$0000~$这个64空间中的哪些地址。

简单地说,就是$0000~$这个64空间是如何分配的。

2.60的引脚主要分为哪几类?

简要说明主要引脚的功能。

答:

(1)电源类信号引脚

(2)复位信号引脚(3)主要功能模块引脚。

比如定时器,中断等。

(4)其他,比如背景调试引脚

主要引脚:

60最小系统连接的口,以及各具体功能口。

3.嵌入式系统中和作用分别是什么?

答:

一般来说这个区域安排用户数据(主要是全局变量)和堆栈空间;

要用于存储程序、常数、中断向量等。

4.给出60的硬件最小系统。

答:

60芯片的硬件最小系统包括电源及其滤波电路、复位电路、晶振电路及滤

波电路、写入器接口电路。

5.指出下列指令中的源操作数和目的操作数的寻址方式。

(1)#$80,$80

(2)$80,$A0

(3)$80,(4),$80

(5)$80,X

答:

(1)立即寻址,直接寻址

(2)直接寻址,直接寻址

(3)直接寻址,无偏移量变址、变址加1寻址方式

(4)无偏移量变址、变址加1寻址方式,直接寻址

(5)直接寻址,无偏移量变址、变址加1寻址方式

8.说明芯片初始化时堆栈指针的初始化方法。

答:

是指向下一个栈地址的16位寄存器,堆栈指针采用递减的结构,即进栈

减1,出栈时加1。

初始化时,的初值为$00(前置符号$表示十六进制数)。

栈指针复位指令()可将的低8位置为$,而不影响高8位。

10.编写一段延时1000个指令周期的延时子程序。

答:

1000;

R7#248

R7$

R7#250

R74

第3章第一个样例程序及工程组织习题参考答案

1.什么叫通用口?

答:

所谓通用,也记为(),即基本的输入/输出,有时也称并行,或普通,它是的最基本形式。

2.什么叫上拉电阻与下拉电阻?

它们的作用是什么?

如何选择上拉电阻与下拉电阻的阻值?

哪些情况下使用上拉电阻?

哪些情况下使用下拉电阻?

答:

通俗地说,若的某个引脚通过一个电阻接到电源()上,这个电阻被称为“上拉电阻”。

与之相对应,若的某个引脚通过一个电阻接到地()上,则相应的电阻被称为“下拉电阻”;他们使得悬空的芯片引脚被上拉电阻或下拉电阻初始化为高电平或低电平;根据实际情况,上拉电阻与下拉电阻可以取值在1KΩ~10KΩ之间,其阻值大小与静态电流及系统功耗相关;当某个引脚需要初始化成高电平时可以通过上拉电阻接电源,当某个引脚要初始化低电平时可以通过下拉电阻接地。

3.什么是输出?

为什么输出的口一定要上拉?

答输出,即开漏输出,即集电极开路。

只有接了上拉电阻,才能输出高低电平,否则只能输出低电平了。

4.为什么在无操作系统的嵌入式系统软件主程序中使用无限循环?

答:

由于程序都是顺序执行的。

如果不使用无限循环,程序执行一遍代码,就不能在接受其他的任务操作了。

在嵌入式系统中,这是致命的,如果一个嵌入式产品每次只能使用一次或只接受一次任务,那是无法想象的。

但是使用了无限循环,就可以不停地监听任务,并执行。

5.找出样例子工程的机器码文件,解释S19文件的含义。

答:

源文件经编译、连接后可获得目标码文件(19文件),它是的机器码文件,通过写入程序可将机器码下载到目标内的存储器,也可以通过光盘中苏州大学嵌入式系统研发中心开发的独立写入软件08读出写入到的S19的内容,观察实际写入到的内容是否和S19的内容相同。

该程序也可以擦写。

目标代码文件是以S记录格式表示的机器码文件。

S记录格式是公司的十六进制目标代码文件,它将目标程序和数据以码格式表示,可直接显示和打印。

目标文件由若干行S记录构成,每行S记录可以用结尾。

一行S记录由五部分组成,具体细节请参考书中3.4.4。

6.举例给出环境C语言工程文件的组织结构图。

答:

以下是控制小灯闪烁的环境C语言工程文件的组织结构图。

7.分析文件的功能。

答:

文件主要实现了芯片的和的定义,初始化中的变量。

初始化堆栈的大小。

定义复位向量,即应用程序的默认入口。

还包含了启动代码,是硬件复位后的函数入口

第4章基于硬件构件的嵌入式系统开发方法

3.为什么要将某些寄存器名和寄存器位在头文件中进行宏定义?

答:

对内的模块寄存器名和端口名进行重定义,在其它的代码里面都将使用宏名对模块寄存器和端口进行操作。

这样,当底层驱动程序移植到其它时,只要修改重定义语句就可以了。

4.为什么在设计底层硬件驱动构件时,不能使用全局变量?

答:

应用程序在使用底层构件时,严格禁止通过全局变量来传递参数,所有的数据传递都要通过函数的形式参数来接收。

这样做不但使得接口简洁,更加避免了全局变量可能引发的安全隐患。

第5章串行通信接口习题参考答案

1.简要阐述异步串行通信涉及的主要基本概念。

答:

串行通信至少涉及到以下几个基本概念:

第一,每个字节之间是如何区分开的?

第二,发送一位的持续时间是多少?

第三,怎样知道传输是正确的?

第四,可以传输多远?

这些问题属于串行通信的基本概念。

2.表征串行通信速度的物理量是什么?

串行通信的传输速度有限制吗?

答:

位长(),也称为位的持续时间()。

其倒数就是单位时间内传送的位数。

人们把每秒内传送的位数叫做波特率()。

波特率的单位是:

位/秒,记为。

是英文的缩写,习惯上这个缩写不用大写,而用小写。

通常情况下,波特率的单位可以省略。

通常使用的波特率有600、900、1200、1800、2400、4800、9600、19200、38400、57600、115200、128000等。

有限制。

因为随着波特率的提高,位长变小,以至于很容易受到电磁源的干扰,通信就不可靠了。

当然,还有通信距离问题,距离小,可以适当提高波特率,但这样毕竟提高的幅度非常有限,达不到大幅度提高的目的。

3.与进行通信为什么要进行电平转换?

如何进行电平转换?

答:

在中,若用232总线进行串行通信,则需外接电路实现电平转换。

在发送端,需要用驱动电路将电平转换成232电平;在接收端,需要用接收电路将232电平转换为电平。

电平转换器不仅可以由晶体管分立元件构成,也可以直接使用集成电路。

目前广泛使用232芯片较多,该芯片使用单一+5V电源供电实现电平转换。

4.给出编程的通用模型。

答:

具有初始化、接收和发送三种基本操作。

按照构件的思想,可将它们封装成三个独立的功能函数,初始化函数完成对模块的工作属性的设定,接收和发送功能函数则完成实际的通信任务。

以的初始化、接收和发送三种基本操作为例,来说明实现构件化的全过程。

(1)模块是最底层的构件,它主要向上提供三种服务,分别是模块的初始化、接收单个字节和发送单个字节,向下则直接访问模块寄存器,实现对硬件的直接操作。

另外,从现实使用角度出发,它还需要封装接收N个字节和发送N个字节的子功能函数。

(2)模块在软件上对应1个程序源代码文件和1个头文件,当需要对它进行移植时,大多数情况下只需简单拷贝这两个文件即可,无需对源代码文件和头文件进行修改,只有当实施不同芯片之间的移植时,才需要修改头文件中与硬件相关的宏定义。

(3)上层构件或软件在使用该构件时,严格禁止通过全局变量来传递参数,所有的数据传递都直接通过函数的形式参数来接收。

这样做不但使得接口简洁,更加避免了全局变量可能引发的安全隐患。

5.简述中断的作用与处理过程。

答中断是实时地处理内部或外部事件的一种内部机制。

当某种内部或外部事件发生时,中断系统将迫使暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。

中断的处理过程一般为:

关中断(在此中断处理完成前,不处理其它中断)、保护现场、执行中断服务程序、恢复现场、开中断等。

6.S08系列都有哪些中断源?

答:

S08系列有26个中断源,按优先级从高到低的顺序分别是:

复位中断(1个)、指令中断(1个)、引脚中断(1个)、低电压检测中断(1个)、中断(1个)、定时器中断(10个)、中断(1个)、中断(6个)、键盘输入中断(1个)、转换完成中断(1个)、中断(1个)和实时中断(1个)。

26个中断源只有18个中断向量,有的是几个中断源使用同一个中断向量。

7.S08系列的中断执行过程分为哪几个步骤?

答:

每执行完一条指令,若程序有开放某些中断及总中断(使用指令),则按照优先级次序查询所有中断标志位,若某个中断已发生,则响应该中断请求。

中断响应过程是:

(1)内的寄存器、、X、A、依次进栈(注意H未被保护,这是为了与05系列兼容,所以必要时,H应由用户中断服务程序保护);

(2)自动关总中断(即相当于自动执行指令),防止其他中断进入;

(3)从相应的中断向量地址取出中断向量(即中断服务程序的入口地址)送给;

(4)执行中断服务程序,直到执行中断返回指令。

指令从堆栈中依次弹出、A、X、、,使返回原来中断处继续执行;

(5)若中断过程也允许响应新的中断,可在中断服务程序中用指令开放中断。

一般不建议这样做,可用其他编程技巧处理相关问题。

8.给出60中断编程框架与基本步骤。

答:

在环境下使用60芯片中断步骤是:

在中,依照“关总中断→开模块中断→开总中断”的顺序打开模块中断;在文件中,编写中断服务程序,修改中断向量表;按照这种思路,编程的基本步骤可以概括为3步:

(1)新建(或者复制)一个文件,并加入工程中。

(2)定义中断向量表(复制的应修改中断向量表)。

(3)定义并在中断向量表中填入相应的名称。

如中断处理函数文件()之中的函数1()的定义。

第6章的应用实例—键盘、与

1.为了实现对键盘的编程,至少应该考虑哪几个方面的问题?

分别如何解决?

答:

课本141

4.简述字符型液晶显示控制器44780的编程结构。

答:

从编程角度看,44780内部主要由指令寄存器()、数据寄存器()、忙标志()、地址计数器()、显示数据寄存器()、字符发生器()、字符发生器()及时序发生电路构成。

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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