出版时间:2011-3 出版社:清华大学出版社 作者:王宜怀,张书奎,王林,吴瑾 著 页数:380 字数:617000
Tag标签:无
内容概要
本书以飞思卡尔半导体公司(原摩托罗拉半导体部)的8位s08系列微控制器中通用型号mc9s08aw60、带usb
2.0接口mc9s08jm60、带can总线接口mc9s08dz60三个型号为蓝本阐述嵌入式系统的软件与硬件设计。《嵌入式技术基础与实践(第2版)》共14章,其中第1章为概述,阐述嵌入式系统的知识体系、学习误区与学习建议。第2章给出aw60硬件最小系统,并简要介绍了s08cpu。第3章给出第一个样例程序及codewarrior工程组织,完成第一个s08工程的入门。第4章给出基于硬件构件的嵌入式系统开发方法。第5章阐述串行通信接口sci,并给出第一个带中断的编程实例。第1~5章完成了学习一个新mcu完整要素的入门。第6~12章分别给出键盘、led、lcd、定时器、spi、flash存储器在线编程、i2c、a/d及aw60芯片的其他模块等。第13、14章分别给出jm60的usb
2.0编程及dz60的can总线编程。附录给出了相关资料。
本书提供的所有实例源程序、辅助资料、相关芯片资料及常用软件工具,可在清华大学出版社网站(www.tup.com.cn)或苏州大学飞思卡尔嵌入式系统研究中心网站(sumcu.suda.edu.cn)下载。
本书可供大学有关专业的高年级学生和研究生用作教材或参考读物,也可供嵌入式系统开发与研究人员用作研发参考资料。
书籍目录
第1章 概述
1.1嵌入式系统定义、由来及特点
1.1.1嵌入式系统的定义
1.1.2嵌入式系统的由来及其与微控制器的关系
1.1.3嵌入式系统的特点
1.2嵌入式系统的知识体系、学习误区及学习建议
1.2.1嵌入式系统的知识体系
1.2.2嵌入式系统的学习误区
1.2.3基础阶段的学习建议
1.3嵌入式系统常用术语
1.3.1与硬件相关的术语
1.3.2与通信相关的术语
1.3.3与功能模块及软件相关的术语
1.4嵌入式系统常用的c语言基本语法概要
习题1
第2章 aw60硬件最小系统与s08 cpu
2.1s08系列mcu命名规则与资源简介
2.2aw60微控制器功能概述及存储器映像
2.2.1aw60功能概述
2.2.2aw60存储器映像
2.3aw60的引脚功能与硬件最小系统
2.3.1aw60的引脚功能
2.3.2aw60的硬件最小系统
2.3.3硬件最小系统测试方法
2.4s08 cpu的特点与cpu内部寄存器
2.5s08 cpu的寻址方式
2.6s08 cpu的指令系统
2.6.1数据传送类指令
2.6.2算术运算类指令
2.6.3逻辑运算类指令
2.6.4位操作类指令
2.6.5移位类指令
2.6.6程序控制类指令
2.6.7其他指令
2.7s08 cpu汇编语言基础
2.7.1s08汇编源程序格式
2.7.2s08的伪指令
习题2
第3章 第一个样例程序及codewarrior工程组织
3.1通用i/o接口基本概念及连接方法
3.2aw60的gpio
3.2.1aw60 gpio编程的基本原理
3.2.2gpio模块寄存器与gpio编程的基本方法
3.3开发套件codewarrior开发环境与s08/s12/coldfire写入器
3.3.1codewarrior开发环境简介与基本使用方法
3.3.2s08/s12/coldfire三合一写入器
3.3.3sd?aw60evb硬件评估板
3.4cw环境c语言工程文件的组织
3.4.1工程文件的逻辑组织结构
3.4.2工程文件的物理组织结构
3.4.3系统启动及初始化相关文件
3.4.4芯片初始化、主程序、中断程序及其他文件
3.4.5机器码文件(.s19文件)的简明解释
3.4.6.lst文件与.map文件
3.4.7如何在cw环境下新建一个s08工程
3.5第一个c语言工程: 控制小灯闪烁
3.5.1gpio构件
3.5.2light构件
3.5.3light测试工程主程序
3.5.4理解第一个c工程的执行过程
3.6第一个汇编语言工程: 控制小灯闪烁
3.6.1汇编工程文件的组织
3.6.2light构件汇编程序
3.6.3light测试工程主程序
3.6.4理解第一个汇编工程的执行过程
习题3
第4章 基于硬件构件的嵌入式系统开发方法
4.1嵌入式系统开发所遇到的若干问题
4.2嵌入式硬件构件的基本思想与应用方法
4.3基于硬件构件的嵌入式系统硬件电路设计
4.3.1设计时需要考虑的基本问题
4.3.2硬件构件化电路原理图绘制的简明规则
4.3.3实验pcb板设计的简明规则
4.4基于硬件构件的嵌入式底层软件构件的编程方法
4.4.1嵌入式硬件构件和软件构件的层次模型
4.4.2底层构件的实现方法与编程思想
4.4.3硬件构件及底层软件构件的重用与移植方法
习题4
第5章 串行通信接口sci
5.1异步串行通信的通用基础知识
5.1.1串行通信的基本概念
5.1.2rs?232总线标准
5.1.3ttl电平到rs?232电平转换电路
5.1.4串行通信编程模型
5.2aw60的sci模块的编程结构
5.3aw60的sci构件设计与测试
5.3.1sci构件设计概述
5.3.2sci构件的头文件sci.h
5.3.3sci构件的c语言源程序文件sci.c
5.3.4sci构件的测试工程
5.4aw60的中断源与第一个带有中断的编程实例
5.4.1中断处理的相关基本概念
5.4.2s08 cpu的中断实现过程
5.4.3aw60的中断源与中断向量表
5.4.4aw60的中断编程方法
5.4.5aw60的中断编程示例
习题5
第6章 gpio的应用实例——键盘、led与lcd
6.1键盘编程实例
6.1.1未编码键盘的接线方式
6.1.2键盘编程的基本问题
6.1.3aw60键盘中断模块
6.1.4键盘编程实例
6.2数码管led编程实例
6.2.1扫描法编程原理
6.2.2数码管编程实例
6.3液晶lcd编程实例
6.3.1点阵字符型lcd的基本特点
6.3.2hd44780概述
6.3.3点阵字符型lcd编程实例
习题6
第7章 定时器模块
7.1计数器/定时器的基本工作原理
7.1.1实现计数与定时的基本方法
7.1.2aw60的定时接口的功能框图
7.2定时器模块的编程结构与编程实例
7.2.1定时器模块的编程寄存器
7.2.2定时溢出中断构件与编程实例
7.3定时器模块的输入捕捉功能
7.3.1输入捕捉的基本含义
7.3.2输入捕捉的寄存器
7.3.3输入捕捉中断编程实例
7.4定时器模块的输出比较功能
7.4.1输出比较的基本知识
7.4.2用于输出比较的寄存器
7.4.3输出比较编程实例
7.5定时器模块的脉宽调制(pwm)输出功能
7.5.1脉度调制器pwm工作原理
7.5.2aw60定时器的两种pwm模式
7.5.3pwm编程实例
习题7
第8章 串行外设接口spi
8.1spi的基本工作原理
8.1.1spi基本概念
8.1.2spi的数据传输
8.1.3spi模块的时序
8.1.4模拟spi
8.2aw60 spi模块编程结构
8.2.1aw60的spi模块概述
8.2.2spi模块寄存器
8.3aw60的spi构件设计
8.3.1spi构件设计概述
8.3.2spi构件的源程序文件
8.4利用spi扩展外接flash芯片
8.4.1flash芯片at45db041d概述
8.4.2at45db041d操作说明
8.4.3扩展flash的程序实现
习题8
第9章 flash存储器在线编程
9.1flash存储器概述
9.1.1flash存储器的基本特点与编程模式
9.1.2s08系列mcu的flash存储器
9.2aw60的flash存储器编程方法
9.2.1flash存储器编程的基本概念
9.2.2flash存储器的编程寄存器
9.2.3flash存储器的编程过程
9.3aw60的flash在线编程c语言实例
9.3.1flash存储器的擦除及写入c语言子程序
9.3.2flash存储器在线编程擦写测试工程
9.4s08 flash存储器的保护特性和安全性
9.4.1s08 flash存储器的保护特性
9.4.2s08 flash存储器的安全性
习题9
第10章 集成电路互连总线i2c
10.1i2c总线通用知识
10.1.1i2c总线的历史概况与特点
10.1.2i2c总线的硬件相关术语与典型电路
10.1.3i2c总线数据通信协议概要
10.1.4主机向从机读/写1个字节数据的过程
10.2aw60的i2c模块编程结构
10.2.1aw60的i2c模块概述
10.2.2aw60的i2c模块寄存器
10.3aw60的i2c模块底层驱动构件设计
10.4aw60的i2c构件应用实例——与pcf8563时钟芯片通信
10.4.1pcf8563芯片简介
10.4.2aw60的i2c与pcf8563时钟芯片通信
10.5关于i2c的进一步讨论
10.5.1仲裁程序
10.5.2数据传输同步交换
10.5.3spi与i2c的比较
习题10
第11章 模数转换模块
11.1a/d转换通用知识
11.1.1a/d转换的基本问题
11.1.2a/d转换常用传感器简介
11.1.3电阻型传感器采样电路设计
11.2aw60的a/d转换模块编程结构
11.2.1aw60的a/d转换结构与特性
11.2.2aw60的a/d模块编程寄存器
11.2.3功能描述
11.2.4aw60的内置温度传感器
11.3aw60的a/d模块底层驱动构件设计
11.3.1ad构件的函数原型设计
11.3.2ad构件的头文件
11.3.3ad构件的源程序文件
11.4aw60 a/d模块编程实例
11.4.1低端软件设计
11.4.2高端软件设计
习题11
第12章 aw60芯片的其他模块
12.1aw60的工作模式与低功耗
12.2内部时钟发生器模块icg
12.2.1aw60的icg结构
12.2.2icg操作模式
12.2.3icg的寄存器与运行机制
12.2.4aw60的初始化方法与示例
12.3aw60的复位
12.3.1复位
12.3.2低电压检测(lvd)复位
12.3.3看门狗复位
12.3.4其他寄存器
12.4aw60的irq引脚、rti、brk及swi中断
12.4.1irq引脚中断
12.4.2实时中断(rti)模块
12.4.3断点模块brk与软件中断swi指令
习题12
第13章 jm60的usb 2.0开发方法
13.1usb基本概念及硬件特性
13.1.1usb概述
13.1.2usb相关基本概念
13.1.3usb的物理特性
13.2usb的通信协议
13.2.1usb基本通信包
13.2.2usb通信中的事务处理
13.2.3从设备的枚举看usb数据传输
13.3jm60硬件最小系统及usb模块功能简介
13.3.1jm60硬件最小系统
13.3.2jm60的usb模块功能简介
13.3.3jm60的usb模块主要寄存器介绍
13.4jm60作为usb从机的开发方法
13.4.1pc方usb设备驱动程序的选择及基本原理
13.4.2pc作为usb主机的程序设计
13.4.3jm60作为usb从机的程序设计
习题13
第14章 dz60的can总线开发方法
14.1can总线通用知识
14.1.1can总线协议的历史概况
14.1.2can硬件系统的典型电路
14.1.3can总线的有关基本概念
14.1.4帧结构
14.1.5位时间
14.2dz60硬件最小系统
14.3mscan模块概述与编程结构
14.3.1mscan的特性
14.3.2运行模式
14.3.3低功耗选项
14.3.4中断
14.3.5mscan模块寄存器定义
14.4mscan功能描述
14.4.1报文发送/接收功能描述
14.4.2报文发送基础
14.4.3发送结构
14.4.4接收结构
14.4.5时钟系统
14.5mscan初始化、报文发送与接收的函数设计
14.5.1mscan初始化过程
14.5.2mscan报文发送/接收过程
14.5.3mscan测试实例
习题14
附录afreescale mcu常用封装形式与规格
附录baw60直接页寄存器列表
附录caw60高页寄存器列表
附录ds08/s12/coldfire bdm简明使用方法
附录es08的c语言函数库
附录f常见实践问题解答
参考文献
章节摘录
版权页:插图:3.嵌入式系统学习误区3——片面认识嵌入式系统嵌入式系统产品种类繁多,应用领域各异。在1.2.1节中,把嵌入式系统的应用范围粗略地分为电子系统的智能化与计算机应用的延伸两大类,从初学者角度,可能存在分别从这两个角度片面认识嵌入式系统的问题。因此,一些从电子系统智能化角度认识嵌入式系统的学习者,可能会忽视编程结构、编程规范、软件工程的要求、操作系统等知识的积累。另一些从计算机应用的延伸角度认识嵌人式系统的学习者,可能会把通用计算机学习过程中的概念与方法生搬硬套到嵌入式系统的实践中,忽视嵌入式系统与通用计算机的差异。实际上,在嵌入式系统学习与实践的初始阶段,应该充分了解嵌入式系统的特点,根据自身已有的知识结构,制订适合自身情况的学习计划。目标应该是打好嵌入式系统的硬件与软件基础,通过实践,为成为良好的嵌入式系统设计师建立起基本知识结构。学习过程,可以通过具体应用系统为实践载体,但不能拘泥于具体系统,应该有一定的抽象与归纳。例如,有的初学者开发一个实际控制系统,没有使用实时操作系统,但不要认为实时操作系统不需要学习。又例如,有的初学者以一个带有实时操作系统的样例为蓝本进行学习,就误认为任何嵌入式系统都需要使用实时操作系统,甚至把一个十分简明的实际系统加上一个不必要的实时操作系统。因此,片面认识嵌入式系统,可能导致学习困惑。应该根据实际项目需要,锻炼自己分析实际问题、解决问题的能力。这是一个比较长期的学习与实践过程,不能期望通过短期培训完成整体知识体系的建立,应该重视自身实践,全面地理解嵌入式系统的知识体系。4.嵌入式系统学习误区4——入门芯片选择的困惑嵌入式系统的大部分初学者需要选择一个微控制器(MCU)进行人门级学习,面对众多厂家生产的微控制器系列,不知如何选择是好。首先是关于位数问题,目前主要有8位、16位、32位,面对嵌入式系统应用的多样性,不同位数的MCU各有应用领域,这一点与通用微机有很大不同。如做一个遥控器,不需要使用一个32位MCU,可能一个32位MCU芯片价格已经超过遥控器价格的需求。对于首次接触嵌入式系统的学习者,可以根据自己的知识基础选择入门芯片的位数。建议大多数初学者,可以选择一个8位MCU作为快速入门芯片,了解一些汇编与底层硬件知识之后,再选一个16位或32位芯片进行学习实践。关于芯片选择的另一个误区,认为有“主流芯片”存在,嵌入式系统也可以形成芯片垄断。这完全是一种误解,是套用通用计算机系统的思维模式,而忽视了嵌入式系统应用的多样性。
编辑推荐
《嵌入式技术基础与实践(第2版)》:教育部高等学校软件工程专业教学指导分委员会推荐教材根据教育部“软件工程课程体系研究”项目成果《中国软件工程学科教程》及专业规范组织编写与最新ACM和IEECCSE同步汇集示范性软件工程专业教学成果
图书封面
图书标签Tags
无
评论、评分、阅读与下载