书籍详情
基于HCS12的嵌入式系统设计
作者:吴晔,张阳,滕勤 编著
出版社:电子工业出版社
出版时间:2010-01-01
ISBN:9787121099281
定价:¥49.00
购买这本书可以去
内容简介
《基于HCS12的嵌入式系统设计》以飞思卡尔16位S12系列MCU为主线,以MC9S12DG128为例,系统地介绍了S12的结构和工作原理;以及S12内部输入/输出端口模块、脉宽调制模块、模/数转换模块、增强型定时器模块、串行通信接口模块、SPI和I2C等主要功能模块的结构、原理与使用方法;同时详细介绍了S12汇编指令系统和嵌入式系统的C语言开发方法。此外,《基于HCS12的嵌入式系统设计》还结合μC/OS-II介绍了嵌入式实时操作系统的基本知识,讨论了在S12系列MCU上实现μC/OS-Ⅱ的移植方法。《基于HCS12的嵌入式系统设计》采用从理论到实践最后到系统的学习方法,在功能模块的介绍中首先讲解模块的原理,之后给出应用实例,最后结合飞思卡尔智能汽车竞赛,给出了每个模块在智能车系统设计的应用实例,以智能汽车系统为应用背景,贯穿了所有模块的开发使用,构成了完整的嵌入式系统知识的介绍。通过《基于HCS12的嵌入式系统设计》的阅读和学习,希望读者能够建立嵌入式系统基本概念,掌握嵌入式系统的硬件、软件设计方法。《基于HCS12的嵌入式系统设计》面向工科电气类、计算机类、机电一体化类和仪器仪表类等相关专业的高年级本科生和研究生,同时也适用于从事嵌入式应用开发的工程技术类人员。
作者简介
暂缺《基于HCS12的嵌入式系统设计》作者简介
目录
第1章 嵌入式系统简介/(1)
1.1 嵌入式系统/(1)
1.1.1 系统/(1)
1.1.2 嵌入式系统/(1)
1.1.3 嵌入式系统的分类/(2)
1.2 嵌入式系统硬件/(3)
1.2.1 嵌入式微处理器/(3)
1.2.2 嵌入式微控制器/(3)
1.2.3 嵌入式DSP处理器/(4)
1.2.4 嵌入式片上系统/(4)
1.3 嵌入式系统软件/(5)
1.4 嵌入式操作系统/(5)
1.4.1 嵌入式操作系统的种类/(5)
1.4.2 嵌入式操作系统的发展/(5)
1.4.3 使用实时操作系统的必要性/(6)
1.4.4 实时操作系统的优缺点/(7)
1.5 嵌入式系统开发方法/(7)
第2章 Freescale HCS12和HCS12X系列单片机简介/(9)
2.1 HCS12系列单片机概述/(9)
2.1.1 HCS12系列单片机的命名规则/(9)
2.1.2 HCS12系列单片机简介/(10)
2.2 HCS12X系列单片机概述/(11)
2.2.1 HCS12X系列单片机主要特点/(11)
2.2.2 XGATE协处理器与主处理器的关系/(12)
2.2.3 XGATE的基本特性/(13)
2.2.4 典型S12X系列单片机简介/(15)
2.3 MC9S12DG128简介/(16)
2.3.1 MC9S12DG128性能概述/(16)
2.3.2 MC9S12DG128内部结构及引脚/(16)
2.3.3 MC9S12DG128引脚功能/(19)
2.4 MC9S12DG128的运行模式/(22)
2.4.1 普通运行模式/(22)
2.4.2 特殊运行模式/(23)
2.5 MC9S12DG128的存储器映射/(23)
2.5.1 基本内存空间分配/(23)
2.5.2 内存空间的扩展/(25)
2.5.3 相关寄存器/(25)
第3章 S12指令系统/(28)
3.1 概述/(28)
3.2 S12汇编指令的格式和符号说明/(28)
3.2.1 操作码和操作数/(29)
3.2.2 数据类型/(29)
3.2.3 数据表示方法/(30)
3.2.4 寄存器和存储器表示法/(30)
3.3 寻址方式/(30)
3.3.1 隐含/固有寻址/(31)
3.3.2 立即寻址/(31)
3.3.3 直接寻址/(32)
3.3.4 扩展寻址/(33)
3.3.5 相对寻址/(35)
3.3.6 变址寻址/(36)
3.4 S12汇编指令系统/(43)
3.4.1 数据传送指令/(44)
3.4.2 算术运算指令/(52)
3.4.3 逻辑运算指令/(60)
3.4.4 高级函数指令/(64)
3.4.5 程序控制指令/(67)
3.4.6 S12控制指令/(71)
3.4.7 模糊运算指令/(73)
3.5 汇编程序伪指令/(80)
3.5.1 段定义指令/(80)
3.5.2 常量赋值指令/(82)
3.5.3 常量存储指令/(84)
3.5.4 分配变量指令/(87)
3.5.5 汇编控制指令/(88)
3.5.6 符号链接指令/(89)
第4章 C语言的嵌入式编程/(91)
4.1 编程语言的选择/(91)
4.2 C语言编程元素/(92)
4.2.1 全局变量和局部变量/(92)
4.2.2 头文件/(93)
4.2.3 编译预处理/(93)
4.2.4 数据类型/(96)
4.2.5 运算符/(98)
4.2.6 指针/(100)
4.2.7 条件语句、循环语句及无限循环语句/(101)
4.2.8 函数/(104)
4.3 C程序编译器与交叉编译器/(108)
4.4 CodeWarrior软件简介/(110)
4.4.1 CodeWarrior的安装/(110)
4.4.2 CodeWarrior使用简介/(112)
第5章 S12输入/输出端口模块及其应用实例/(117)
5.1 输入/输出端口简介/(117)
5.2 输入/输出端口寄存器及设置/(118)
5.2.1 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ/(118)
5.2.2 PORTA、PORTB、PORTE和PORTK/(122)
5.3 输入/输出端口基础应用实例/(124)
5.3.1 输出设备LED控制实例/(124)
5.3.2 输入设备拨码开关读取实例/(126)
5.4 智能车系统中输入/输出端口的应用/(127)
5.4.1 键盘接口设计/(127)
5.4.2 LED显示接口设计/(129)
5.4.3 LCD显示接口设计/(131)
第6章 S12中断系统/(137)
6.1 S12中断系统概述/(137)
6.1.1 S12单片机的复位/(138)
6.1.2 S12单片机的中断/(139)
6.2 S12中断优先级/(140)
6.3 S12中断程序设计实例/(144)
第7章 S12脉宽调制模块及其应用实例/(148)
7.1 PWM模块概述/(148)
7.2 PWM模块结构组成和特点/(148)
7.3 PWM模块寄存器及设置/(149)
7.3.1 PWM允许寄存器/(150)
7.3.2 PWM极性寄存器/(151)
7.3.3 PWM时钟选择寄存器/(152)
7.3.4 PWM预分频时钟选择寄存器/(153)
7.3.5 PWM居中对齐允许寄存器/(154)
7.3.6 PWM控制寄存器/(155)
7.3.7 PWM比例因子寄存器A/(157)
7.3.8 PWM比例因子寄存器B/(158)
7.3.9 PWM通道计数寄存器/(158)
7.3.10 PWM通道周期寄存器/(159)
7.3.11 PWM通道占空比寄存器/(159)
7.3.12 PWM关断寄存器/(161)
7.4 PWM模块基础应用实例/(162)
7.5 智能车系统中PWM模块的应用/(165)
7.5.1 应用PWM模块控制直流电动机/(165)
7.5.2 应用PWM模块控制伺服电动机/(169)
第8章 S12模/数转换模块及其应用实例/(171)
8.1 ATD模块概述/(171)
8.2 ATD模块结构组成和特点/(171)
8.3 ATD模块寄存器及设置/(172)
8.3.1 ATD控制寄存器2/(173)
8.3.2 ATD控制寄存器3/(174)
8.3.3 ATD控制寄存器4/(175)
8.3.4 ATD控制寄存器5/(176)
8.3.5 ATD状态寄存器0/(178)
8.3.6 ATD测试寄存器1/(179)
8.3.7 ATD状态寄存器1/(180)
8.3.8 ATD输入使能寄存器/(180)
8.3.9 端口数据寄存器/(181)
8.3.10 ATD转换结果寄存器/(181)
8.4 ATD模块基础应用实例/(182)
8.5 智能车系统中ATD模块的应用/(184)
8.5.1 ATD模块在基于光电管路径识别方案中的应用/(184)
8.5.2 ATD模块在基于摄像头路径识别方案中的应用/(186)
第9章 S12增强型定时器模块及其应用实例/(190)
9.1 ECT模块概述/(191)
9.1.1 ECT的基本组成与工作原理/(191)
9.1.2 模块内存映射/(195)
9.1.3 ECT模块的中断系统/(198)
9.2 ECT模块的自由运行计数器及定时器基本寄存器/(199)
9.2.1 自由运行主定时器与时钟频率设置/(199)
9.2.2 ECT模块的基本寄存器/(199)
9.3 ECT模块的输入捕捉功能及寄存器设置/(202)
9.3.1 ECT模块的输入捕捉功能/(203)
9.3.2 与输入捕捉功能相关的寄存器/(208)
9.4 ECT模块的输出比较功能及寄存器设置/(214)
9.4.1 ECT模块的输出比较功能/(214)
9.4.2 与输出比较功能相关的寄存器/(215)
9.5 ECT模块的脉冲累加器功能及寄存器设置/(218)
9.5.1 ECT模块的脉冲累加器功能/(218)
9.5.2 与脉冲累加器相关的寄存器/(223)
9.6 ECT模块的模数递减计数器功能及寄存器设置/(229)
9.6.1 ECT模块的模数递减计数器功能/(229)
9.6.2 与模数递减计数器相关的寄存器/(230)
9.7 ECT模块基础应用实例/(233)
9.7.1 输入捕捉功能应用实例/(233)
9.7.2 输出比较功能应用实例/(235)
9.7.3 脉冲累加器功能应用实例/(243)
9.7.4 模数递减计数器功能应用实例/(248)
9.8 智能车系统中ECT模块的应用/(250)
9.8.1 ECT模块的输入捕捉功能在智能车系统中的应用/(250)
9.8.2 ECT模块的脉冲累加器功能在智能车系统中的应用/(250)
9.8.3 ECT模块的模数递减器功能在智能车系统中的应用/(252)
第10章 S12串行通信接口模块及其应用实例/(253)
10.1 SCI模块概述/(253)
10.2 SCI模块结构组成和特点/(253)
10.3 SCI模块寄存器/(254)
10.3.1 SCI波特率寄存器/(255)
10.3.2 SCI控制寄存器1/(255)
10.3.3 SCI控制寄存器2/(257)
10.3.4 SCI状态寄存器1/(258)
10.3.5 SCI状态寄存器2/(260)
10.3.6 SCI数据寄存器/(260)
10.4 SCI模块基础应用实例/(261)
10.5 智能车系统中SCI模块的应用/(264)
第11章 S12 SPI和I2C模块及其应用实例/(268)
11.1 SPI模块/(268)
11.2 SPI模块结构组成和特点/(269)
11.3 SPI模块寄存器及设置/(270)
11.3.1 SPI控制寄存器1/(270)
11.3.2 SPI控制寄存器2/(272)
11.3.3 SPI波特率寄存器/(273)
11.3.4 SPI状态寄存器/(275)
11.3.5 SPI数据寄存器/(276)
11.4 SPI模块基础应用实例/(277)
11.5 I2C总线接口/(280)
11.5.1 I2C总线概述/(280)
11.5.2 I2C总线工作原理/(281)
11.6 I2C模块结构组成和特点/(283)
11.7 I2C模块寄存器及设置/(284)
11.7.1 I2C总线地址寄存器/(284)
11.7.2 I2C总线分频寄存器/(285)
11.7.3 I2C总线控制寄存器/(286)
11.7.4 I2C总线状态寄存器/(287)
11.7.5 I2C总线数据输入/输出寄存器/(289)
11.8 I2C模块在智能车系统中的应用/(289)
第12章 ?C/OS-Ⅱ在S12上的移植与应用/(293)
12.1 实时操作系统的概述/(293)
12.1.1 实时操作系统基本概念/(294)
12.1.2 RTOS常用术语/(294)
12.2 嵌入式实时操作系统?C/OS-Ⅱ/(296)
12.2.1 ?C/OS-Ⅱ概述/(296)
12.2.2 ?C/OS-Ⅱ与其他几种RTOS的比较/(298)
12.3 ?C/OS-Ⅱ的任务/(300)
12.3.1 ?C/OS-Ⅱ中的任务/(300)
12.3.2 任务的划分/(301)
12.4 ?C/OS-Ⅱ在MC9S12DG128上的移植/(301)
12.4.1 定义内核大小和功能/(303)
12.4.2 与硬件相关代码/(307)
12.4.3 建立自己的任务/(315)
附录A S12汇编指令系统汇总表/(317)
附录B S12汇编指令系统汇总表解释说明/(331)
附录C S12汇编指令机器码汇总表/(336)
附录D S12汇编指令机器码汇总表解释说明/(340)
附录E HS12实验开发平台/(341)
参考文献/(344)
1.1 嵌入式系统/(1)
1.1.1 系统/(1)
1.1.2 嵌入式系统/(1)
1.1.3 嵌入式系统的分类/(2)
1.2 嵌入式系统硬件/(3)
1.2.1 嵌入式微处理器/(3)
1.2.2 嵌入式微控制器/(3)
1.2.3 嵌入式DSP处理器/(4)
1.2.4 嵌入式片上系统/(4)
1.3 嵌入式系统软件/(5)
1.4 嵌入式操作系统/(5)
1.4.1 嵌入式操作系统的种类/(5)
1.4.2 嵌入式操作系统的发展/(5)
1.4.3 使用实时操作系统的必要性/(6)
1.4.4 实时操作系统的优缺点/(7)
1.5 嵌入式系统开发方法/(7)
第2章 Freescale HCS12和HCS12X系列单片机简介/(9)
2.1 HCS12系列单片机概述/(9)
2.1.1 HCS12系列单片机的命名规则/(9)
2.1.2 HCS12系列单片机简介/(10)
2.2 HCS12X系列单片机概述/(11)
2.2.1 HCS12X系列单片机主要特点/(11)
2.2.2 XGATE协处理器与主处理器的关系/(12)
2.2.3 XGATE的基本特性/(13)
2.2.4 典型S12X系列单片机简介/(15)
2.3 MC9S12DG128简介/(16)
2.3.1 MC9S12DG128性能概述/(16)
2.3.2 MC9S12DG128内部结构及引脚/(16)
2.3.3 MC9S12DG128引脚功能/(19)
2.4 MC9S12DG128的运行模式/(22)
2.4.1 普通运行模式/(22)
2.4.2 特殊运行模式/(23)
2.5 MC9S12DG128的存储器映射/(23)
2.5.1 基本内存空间分配/(23)
2.5.2 内存空间的扩展/(25)
2.5.3 相关寄存器/(25)
第3章 S12指令系统/(28)
3.1 概述/(28)
3.2 S12汇编指令的格式和符号说明/(28)
3.2.1 操作码和操作数/(29)
3.2.2 数据类型/(29)
3.2.3 数据表示方法/(30)
3.2.4 寄存器和存储器表示法/(30)
3.3 寻址方式/(30)
3.3.1 隐含/固有寻址/(31)
3.3.2 立即寻址/(31)
3.3.3 直接寻址/(32)
3.3.4 扩展寻址/(33)
3.3.5 相对寻址/(35)
3.3.6 变址寻址/(36)
3.4 S12汇编指令系统/(43)
3.4.1 数据传送指令/(44)
3.4.2 算术运算指令/(52)
3.4.3 逻辑运算指令/(60)
3.4.4 高级函数指令/(64)
3.4.5 程序控制指令/(67)
3.4.6 S12控制指令/(71)
3.4.7 模糊运算指令/(73)
3.5 汇编程序伪指令/(80)
3.5.1 段定义指令/(80)
3.5.2 常量赋值指令/(82)
3.5.3 常量存储指令/(84)
3.5.4 分配变量指令/(87)
3.5.5 汇编控制指令/(88)
3.5.6 符号链接指令/(89)
第4章 C语言的嵌入式编程/(91)
4.1 编程语言的选择/(91)
4.2 C语言编程元素/(92)
4.2.1 全局变量和局部变量/(92)
4.2.2 头文件/(93)
4.2.3 编译预处理/(93)
4.2.4 数据类型/(96)
4.2.5 运算符/(98)
4.2.6 指针/(100)
4.2.7 条件语句、循环语句及无限循环语句/(101)
4.2.8 函数/(104)
4.3 C程序编译器与交叉编译器/(108)
4.4 CodeWarrior软件简介/(110)
4.4.1 CodeWarrior的安装/(110)
4.4.2 CodeWarrior使用简介/(112)
第5章 S12输入/输出端口模块及其应用实例/(117)
5.1 输入/输出端口简介/(117)
5.2 输入/输出端口寄存器及设置/(118)
5.2.1 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ/(118)
5.2.2 PORTA、PORTB、PORTE和PORTK/(122)
5.3 输入/输出端口基础应用实例/(124)
5.3.1 输出设备LED控制实例/(124)
5.3.2 输入设备拨码开关读取实例/(126)
5.4 智能车系统中输入/输出端口的应用/(127)
5.4.1 键盘接口设计/(127)
5.4.2 LED显示接口设计/(129)
5.4.3 LCD显示接口设计/(131)
第6章 S12中断系统/(137)
6.1 S12中断系统概述/(137)
6.1.1 S12单片机的复位/(138)
6.1.2 S12单片机的中断/(139)
6.2 S12中断优先级/(140)
6.3 S12中断程序设计实例/(144)
第7章 S12脉宽调制模块及其应用实例/(148)
7.1 PWM模块概述/(148)
7.2 PWM模块结构组成和特点/(148)
7.3 PWM模块寄存器及设置/(149)
7.3.1 PWM允许寄存器/(150)
7.3.2 PWM极性寄存器/(151)
7.3.3 PWM时钟选择寄存器/(152)
7.3.4 PWM预分频时钟选择寄存器/(153)
7.3.5 PWM居中对齐允许寄存器/(154)
7.3.6 PWM控制寄存器/(155)
7.3.7 PWM比例因子寄存器A/(157)
7.3.8 PWM比例因子寄存器B/(158)
7.3.9 PWM通道计数寄存器/(158)
7.3.10 PWM通道周期寄存器/(159)
7.3.11 PWM通道占空比寄存器/(159)
7.3.12 PWM关断寄存器/(161)
7.4 PWM模块基础应用实例/(162)
7.5 智能车系统中PWM模块的应用/(165)
7.5.1 应用PWM模块控制直流电动机/(165)
7.5.2 应用PWM模块控制伺服电动机/(169)
第8章 S12模/数转换模块及其应用实例/(171)
8.1 ATD模块概述/(171)
8.2 ATD模块结构组成和特点/(171)
8.3 ATD模块寄存器及设置/(172)
8.3.1 ATD控制寄存器2/(173)
8.3.2 ATD控制寄存器3/(174)
8.3.3 ATD控制寄存器4/(175)
8.3.4 ATD控制寄存器5/(176)
8.3.5 ATD状态寄存器0/(178)
8.3.6 ATD测试寄存器1/(179)
8.3.7 ATD状态寄存器1/(180)
8.3.8 ATD输入使能寄存器/(180)
8.3.9 端口数据寄存器/(181)
8.3.10 ATD转换结果寄存器/(181)
8.4 ATD模块基础应用实例/(182)
8.5 智能车系统中ATD模块的应用/(184)
8.5.1 ATD模块在基于光电管路径识别方案中的应用/(184)
8.5.2 ATD模块在基于摄像头路径识别方案中的应用/(186)
第9章 S12增强型定时器模块及其应用实例/(190)
9.1 ECT模块概述/(191)
9.1.1 ECT的基本组成与工作原理/(191)
9.1.2 模块内存映射/(195)
9.1.3 ECT模块的中断系统/(198)
9.2 ECT模块的自由运行计数器及定时器基本寄存器/(199)
9.2.1 自由运行主定时器与时钟频率设置/(199)
9.2.2 ECT模块的基本寄存器/(199)
9.3 ECT模块的输入捕捉功能及寄存器设置/(202)
9.3.1 ECT模块的输入捕捉功能/(203)
9.3.2 与输入捕捉功能相关的寄存器/(208)
9.4 ECT模块的输出比较功能及寄存器设置/(214)
9.4.1 ECT模块的输出比较功能/(214)
9.4.2 与输出比较功能相关的寄存器/(215)
9.5 ECT模块的脉冲累加器功能及寄存器设置/(218)
9.5.1 ECT模块的脉冲累加器功能/(218)
9.5.2 与脉冲累加器相关的寄存器/(223)
9.6 ECT模块的模数递减计数器功能及寄存器设置/(229)
9.6.1 ECT模块的模数递减计数器功能/(229)
9.6.2 与模数递减计数器相关的寄存器/(230)
9.7 ECT模块基础应用实例/(233)
9.7.1 输入捕捉功能应用实例/(233)
9.7.2 输出比较功能应用实例/(235)
9.7.3 脉冲累加器功能应用实例/(243)
9.7.4 模数递减计数器功能应用实例/(248)
9.8 智能车系统中ECT模块的应用/(250)
9.8.1 ECT模块的输入捕捉功能在智能车系统中的应用/(250)
9.8.2 ECT模块的脉冲累加器功能在智能车系统中的应用/(250)
9.8.3 ECT模块的模数递减器功能在智能车系统中的应用/(252)
第10章 S12串行通信接口模块及其应用实例/(253)
10.1 SCI模块概述/(253)
10.2 SCI模块结构组成和特点/(253)
10.3 SCI模块寄存器/(254)
10.3.1 SCI波特率寄存器/(255)
10.3.2 SCI控制寄存器1/(255)
10.3.3 SCI控制寄存器2/(257)
10.3.4 SCI状态寄存器1/(258)
10.3.5 SCI状态寄存器2/(260)
10.3.6 SCI数据寄存器/(260)
10.4 SCI模块基础应用实例/(261)
10.5 智能车系统中SCI模块的应用/(264)
第11章 S12 SPI和I2C模块及其应用实例/(268)
11.1 SPI模块/(268)
11.2 SPI模块结构组成和特点/(269)
11.3 SPI模块寄存器及设置/(270)
11.3.1 SPI控制寄存器1/(270)
11.3.2 SPI控制寄存器2/(272)
11.3.3 SPI波特率寄存器/(273)
11.3.4 SPI状态寄存器/(275)
11.3.5 SPI数据寄存器/(276)
11.4 SPI模块基础应用实例/(277)
11.5 I2C总线接口/(280)
11.5.1 I2C总线概述/(280)
11.5.2 I2C总线工作原理/(281)
11.6 I2C模块结构组成和特点/(283)
11.7 I2C模块寄存器及设置/(284)
11.7.1 I2C总线地址寄存器/(284)
11.7.2 I2C总线分频寄存器/(285)
11.7.3 I2C总线控制寄存器/(286)
11.7.4 I2C总线状态寄存器/(287)
11.7.5 I2C总线数据输入/输出寄存器/(289)
11.8 I2C模块在智能车系统中的应用/(289)
第12章 ?C/OS-Ⅱ在S12上的移植与应用/(293)
12.1 实时操作系统的概述/(293)
12.1.1 实时操作系统基本概念/(294)
12.1.2 RTOS常用术语/(294)
12.2 嵌入式实时操作系统?C/OS-Ⅱ/(296)
12.2.1 ?C/OS-Ⅱ概述/(296)
12.2.2 ?C/OS-Ⅱ与其他几种RTOS的比较/(298)
12.3 ?C/OS-Ⅱ的任务/(300)
12.3.1 ?C/OS-Ⅱ中的任务/(300)
12.3.2 任务的划分/(301)
12.4 ?C/OS-Ⅱ在MC9S12DG128上的移植/(301)
12.4.1 定义内核大小和功能/(303)
12.4.2 与硬件相关代码/(307)
12.4.3 建立自己的任务/(315)
附录A S12汇编指令系统汇总表/(317)
附录B S12汇编指令系统汇总表解释说明/(331)
附录C S12汇编指令机器码汇总表/(336)
附录D S12汇编指令机器码汇总表解释说明/(340)
附录E HS12实验开发平台/(341)
参考文献/(344)
猜您喜欢