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

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

单片机习题参考答案

第1章概述习题参考答案

1.嵌入式系统的基本含义就是什么?为什么说单片机就是典型的嵌入式系统?答:即MCU的含义就是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都就是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统就是应用最广的嵌入式系统。

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

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

3.比较MCU与CPU的区别与联系。

答:CPU就是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU就是一个包含微处理器的嵌入式系统,而CPU紧紧就是一个处理器而已。

4.举例说明嵌入式系统在日常生活中的应用。

答:日常数码产品:手机,MP3,U盘,相机等。

日常工业类:冰箱,空调,微波炉,汽车等。

5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。

答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。

6.阅读光盘中【第01章(概述)阅读资料】中的“嵌入式C语言工程简明规范”,用一页纸给出嵌入式C语言工程简明规范的要点。

答:此规范主要针对单片机编程语言与08编译器而言,包括命名、注释、编码规范性等内容。建议在一个工程或者一个项目中尽量遵循相同的代码规范,而不就是说您只能拥有一个代码规范。

(1)命名规则:命名清晰明了,有明确含义,使用完整单词或约定俗成的缩写。通常,较短的单词可通过去掉元音字母形成缩写;较长的单词可取单词的头几个字母形成缩写。即

"见名知意";命名风格要自始至终保持一致;命名中若使用特殊约定或缩写,要有注释说明;为了代码复用,命名中应避免适用与具体项目相关的前缀;应使用英语命名。

(2)注释:注释基本原则就就是有助于对程序的阅读理解,说明程序在"做什么",解释代码的目的、功能与采用的方法。一般情况源程序有效注释量在30%左右。注释语言必须准确、易懂、简洁。边写代码边注释,修改代码同时修改相应的注释,不再有用的注释要删除。汇编与C中都用"//",取消";" 不使用段注释" /* */ "(调试时可用)。

使用文件注释必须说明文件名、项目名称、函数功能、创建人、创建日期、版本信息等相关信息。修改文件代码时,应在文件注释中记录修改日期、修改人员,并简要说明此次修改的目的。所有修改记录必须保持完整。文件注释放在文件顶端,用"/*……*/"格式包含。注

释文本每行缩进4个空格;每个注释文本分项名称应对齐。

函数头部注释应包括函数名称、函数功能、入口参数、出口参数等内容。如有必要还可增加作者、创建日期、修改记录(备注)等相关项目。函数头部注释放在每个函数的顶端,用"/*……*/"的格式包含。其中函数名称应简写为FunctionName(),不加入、出口参数等信息。

代码注释应与被注释的代码紧邻,放在其上方或右方,不可放在下面。如放于上方则需与其上面的代码用空行隔开。一般少量注释应该添加在被注释语句的行尾,一个函数内的多个注释左对齐;较多注释则应加在上方且注释行与被注释的语句左对齐。通常,分支语句(条件分支、循环语句等)必须编写注释。其程序块结束行"}"的右方应加表明该程序块结束的标记"end of ……", 尤其在多重嵌套时。

同一类型的标识符应集中定义,并在定义之前一行对其共性加以统一注释。对单个标识符的注释加在定义语句的行尾。全局变量一定要有详细的注释,包括其功能、取值范围、哪些函数或过程存取它以及存取时的注意事项等。注释用"//…//"的格式。

(3)编码规范性:代码的每一级均往右缩进4个空格的位置;不使用Tab键,建议使用空格代替tab键,这样代码打印不回造成错乱;相对独立的程序块之间要加空行;括号内侧(即左括号后面与右括号前面)不加空格,多重括号间不加空格。如:SetName(GetFunc());

函数形参之间应该有且只有一个空格(形参逗号后面加空格),如:

CallFunction(para1, para2, para3),而CallFunction(para1,para2,para3) 不符合要求; 操作符前后均加一个空格,如: nSum = nNunm1 + nNum2 。而nSum=nNunm1+nNum2 则不符合要求;单目操作符,如"!"、"~"、"++"、"-"、"&"(地址运算符)等,后面不加空格,如:i++ ,pName = &name,bRes = !(x < 10);if、else if、else、for、while语句无论其执行体就是一条语句还就是多条语句都必须加花括号,且左右花括号各独占一行;Switch 语句必须包含default 分支;一个函数不要超过80行代码。

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

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

答:所谓存储器映像,就是指地址$0000 ~ $FFFF这个64KB空间,哪些地址被何种存储器所占用,或者说AW60的RAM、Flash、I/O映像寄存器各使用$0000 ~ $FFFF这个64KB空间中的哪些地址。简单地说,就就是$0000 ~ $FFFF这个64KB空间就是如何分配的。

2.AW60的引脚主要分为哪几类?简要说明主要引脚的功能。

答:(1)电源类信号引脚

(2)复位信号引脚

(3)主要功能模块引脚。比如定时器,IRQ中断等。

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

主要引脚:AW60最小系统连接的I/O口,以及各具体功能I/O口。

3.嵌入式系统中RAM与Flash作用分别就是什么?

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

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

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

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

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

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

(1) MOV #$80 , $80 (2) MOV $80,$A0

(3) MOV $80 , X+ (4) MOV X+ , $80

(5) LDA $80 , X

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

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

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

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

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

6.说明跳转指令BRA与JMP的差别。

答:BRA就是无条件相对转移指令,转移范围就是前127字节、后128字节。而JMP则就是绝对地址跳转指令。

7.哪些指令影响堆栈指针?如何影响?

答:PSH,PUL 。前者就是向堆栈中放入,指针减1,向上移;而PUL刚好相反,指针加

1,向下移。

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

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

SP减1,出栈时SP加1。初始化时,SP的初值为$00FF(前置符号$表示十六进制数)。栈指针复位指令(RSP)可将SP的低8位置为$FF,而不影响高8位。

9.写出主要汇编伪指令?

答:变量定义(变量声明)

数字常数与字符串常数定义

常数赋值与文本替代符伪指令

指令存储定位伪指令

文件包含伪指令

宏定义与宏调用伪指令

定义存储区域伪指令

具体细节请参照2、7、2节

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

MOV R7#248

DJNZ R7$

MOV R7#250

DJNZ R74

RET

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

1.什么叫通用I/O口?

答:所谓通用I/O,也记为GPIO(General Purpose I/O),即基本的输入/输出,有时也称并行I/O,或普通I/O,它就是I/O的最基本形式。

2. 什么叫上拉电阻与下拉电阻?它们的作用就是什么?如何选择上拉电阻与下拉电阻的阻值?哪些情况下使用上拉电阻? 哪些情况下使用下拉电阻?

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

3.什么就是OC输出?为什么OC输出的I/O口一定要上拉?

答:OC输出,即开漏输出,即集电极开路。只有接了上拉电阻,才能输出高低电平,否则只能输出低电平了。

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

答:由于程序都就是顺序执行的。如果不使用无限循环,程序执行一遍代码,就不能在接受其她的任务操作了。在嵌入式系统中,这就是致命的,如果一个嵌入式产品每次只能使用一次或只接受一次任务,那就是无法想象的。但就是使用了无限循环,就可以不停地监听任务,并执行。

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

答:源文件经编译、连接后可获得目标码文件(、S19文件),它就是Freescale MCU的机器码文件,通过写入程序可将机器码下载到目标MCU内的Flash存储器,也可以通过光盘中苏州大学嵌入式系统研发中心开发的独立写入软件SD-Programmer-S08读出写入到Flash的S19的内容,观察实际写入到Flash的内容就是否与S19的内容相同。该程序也可以擦写Flash。目标代码文件就是以S记录格式表示的机器码文件。S记录格式就是Freescale公司的十六进制目标代码文件,它将目标程序与数据以ASCII码格式表示,可直接显示与打印。目标文件由若干行S记录构成,每行S记录可以用CR/LF/NUL结尾。一行S记录由五部分组成,具体细节请参考书中3、4、4 。

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

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

7.分析Project、prm文件的功能。

答:Project、prm文件主要实现了芯片的RAM与ROM的定义,初始化RAM中的变量。初始化堆栈的大小。定义复位向量,即应用程序的默认入口。还包含了启动代码,就是硬件复位后的函数入口。

8.如何查瞧一个文件、LST文件,举例分析一个LST文件。

答:利用Freescale Codewarrior打开控制小灯闪烁工程文件,通过edit-standard settings-target –compiler for HC08-option-output-generate Listing File点击确定编译连接可以生成、LST文件。然后在该工程的bin文件夹中可以找、LST文件,通过Freescale Codewarrior 打开main、lst 文件。瞧下面的一段代码:

26:Light_Init(Light_Run_PORT,Light_Run,Light_OFF); //指示灯初始化

004c a606 [2] LDA #6

004e 87 [2] PSHA

004f 5f [1] CLRX

0050 4f [1] CLRA

0051 cd0000 [6] JSR Light_Init

0054 8a [3] PULH

26: Light_Init(Light_Run_PORT,Light_Run,Light_OFF)就是C程序代码;

004c a606

004e 87

0050 4f

0051 cd0000

004f 5f

0054 8a

就是该程序的机器代码;其后面的对应的就是汇编程序代码。

9.如何能知道一段或一句C语言源程序的汇编代码与机器码,举例之。

答:请参考第8题。

10.给出一个C语言控制三盏小灯的程序,并调试,功能自定。

答:请参考课本中3、5及随书光盘。

11.给出一个S08汇编语言控制三盏小灯的程序,并调试,功能自定。

答:请参考课本中3、6及随书光盘。

12.分析一个map文件,简要说明map文件给了我们什么信息?

答:打开工程后,展开“工程设置文件夹”后,再展开“Linker Files”文件夹,可以瞧到“Project、map”文件,通常称之为工程的“映像文件”,这个文件告诉我们,源代码被编译连接后的机器码,到底被下载到MCU内存储器中的什么地方,在高级调试时,可能需要

用到这些知识。

第4章基于硬件构件的嵌入式系统开发方法习题参考答案

1.简要阐述嵌入式硬件构件的基本思想及优点。

答:嵌入式硬件构件就是指将一个或多个硬件功能模块、支撑电路及其功能描述封装成一个可重用的硬件实体,并提供一系列规范的输入/输出接口。优点:结构清晰,方便移植。

2.硬件构件如何分类?给出各类硬件构件的定义及原理图设计要点。

答:根据所拥有接口类型的不同,硬件构件分为核心构件、中间构件与终端构件三种类型。

核心构件只有提供接口,没有需求接口。也就就是说,它只为其它硬件构件提供服务,而不接受服务。在以单MCU为核心的嵌入式系统中,MCU的最小系统就就是典型的核心构件。中间构件既有需求接口又有提供接口,即它不仅能够接受其它构件提供的服务,而且也能够为其它构件提供服务。而终端构件只有需求接口,它只接受其它构件提供的服务。

设计核心构件时,需考虑的问题就是:“核心构件能为其她构件提供哪些信号?”核心构件设计的目标就是:凡就是使用该MCU进行硬件系统设计时,核心构件可以直接“组装”到系统中,无须任何改动。为了实现这一目标,在设计核心构件的实体时必须考虑细致、周全,包括稳定性、扩展性等,封装要完整。

设计中间构件时,需考虑的问题就是:“中间构件需要接受哪些信号,以及提供哪些信号?”为直观起见,设计中间构件时,将构件的需求接口放置在构件实体的左侧,提供接口放置在右侧。

设计终端构件时,需考虑的问题就是:“终端构件需要什么信号才能工作?”。终端构件没

有提供接口,它仅有与上一级构件交互的需求接口,因而接口标识均为斜体标注的接口注释。3.为什么要将某些寄存器名与寄存器位在头文件中进行宏定义?

答:对MCU内的模块寄存器名与端口名进行重定义,在其它的代码里面都将使用宏名对模块寄存器与端口进行操作。这样,当底层驱动程序移植到其它MCU时,只要修改重定义语句就可以了。

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

答:应用程序在使用底层构件时,严格禁止通过全局变量来传递参数,所有的数据传递都要通过函数的形式参数来接收。这样做不但使得接口简洁,更加避免了全局变量可能引发的安全隐患。

5.给出设计底层硬件驱动构件的基本原则,并举例说明。

答:在对底层构件进行设计时,最关键的工作就是要对构件的共性与个性进行分析,抽取出构件的属性与对外接口函数。尽量做到:当一个底层构件应用到不同系统中时,仅需修改构件的头文件,对于构件的源程序文件则不必修改或改动很小。

例如,串行通信模块SCI就是大多数MCU都具有的内部模块。仔细分析各种MCU串行通信程序发现:在查询方式下,各种MCU都就是根据状态寄存器中的两个标志位来判断就是否接收到数据与数据就是否发送完毕,这就就是SCI模块的共性。对于不同的MCU,该状态寄存器的名称可能不同,这两个标志位的位号也有可能不同。此外,用以设置波特率、通信格式、就是否校验、就是否允许中断等参数的寄存器也不同,这就就是SCI模块的个性。分析出了共性与个性之后,就可以抽取出SCI构件的属性与操作,编制构件头文件与程序文件了。

6.什么叫程序复用?什么叫程序移植?怎样才能方便重用与移植。

答:复用就是指在一个系统中,同一构件可被重复使用多次。移植就是指将一个系统中使用到的构件应用到另外一个系统中;在设计时最关键的工作就是要对构件的共性与个性进行分析,抽取出构件的属性与对外接口函数,设计就是充分考虑这几放面的因素,才能方便重用与移植。7.怎样方便驱动程序进行移植?

答:首先对外接口函数设计要合理,其次要对MCU内的模块寄存器名与端口名进行重定义,在其它的代码里面都将使用宏名对模块寄存器与端口进行操作。这样,当底层驱动程序移植到其它MCU时,只要修改重定义语句就可以了,这就方便了驱动程序的移植。

8.阐述利用硬件构件思想设计嵌入式应用系统时应该遵循的基本原则。

答: 应当遵循以下基本规则:

(1)构件的头文件与源程序文件的主文件名一致,且为构件名。

(2)属性与操作的命名统一以构件名开头。这样做的好处就是:当使用底层构件组装软件系统时,避免构件之间出现同名现象。同时,名称要使人有“顾名思义”的效果。

(3)对MCU内的模块寄存器名与端口名进行重定义,在其它的代码里面都将使用宏名对模块寄存器与端口进行操作。这样,当底层驱动程序移植到其它MCU时,只要修改重定义语句就可以了。

(4)内部函数与外部函数要设计合理,函数参数个数及类型要考虑全面。内部函数仅提供给同一构件中的其它内部函数或外部函数调用,作用域仅限于定义该函数的文件。外部函数就是对外接口函数,供上层应用程序调用。在定义外部函数时,应该对函数名、函数功能、入口参数、函数返回值、使用说明、函数适用范围等进行详细描述,以增强程序的可读性。上层应用程序不能直接对构件的属性进行读取或设置,必须借助于该构件提供的接口操作函数来实现。

(5)应用程序在使用底层构件时,严格禁止通过全局变量来传递参数,所有的数据传递都要通过函数的形式参数来接收。这样做不但使得接口简洁,更加避免了全局变量可能引发的安全隐患。

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

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

答:串行通信至少涉及到以下几个基本概念:第一,每个字节之间就是如何区分开的?第二,发送一位的持续时间就是多少?第三,怎样知道传输就是正确的?第四,可以传输多远?这些问题属于串行通信的基本概念。

2.表征串行通信速度的物理量就是什么?串行通信的传输速度有限制不?

答:位长(Bit Length),也称为位的持续时间(Bit Duration)。其倒数就就是单位时间内传送的位数。人们把每秒内传送的位数叫做波特率(Baud Rate)。波特率的单位就是:位/秒,记为bps。bps就是英文bit per second的缩写,习惯上这个缩写不用大写,而用小写。通常情况下,波特率的单位可以省略。通常使用的波特率有600、900、1200、1800、2400、4800、9600、19200、38400、57600、115200、128000等。

有限制。因为随着波特率的提高,位长变小,以至于很容易受到电磁源的干扰,通信就不可靠了。当然,还有通信距离问题,距离小,可以适当提高波特率,但这样毕竟提高的幅度非常有限,达不到大幅度提高的目的。

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

答:在MCU中,若用RS-232总线进行串行通信,则需外接电路实现电平转换。在发送端,需要用驱动电路将TTL电平转换成RS-232电平;在接收端,需要用接收电路将RS-232电平转换为TTL电平。电平转换器不仅可以由晶体管分立元件构成,也可以直接使用集成电路。目前广泛使用MAX232芯片较多,该芯片使用单一+5V电源供电实现电平转换。

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

答:SCI具有初始化、接收与发送三种基本操作。按照构件的思想,可将它们封装成三个独立的功能函数,初始化函数完成对SCI模块的工作属性的设定,接收与发送功能函数则完成实际的通信任务。以SCI的初始化、接收与发送三种基本操作为例,来说明实现构件化的全过程。

(1)SCI模块就是最底层的构件,它主要向上提供三种服务,分别就是SCI模块的初始化、接收单个字节与发送单个字节,向下则直接访问模块寄存器,实现对硬件的直接操作。另外,从现实使用角度出发,它还需要封装接收N个字节与发送N个字节的子功能函数。

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

(3)上层构件或软件在使用该构件时,严格禁止通过全局变量来传递参数,所有的数据传递都直接通过函数的形式参数来接收。这样做不但使得接口简洁,更加避免了全局变量可能引发的安全隐患。

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

答:中断就是MCU实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。中断的处理过程一般为:关中断(在此中断处理完成前,不处理其它中断)、保护现场、执行中断服务程序、恢复现场、开中断等。

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

答:S08系列MCU有26个中断源,按优先级从高到低的顺序分别就是:复位中断(1个)、SWI指令中断(1个)、IRQ引脚中断(1个)、低电压检测中断(1个)、ICG中断(1个)、定时器中断(10个)、SPI中断(1个)、SCI中断(6个)、键盘输入中断(1个)、ADC转换完成中断(1个)、IIC中断(1个)

与实时中断(1个)。26个中断源只有18个中断向量,有的就是几个中断源使用同一个中断向量。

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

答:CPU每执行完一条指令,若程序有开放某些中断及总中断(使用CLI指令),则CPU按照优先级次序查询所有中断标志位,若某个中断已发生,则响应该中断请求。中断响应过程就是: (1)CPU内的寄存器PCL、PCH、X、A、CCR依次进栈(注意H未被保护,这就是为了与HC05系列MCU兼容,所以必要时,H应由用户中断服务程序保护);

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

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

(4)执行中断服务程序,直到执行中断返回指令RTI。RTI指令从堆栈中依次弹出CCR、A、X、PCH、PCL,使CPU返回原来中断处继续执行;

(5)若中断过程也允许响应新的中断,可在中断服务程序中用CLI指令开放中断。一般不建议这样做,可用其她编程技巧处理相关问题。

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

答:在CW环境下使用AW60芯片中断步骤就是:在main、c中,依照“关总中断→开模块中断→开总中断”的顺序打开模块中断;在isr、c文件中,编写中断服务程序,修改中断向量表;按照这种思路,编程的基本步骤可以概括为3步:

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

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

(3)定义ISR并在中断向量表中填入相应ISR的名称。如中断处理函数文件(isr、c)之中的函数interrupt void SCI1_Recv(void)的定义。

9.用一种高级语言实现PC方串行数据收发的通用程序(要求:从PC方发送数据A 到MCU,MCU收到后,判断就是否就是A,若就是,回发给PC机,在PC机显示“串行口正常”,若不就是,则在PC机显示“通信有误”。)

参见随书光盘的习题参考解答程序。

10.在上一题测试的基础上编写通信程序,实现如下功能:通过PC机发送一个命令以控制接在PTA0~PTA7口的8个小灯亮暗状态,各个小灯初始状态都为暗,首先进行通信测试,PC机发送“A”(65),若MCU接收到则8个小灯全亮,并回送字符“A”(65),虽然MCU接收到但有问题,不就是“A”(65),说明有误码,则4个小灯全亮,并回送字符“0”(48),否则8个小灯全暗无反应,通信测试成功后进入控制状态,PC 机发送字符串“11”,PTA0口灯亮;发送“10”,PTA0口灯暗;发送“21”,PTA1口灯亮;发送“20”,PTA1口灯暗;依此类推,当给PTA口发送“01”,8个小灯全亮,发送“00”,全暗。参见随书光盘的习题参考解答程序。

第6章GPIO的应用实例—键盘、LED与LCD 习题参考答案

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

答:第一,如何识别键盘上的按键?

第二,如何区分按键就是否真正地被按下,还就是抖动?

第三,如何处理重键问题?

(1)键的识别

如何知道键盘上哪个键被按下就就是键的识别问题。若键盘上闭合键的识别由专用硬件实现,称为编码键盘;而靠软件实现的称为未编码键盘。在这里主要讨论未编码键盘的接口技术与键盘输入程序的设计。识别就是否有键被按下,主要有查询法、定时扫描法与中断法等。而要识别键盘上哪个键被按下主要有行扫描法与行反转法。

(2)抖动问题

当键被按下时,会出现所按的键在闭合位置与断开位置之间跳几下才稳定到闭合状态的情况,当释放一个按键时也会出现类似的情况,这就就是抖动问题。抖动持续的时间因操作者而异,一般为5~10ms之间,稳定闭合时间一般为十分之几秒~几秒,由操作者的按键动作所确定。在软件上,解决抖动的方法通常就是延迟等待抖动的消失或多次识别判定。

(3)重键问题

所谓重键问题就就是有两个及两个以上按键同时处于闭合状态的处理问题。在软件上,处理重键问题通常有连锁法与巡回法。

2.编程:对于键盘程序,样例中使用的就是中断法。请用查询法实现键盘功能。

答:略。

3.简述扫描法LED显示编程原理。

答:略。具体参见本章6、2、1。

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

答:从编程角度瞧,HD44780内部主要由指令寄存器(IR)、数据寄存器(DR)、忙标志(BF)、地址计数器(AC)、显示数据寄存器(DD RAM)、字符发生器ROM(CG ROM)、字符发生器RAM(CG RAM)及时序发生电路构成。

5.编程:在LCD上同步显示PC时间。

答:略。

第7章定时器模块习题参考答案

1.实现计数与定时的基本方法有哪些?比较它们的优缺点。

答:实现计数与定时的基本方法有三种:完全硬件方式、完全软件方式与可编程计数器/定时器方法。其中完全硬件方式速度快,但通用性与灵活性差;完全软件方式的优点就是节省硬件。主要缺点就是执行延时程序期间,CPU一直被占用,所以降低了CPU的使用效率,也不容易提供多作业环境;可编程计数器/定时器方法的最突出的优点就是计数时不占用CPU的时间。

2.简述AW60定时器模块的定时功能就是如何实现的。

答:在AW60定时器的内部有状态与控制寄存器,通过对它某些位的设置,就可以确定多少时间计数器加1,即定时间隔。通过对状态与控制寄存器的某位进行设置,可以决定在计数器溢出时,就是否允许中断。利用这样的中断,可以编写中断例程,实现预设的功能。在定时器内部还有个预置寄存器,当计数器的值等于预置寄存器的值时,称为计数器溢出,当计数器溢出时,计数器的值被赋0,同时将计数器溢出标志等状态置于状态与控制寄存器中。使用预置计数功能可以得到精确的溢出时间,可以在任何时候暂停或清除计数器的计数(溢出功能就是定时器的最基本的功能)。

3.定时器模块的核心就是什么,为什么?

答:定时器模块的核心就是计数器。计数器装载预置的初始计数值之后,启动会以预设的频率进行加一或者减一的运作,当其值变化到0(溢出到0或者减到0)时,即完成了定时的功能,其定时的时长取决于预置的初始计数值与预设的频率。

4.设计并编程:仿照本章给出的定时器1通道0输入捕捉中断里程,捕捉两路输入信号,分别用相应的指示灯指示。

请参考随书光盘内的习题解答程序。

5.比较AW60定时器模块实现输出比较功能与PWM功能的异同点。

答:PWM产生一个在高电平与低电平之间重复交替的输出信号,这个信号被称为PWM信号,也叫脉宽调制波。通过指定所需的时钟周期与占空比来控制高电平与低电平的持续时间。通常定义占空比为信号处于高电平的时间(或时钟周期数)占整个信号周期的百分比,方波的占空比就是50%。脉冲宽度就是指脉冲处于高电平的时间。PWM的另一个常见用途就是控制输入到某个设备的平均电流或电压。PWM的常见应用就是为其她设备产生类似于时钟的信号。因为S08就是8位MCUs系列,定时器通道寄存器的设置被缓存起来,以确保连续16位数据更新,并避免出现意外的PWM脉冲宽度。写TPMxCnVH或TPMxCnVL中的任意一个寄存器,也就就是写缓冲寄存器。在边沿对齐模式下,只有在一个16位寄存器的两个8位字节都被写入后,且TPMxCNTH:TPMxCNTL计数器中的值为0x0000,计数值被转移至相应的定时器通道寄存器(直到下一个整周期新的占空比才有效)。

6.综合设计:利用输入捕捉功能,只用定时器的一个通道,测量一路输入,将输入信号的电平(只区分高低)随时间变化的情况以图形方式显示在PC屏幕上。

请参考随书光盘内的习题解答程序。

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

单片机习题参考答案 第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM 等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 4.举例说明嵌入式系统在日常生活中的应用。 答:日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。6.阅读光盘中【第01章(概述)阅读资料】中的“嵌入式C语言工程简明规范”,用一页纸给出嵌入式C语言工程简明规范的要点。 答:此规范主要针对单片机编程语言和08编译器而言,包括命名、注释、编码规范性等内容。建议在一个工程或者一个项目中尽量遵循相同的代码规范,而不是说你只能拥有一个代码规范。 (1)命名规则:命名清晰明了,有明确含义,使用完整单词或约定俗成的缩写。通常,较短的单词可通过去掉元音字母形成缩写;较长的单词可取单词的头几个字母形成缩写。即"见名知意";命名风格要自始至终保持一致;命名中若使用特殊约定或缩写,要有注释说明;为了代码复用,命名中应避免适用与具体项目相关的前缀;应使用英语命名。 (2)注释:注释基本原则就是有助于对程序的阅读理解,说明程序在"做什么",解释代码的目的、功能和采用的方法。一般情况源程序有效注释量在30%左右。注释语言必须准确、易懂、简洁。边写代码边注释,修改代码同时修改相应的注释,不再有用的注释要删除。汇编和C中都用"//",取消";" 不使用段注释" /* */ "(调试时可用)。 使用文件注释必须说明文件名、项目名称、函数功能、创建人、创建日期、版本信息等相关信息。修改文件代码时,应在文件注释中记录修改日期、修改人员,并简要说明此次修改的目的。所有修改记录必须保持完整。文件注释放在文件顶端,用"/*……*/"格式包含。

arm嵌入式系统基础教程课后答案.doc

arm 嵌入式系统基础教程课后答案【篇一:arm 嵌入式系统基础教程习题答案周立功】 /p> 1 、举出3 个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的 专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(embedded microprocessor unit, empu) 嵌入式微控制器(microcontroller unit, mcu) 嵌入式dsp 处理器(embedded digital signal processor, edsp) 嵌入式片上系统(system on chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实 时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了 开发周期。再次,嵌入式实时操作系统充分发挥了32 位cpu 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务 是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结 束项目 4 个阶段。识别需求阶段的主要任务是确认需求,分析投资 收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定 期监控进展,分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系 统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行 的初期,在客户和开发团队都还未投入大量资源之前,风险的评估

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

第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM 等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 4.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 第2章FreescaleS08微控制器习题参考答案 1.给出AW60 存储器映像的简要说明。 答:所谓存储器映像,是指地址$0000 ~ $FFFF这个64KB空间,哪些地址被何种存储器所占用,或者说AW60的RAM、Flash、I/O映像寄存器各使用$0000 ~ $FFFF这个64KB空间中的哪些地址。简单地说,就是$0000 ~ $FFFF这个64KB空间是如何分配的。 2.AW60的引脚主要分为哪几类?简要说明主要引脚的功能。 答:(1)电源类信号引脚(2)复位信号引脚(3)主要功能模块引脚。比如定时器,IRQ中断等。(4)其他,比如背景调试BKGD引脚 主要引脚:AW60最小系统连接的I/O口,以及各具体功能I/O口。 3.嵌入式系统中RAM和Flash作用分别是什么?答:一般来说RAM这个区域安排用户数据(主要是全局变量)和堆栈空间;Flash 要用于存储程序、常数、中断向量等。 4.给出AW60的硬件最小系统。答:AW60芯片的硬件最小系统包括电源及其滤波电路、复位电路、晶振电路及PLL滤 波电路、写入器接口电路。 5.指出下列指令中的源操作数和目的操作数的寻址方式。 (1) MOV #$80 , $80 (2) MOV $80,$A0 (3) MOV $80 , X+ (4) MOV X+ , $80 (5) LDA $80 , X 答:(1)立即寻址,直接寻址 (2)直接寻址,直接寻址

ARM嵌入式系统基础教程复习

《嵌入式系统基础教程》复习 1.什么是嵌入式系统?其特点有些什么? 答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 特点:1)是专用的计算机系统,用于特定的任务; 2)资源较少,可以裁减; 3) 功耗低,体积小,集成度高,成本低; 4)使用实时操作系统; 5) 可靠性要求更高,具有系统测试和可靠性评估体系; 6)运行环境差异大 7)大部分程序固化在ROM中; 8) 较长的生命周期; 9)嵌入式微处理器通常包含专用调试电路 2.嵌入式系统的BooTLoader的功能是什么? 答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。) 3.目前嵌入式操作系统有哪些? 答:1)μC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统;5)Symbian操作系统 4.构造嵌入式开发环境有哪几种形式? 答:1)交叉开发环境;2)软件模拟环境;3)评估电路板 5.嵌入式系统开发的基本流程? 答:1)系统定义与需求分析; 2)系统设计方案的初步确立; 3)初步设计方案性价比评估与方案评审论证; 4)完善初步方案、初步方案实施; 5)软硬件集成测试; 6)系统功能性能测试及可靠性测试。 6.什么是可编程片上系统? 答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC。它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。 7.有时要使用Thumb技术的原因 答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。 8.ARM处理器的工作模式有哪几种? 答:1)正常用户模式(user); 2)快速中断模式(fiq); 3)普通中断模式(irq); 4)操作系统保护模式(svc)或管理模式; 5)数据访问中止模式(abt); 6)处理未定义指令的未定义模式(und); 7)运行特权级的操作系统任务的系统模式(sys)。 9.寄存器R13,R14,R15的专用功能各是什么? 答:1)寄存器R13保存堆栈指针SP;

近年来嵌入式硬件的发展

近年来嵌入式硬件的发展 施明 摘要:近年来随着移动处理、嵌入式应用的大量涌现,以及通用微处理器工艺水平和主频的不断提升,双核乃至四核的出现,功耗日益成为设计者必须关心的问题。这就要求嵌入式软硬件提出了新的要求,需要不断的改进和创新。本文围绕嵌入式近年的发展与更新,主要翻阅了十几篇论文,直接参考文献12篇,其中外文资料4篇。根据所阅读的文献通过对比浅析嵌入式硬件近年来的发展状况。 关键词:8位微控制器,32位微控制器,DSP核MPU In recent years the development of embedded hardware Abstract: in recent years as mobile processing, embedded application, as well as the general microprocessor to improve the technological level and frequency, dual-core and even the emergence of four nuclear power has increasingly become the designers must concern. This requires an embedded hardware and software is put forward new requirements, need continuous improvement and innovation. Around embedded in recent years, the development and updating, this paper mainly through more than ten papers, direct 12 references, including 4 foreign data. According to the reading of literature by comparing the embedded hardware is analysed in recent years the development of the situation Key words:8-bit microcontroller.32- bit microcontroller. DSP core MPU 一、引言 20世纪90年代后期,正处后PC机的前夜.开始兴起了嵌入式的第二次浪潮。随着手机的铺天盖地,惊醒了国内的专家和广大的单片机技术人员,引发了一场单片机与嵌入武的议论。无论改论是否有一致的认识,议论总是有益的。如果能取得一致的认识当然就更好。嵌入式,即嵌入式计算机,是从功能上说的。嵌入式计算机强调的要点是:计算机不为表现自己,而为辅助它所在的宿主设备.智能化地,剃现设备的功能。单片机的叫法,一,未能体现它初始的控制使命,二,它不能代表嵌入式的总体.仅是嵌入式中的类。尽管单片机的结构展示着嵌入式的极终方向,正如今日人们追求的SoC。单片机是Intel 初期的命名,但随后不久就改口叫微控制器了,并把它列入嵌入式器件的一类之中。

嵌入式技术基础与实践(第3版)课后习题1-8章答案

试阅: hello ---------------------正文 第一章 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域(举例)。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。 一般用于工业控制,智能家电,日常电子等领域。 日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。 3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU仅仅是一个处理器而已。 4. 总结嵌入式系统常用术语。 硬件:封装,印刷电路板,动态可读写随机存储器与静态可读写随机存储器,只读存储器,闪速存储器,模拟量与开关量。 通信:并行通信,串行通信,串行外设接口,集成电路互连总线,通用串行总线,控制器局域网,背景调试模式,边界扫描测试协议,串行线调试技术。 功能模块及软件:通用输入/输出,A/D与D/A,脉冲宽度调制器,看门狗,液晶显示,发光二级管,键盘,实时操作系统。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。

周立功-ARM嵌入式系统基础教程课后习题答案11

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。 需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么? 规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划 系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论? 项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录 下来,也就是说,这是一个撰写项目历史的过程。 第三章 1、ARM7TDMI中的T、D、M、I的含义是什么? 64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度16 位的Thumb 指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的) 2、ARM7TDMI采用几级流水线?使用何种存储器编址方式? 三级流水线(取指译码执行);使用了冯·诺依曼(V on Neumann )结构,指令和数据共用一条 32 位总线。 3、ARM处理器模式和ARM处理器状态有何区别? 处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。 4、分别列举ARM的处理器模式和状态。 状态: ARM 状态32 位,这种状态下执行的是字方式的ARM 指令

ARM嵌入式硬件培训

高速培训 嵌入式硬件培训 国家信息技术紧缺人才培养工程 培训科目:6层高速嵌入式电脑主板板整套设计(从原理图到装配调成品) 培训机构:北京中联微电科技发展有限公司(公司下属对外培训) 联系方式:咨询:(张老师)(朱老师) 培训软件:系列软件 培训方式:独立创新、实战易学 培训周期:1-2个月(跟据学员接受程度而定)全日制(早9晚5) 招生对像:有一定电子基础,欲从事高速板或嵌入式硬体开发者 期招生数:每期仅限5-15人 培训费用:6600/人(学生可优惠) 学员奖励:每期评选“优秀学员”奖励500-1500元,或留校从事项目开发,鼓励上进学员 结业赠送:学员结业赠送S3C2440主板加3.5寸屏及配套光盘资料 技术支持:毕业学员提供终身免费技术支持 培训承诺:学员包教包会,学会为止,100%保证教学质量 全职老师,全天执教!!品牌机构,值的信赖!! 我公司对外承接单片机项目开发及2-8层普通高速板设计,并生产和研发各类教学开发产品,实验箱等。 课程安排: 主要针对目前主流嵌入式电脑主板S3C2440为案例进行分析讲解,实战经验和动手能

力为主,调用少数理论概式。模拟正规公司开发产品流程,使得学员结业快速上手,适应工作环境变更。 课程总体流程:原理图设计及32440工作原理分析—》网表导出—》元件封装制作—》网表导入—》线路板板框规划—》整板布局—》层叠及高速常规规则设置—》高速走线—》内电分割—》设计校验—》文件输出—》送至线路板制造厂商生产—》元常规器件组装焊接—》器件组装焊接—》静态打阻值法检测器件焊接是否正常法—》动态上电测试法—》代理设置及线路连接—》安装及设置—》920T内核检测—》烧写启动硬体—》软件安装及设置—》串口连接—》裸机程序下载及硬体测试—》开机画面制作—》从口驱动安装及连接—》内核下载—》文件系统下载—》启动测试整机—》下载及设置—》5.0及6.0下载—》启动测试整机—》下鼠标及键盘挂接测试硬件—》下上网测试—》整机抗干扰及稳定性测试—》产品连续开机测试—》完成产品设计结业。 一、原理图设计及工作原理分析: 第1节安装及设置 1.1 概述 1.2 原理图绘制 1.3 系列软件的安装 第2节原理图设计工作平台 2.1 软件功能介绍 2.2 原理图工作环境 2.3 设置图纸参数 2.4 设置设计模板 2.5 设置打印属性 实习课程 第3节制作元件及创建元件库 3.1 创建单个元件 3.1.1 直接新建元件 3.1.2 用电子表格新建元件 3.2 创建复合封装元件 3.3 大元件的分割 3.4 创建其他元件 实习课程 第4节创建新设计 4.1 原理图设计规范 4.2 基本名词术语 4.3 建立新项目 4.4 放置元件 4.4.1 放置基本元件 4.4.2 对元件的基本操作 4.4.3 放置电源和接地符号 4.4.4 完成元件放置 4.5 创建分级模块 4.6 修改元件序号与元件值 4.7 连接电路图

(完整版)《嵌入式系统毕业课程设计与实践》

课程设计 课程名称嵌入式系统课程设计与实践题目名称嵌入式最小系统设计 学生学院自动化学院 专业班级电子(2) 学号 学生姓名何延 指导教师尹明

2013 年5月30日

广东工业大学课程设计任务书 题目名称嵌入式最小系统设计 学生学院自动化学院 专业班级电子(2) 姓名何延 学号 一、课程设计的内容 学习LPC2000系列ARM处理器的启动流程,学习嵌入式系统硬件设计(最小系统),学习嵌入式系统应用程序框架,学习在ARM7处理器上移植uCOS-II操作系统的流程及设计流水灯应用程序。 设计实现一个基于LPC2000系列ARM处理器的最小系统,完成操作系统移植,设计流水灯程序。鼓励在完成基本功能的基础上,自由发挥完成其它功能。 二、课程设计的要求与数据 熟悉LPC2000系列ARM处理器的启动流程,掌握嵌入式系统硬件设计(最小系统),掌握嵌入式系统应用程序设计,掌握在ARM7处理器上移植uCOS-II操作系统的流程及设计流水

灯应用程序。 1完成嵌入式系统最小系统硬件设计,并制作硬件平台。 2 在无操作系统情况下,设计流水灯应用程序,并在前述硬件平台上调试、运行。 3 移植UCOS-II操作系统,并设计流水灯应用程序,在前述硬件平台上调试、运行。 三、课程设计应完成的工作 1 嵌入式系统最小系统硬件设计,并调试验证。 2 设计流水灯应用程序,调试、运行。 3 移植uCOS-II操作系统,设计流水灯应用程序,调试、运行。 四、课程设计进程安排

五、应收集的资料及主要参考文献 《LPC2210使用指南》(LPC2210-user_cn.pdf) LPC2131板原理图(Z2418PSCH.pdf) 《ADS开发者指南》(ADS_DeveloperGuide_D.pdf) 发出任务书日期:年月日指导教师签名:

ARM嵌入式系统基础教程第二版课后习题答案

第1章嵌入式系统概述 (1)举出3个本书中未提到的嵌入式系统的例子。 答:键盘、鼠标、扫描仪。 (2)什么叫嵌入式系统? 答:嵌入到对象体系中的专用计算机应用系统。 (3)什么叫嵌入式处理器?嵌入式处理器分为哪几类? 答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。分为3类:1.注重尺寸、能耗和价格;2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。 (4)什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。原因:1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。3.充分发挥了32位CPU的多任务潜力。 第2章ARM7体系结构 1.基础知识 (1)ARM7TDMI中的T、D、M、I的含义是什么? 答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。 (2)ARM7TDMI采用几级流水线?使用何种存储器编址方式? 答:3级;冯·诺依曼结构。 (3)ARM处理器模式和ARM处理器状态有何区别? 答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。 (4)分别列举ARM的处理器模式和状态? 答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。 (5)PC和LR分别使用哪个寄存器? 答:PC:R15;LR:R14。 (6)R13寄存器的通用功能是什么? 答:堆栈指针SP。 (7)CPSR寄存器中哪些位用来定义处理器状态?

嵌入式硬件工程师岗位工作职责范本

岗位说明书系列 嵌入式硬件工程师岗位工 作职责 (标准、完整、实用、可修改)

编号:FS-QG-68741嵌入式硬件工程师岗位工作职责Embedded hardware engineer job responsibilities 说明:为规划化、统一化进行岗位管理,使岗位管理人员有章可循,提高工作效率与明确责任制,特此编写。 简介:嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 嵌入式职位描述(模板一) 岗位职责:

1、负责智能硬件产品的底层软件开发; 2、负责智能硬件产品的生产测试软件开发; 3、负责智能硬件产品人机交互开发; 4、负责蓝牙等接口开发。 任职要求: 1、本科及以上学历; 2、具有良好的逻辑思维能力,学习能力强; 3、有良好的C语言基础,能够快速学习新的Soc的SDK,并利用其开发相关应用; 4、熟悉主流单片机系统的开发环境编程(KEIL、IAR等),调试,烧录; 5、熟悉蓝牙、wifi等常见的无线通信协议,有做过低功耗蓝牙产品经验者优先; 6、熟悉UART、SPI、I2C、USB等接口; 7、有生产测试软件开发相关经验者优先; 8、英文阅读能力良好,能快速学习新的硬件设备的SPEC 文档; 9、能够顶住比较大的工作压力,能够跟团队成员融洽相

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

嵌入式技术基础与实践(第二版) 习题参考答案 目录 嵌入式技术基础与实践(第二版) (1) 习题参考答案 (1) 第1章概述习题参考答案 (2) 第2章FreescaleS08微控制器习题参考答案 (3) 第3章第一个样例程序及工程组织习题参考答案 (4) 第5章串行通信接口SCI习题参考答案 (6) 第6章GPIO的应用实例—键盘、LED与LCD习题参考答案 (9) 第7章定时器模块习题参考答案 (10) 第8章串行外设接口SPI习题参考答案 (11) 第9章Flash存储器在线编程习题参考答案 (13)

第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 4.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。

嵌入式系统基础知识总结

必读:嵌入式系统基础知识总结 2016-07-22电子发烧友网 本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。 嵌入式系统基础 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。 (3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。 2、嵌入式系统的组成 包含:硬件层、中间层、系统软件层和应用软件层 (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。 嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。 (2)中间层(也称为硬件抽象层HAL或者板级支持包BSP). 它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。 BSP有两个特点:硬件相关性和操作系统相关性。 设计一个完整的BSP需要完成两部分工作: A、嵌入式系统的硬件初始化和BSP功能。 片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。 板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。 系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。 B、设计硬件相关的设备驱动。 (3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。 (4)应用软件:由基于实时系统开发的应用程序组成。

嵌入式技术基础与实践答案(第3版)

第一章 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域(举例)。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。 一般用于工业控制,智能家电,日常电子等领域。 日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。

3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 4. 总结嵌入式系统常用术语。 硬件:封装,印刷电路板,动态可读写随机存储器与静态可读写随机存储器,只读存储器,闪速存储器,模拟量与开关量。 通信:并行通信,串行通信,串行外设接口,集成电路互连总线,通用串行总线,控制器局域网,背景调试模式,边界扫描测试协议,串行线调试技术。 功能模块及软件:通用输入/输出,A/D与D/A,脉冲宽度调制器,看门狗,液晶显示,发光二级管,键盘,实时操作系统。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。 6. 举例说明结构体变量类型的定义、结构体变量的声明与使用方法。

嵌入式技术基础与实践第二版习题参考答案

百度文库- 让每个人平等地提升自我 嵌入式技术基础与实践(第二版)习题参考答案

目录 第1章概述习题参考答案 (2) 第10章集成电路互连总线I2C 习题参考答案 (5) 第11章模数转换模块A/D 习题参考答案 (7) 第12章系统开发其他模块应用习题参考答案 (8) 第13章JM60的USB 开发方法习题参考答案 (10) 第14章DZ60的CAN总线开发方法习题参考答案 (14)

第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 4.举例说明嵌入式系统在日常生活中的应用。 答:日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。 6.阅读光盘中【第01章(概述)阅读资料】中的“嵌入式C语言工程简明规范”,用一页纸给出嵌入式C语言工程简明规范的要点。 答:此规范主要针对单片机编程语言和08编译器而言,包括命名、注释、编码规范性等内容。建议在一个工程或者一个项目中尽量遵循相同的代码规范,而不是说你只能拥有一个代码规范。 (1)命名规则:命名清晰明了,有明确含义,使用完整单词或约定俗成的缩写。通常,较短的单词可通过去掉元音字母形成缩写;较长的单词可取单词的头几个字母形成缩写。即 "见名知意";命名风格要自始至终保持一致;命名中若使用特殊约定或缩写,要有注释说明;为了代码复用,命名中应避免适用与具体项目相关的前缀;应使用英语命名。 (2)注释:注释基本原则就是有助于对程序的阅读理解,说明程序在"做什么",解释代码的目的、功能和采用的方法。一般情况源程序有效注释量在30%左右。注释语言必须准确、易懂、简洁。边写代码边注释,修改代码同时修改相应的注释,不再有用的注释要删除。汇编和C中都用"19文件),它是Freescale MCU的机器码文件,通过写入程序可将机器码下载到目标MCU内的Flash存储器,也可以通过光盘中苏州大学嵌入式系统研发中心开发的独立写

《嵌入式系统与硬件安全》教学大纲

《嵌入式系统与硬件安全》教学大纲 课程编号:CE6010 课程名称:嵌入式系统与硬件安全英文名称:Embedded System and Hardware Security 学分/学时:2/32(24+16)课程性质:选修 适用专业:信息安全, 网络工程建议开设学期:6 先修课程:C语言,计算机组成开课单位:网络与信息安全学院 一、课程的教学目标与任务 本课程讲授嵌入式系统及其相关软硬件的安全威胁、安全机制、安全架构、安全分析方法及相关的安全标准规范。通过对可信计算原理与应用、认证技术、故障注入与故障分析、嵌入式软件安全体系结构、边信道攻击及分析方法等课程模块的讲解,为学生从事相关领域的研究和开发工作奠定基础,并培养学生针对具体嵌入式系统环境进行安全性分析和安全机制设计的初步能力。 二、课程具体内容及基本要求 (一)引言( 2学时) 嵌入式系统的特点,嵌入式系统的脆弱性,面向嵌入式系统的常见攻击手段及相应抵御机制,嵌入式系统安全及硬件安全相关的标准,本课程内容概述。 1.基本要求 (1)了解嵌入式系统安全要解决的主要问题,嵌入式系统的特点; (2)熟悉嵌入式系统特有的脆弱性,常见攻击手段及相应的抵御机制; (3)了解嵌入式系统安全和硬件安全方面的相关技术标准,了解本课程主要内容在领域内的位置。 2.重点、难点 重点:针对嵌入式系统的常见攻击手段及抵御机制。 难点: 3.作业及课外学习要求: 阅读嵌入式系统安全方面的综述文献,并完成阅读报告。

(二)可信计算基本原理(2学时) 可信计算的目的,可信计算的基本原理,标准TCG体系结构及其主要概念,TCG规范。 1.基本要求 (1)熟悉可信计算的目的和基本原理; (2)掌握标准的TCG体系结构及其相关主要概念,包括基础特征、可信平台模块及其组件、扩展模型、程序接口等。 2.重点、难点 重点:TCG体系结构及其相关主要概念。 难点: 3.作业及课外学习要求: 能够准确运用课堂知识完成课堂练习及课后作业,阅读TCG规范的部分关键章节。 (三)可信平台编程接口 (4学时) TCG软件栈规范,TSSAPI的设计原则,TSS系统级API,TSS特征API,Java环境下的可信计算,TPM仿真软件的配置和使用。 1.基本要求 (1)熟悉TCG软件栈体系结构; (2)掌握典型基于高级语言的可信平台编程接口API的使用方法; (3)掌握TPM仿真软件的配置和使用方法。 2.重点、难点 重点:典型的可信平台编程接口。 难点:基于TPM仿真软件提供的可信功能实现安全服务程序。 3.作业及课外学习要求: 能够准确运用课堂知识完成课堂练习及课后作业,能够自己编写简单的基于可信平台的安全服务程序。 (四)可信计算的应用 (2学时) ARMTrustZone的基本原理、保护目标和体系结构,ARMTrustZone的开发工具支持,ARMTrustZone的应用实例。 1.基本要求

嵌入式软件开发入门教程

C语言是嵌入式软件开发人员必须熟练掌握的编程语言。作为C语言的初学者重点掌握基本数据类型、复合数据类型、流程控制、数组、指针、函数这几方面的基本知识。本人建议通过观看视频教学的方式进行学习,这样既快速又通俗易懂,当然前提是必须找到优质的教学视频资源。此外,可以配合入门书籍谭浩强的《C语言程序设计》进行学习。如果想深入的学习可以参考美国人写的人民邮电出版社出版的《C Primer Plus》。 方法/步骤2: C语言的磨炼 掌握了基本的C语言语法以后并不代表我们就学会了C语言,关键是如何灵活的去运用。我们可以练习编写C语言学习书籍的课后习题或者在网站上搜索C语言笔试题库进行练习。也可以百度寻找经典的C 语言编程案例进行学习。总之,就是将C语言运用的越熟练越好。至于开发环境可以选择VC++ 6.0 或者linux。 方法/步骤3: 硬件电路基础

嵌入式软件工程师还必须懂一些硬件电路的基本知识。当然,对于刚入门的软件开发人员没必要非常精通电路技术,熟悉基本的电子元器件的功能即可。例如,电阻、电容、电感的作用以及符号,三极管、MOS管导通截止的条件,微处理器、晶振的基本概念等。至于,以上这些基本知识我们可以通过童诗白的第四版《模拟电子技术基础》和网上查阅的资料进行学习。 方法/步骤4: 如何看懂原理图 作为嵌入式软件开发人员我们经常会和硬件打交道,我们的程序最终会被烧录到微处理器内部运行。所以,我们必须要会看硬件原理图,看懂之后才知道如何写程序。首先,我们要知道嵌入式硬件最小系统的组成部分,包括电源电路、晶振、微处理器、复位电路。然后以微处理器为中心向四周查看,主要看我们可以操纵的外设资源。以上知识的学习我们不妨经常浏览一下某些知名IT网站其他人上传的经典原理图。 方法/步骤5: 基本外设知识

相关文档
最新文档