图书介绍
Freescale 9S12十六位单片机原理及嵌入式开发技术PDF|Epub|txt|kindle电子书版本网盘下载
![Freescale 9S12十六位单片机原理及嵌入式开发技术](https://www.shukui.net/cover/37/30109380.jpg)
- 孙同景主编 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111238836
- 出版时间:2008
- 标注页数:468页
- 文件大小:87MB
- 文件页数:480页
- 主题词:单片微型计算机-理论;单片微型计算机-程序设计
PDF下载
下载说明
Freescale 9S12十六位单片机原理及嵌入式开发技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
序1
前言1
第1章 Freescale单片机概述1
1.1 Freescale 8位单片机1
1.1.1 MC68HC08系列2
1.1.2 MC68HCS08系列5
1.1.3 MC9RS08系列6
1.2 Freescale 16位单片机6
1.2.1 Freescale 16位单片机命名参考规则6
1.2.2 MC68HC12系列单片机7
1.2.3 MC9S12系列单片机8
1.2.4 MC9S12X系列单片机13
1.3 Freescale 32位单片机16
1.4 Freescale DSC型单片机21
1.5 习题24
第2章 MC9S12单片机的内核及片上资源25
2.1 MC9S12单片机的内部结构及引脚功能25
2.1.1 内部结构25
2.1.2 引脚分配27
2.1.3 CPU12内核结构32
2.1.4 指令队列34
2.1.5 堆栈34
2.1.6 低功耗模式35
2.2 MC9S12的存储器36
2.2.1 存储空间分配36
2.2.2 相关映射寄存器37
2.3 寄存器区40
2.4 复位、时钟和中断系统54
2.4.1 复位模块54
2.4.2 振荡器与时钟电路56
2.4.3 中断系统61
2.5 EEPROM和Flash的擦写操作69
2.5.1 EEPROM的擦写操作69
2.5.2 Flash的擦写操作74
2.6 MC9S12片上外围功能模块简介78
2.6.1 串行外设接口(SPI)79
2.6.2 串行通信接口(SCI)80
2.6.3 I2C总线接口82
2.6.4 增强型捕捉定时器(ECT)82
2.6.5 模数转换器(ATD)84
2.6.6 脉宽调制模块(PWM )85
2.6.7 CAN控制器85
2.7 MC9S12单片机最小系统的硬件设计87
2.7.1 时钟电路89
2.7.2 串行口的RS-232驱动电路89
2.7.3 BDM接口电路及功能89
2.7.4 电源电路90
2.7.5 复位电路90
2.7.6 LED调试显示90
2.8 习题90
第3章 MC9S12单片机的指令系统及汇编语言程序设计91
3.1 指令格式及寻址方式91
3.1.1 隐含寻址91
3.1.2 立即数寻址91
3.1.3 直接寻址91
3.1.4 扩展寻址91
3.1.5 相对寻址92
3.1.6 变址寻址92
3.1.7 累加器变址寻址92
3.1.8 带自动加、减的5位偏移量的变址寻址93
3.2 指令系统93
3.2.1 加载、存储指令93
3.2.2 传送、交换指令95
3.2.3 MOVE指令98
3.2.4 加法、减法指令99
3.2.5 二-十进制调整指令101
3.2.6 加一、减一指令102
3.2.7 比较、测试指令104
3.2.8 逻辑运算指令105
3.2.9 清零、求补、取反指令107
3.2.10 乘法、除法指令109
3.2.11 乘加指令112
3.2.12 位测试、位操作指令113
3.2.13 移位、循环指令114
3.2.14 模糊逻辑指令118
3.2.15 最大值、最小值指令122
3.2.16 查表差值指令122
3.2.17 转移指令124
3.2.18 循环控制指令127
3.2.19 跳转、子程序调用指令128
3.2.20 中断指令129
3.2.21 堆栈操作指令130
3.2.22 其他指令131
3.3 汇编语言程序设计132
3.3.1 常量的表示133
3.3.2 常用汇编伪指令133
3.3.3 宏定义137
3.3.4 汇编程序设计举例138
3.4 习题143
第4章 MC9S12单片机开发工具—CodeWarrior软件144
4.1 CodeWarrior的安装144
4.1.1 系统需求144
4.1.2 CodeWarrior的安装与卸载144
4.2 CodeWarrior集成开发环境介绍146
4.2.1 CodeWarrior的功能特点146
4.2.2 集成环境与功能设置146
4.3 用CodeWarrior开发MC9S12系列单片机158
4.3.1 建立和打开工程158
4.3.2 编写程序源代码163
4.3.3 编译和链接164
4.4 软件仿真调试方法166
4.4.1 菜单栏167
4.4.2 工具栏167
4.4.3 子窗口167
4.5 BDM调试方法168
4.5.1 BDM的制作168
4.5.2 安装BDM的USB驱动程序170
4.5.3 BDM接头定义和使用170
4.5.4 BDM调试过程171
4.6 监控程序调试方法173
4.6.1 监控程序的下载174
4.6.2 使用监控程序进行调试175
4.6.3 认识S格式文件175
4.7 GCC调试工具176
4.7.1 GCC简介176
4.7.2 用GCC开发HCS12单片机程序178
4.8 习题179
第5章 MC9S12的C语言程序设计及调试181
5.1 使用C语言的好处181
5.2 C语言编程的常见问题181
5.2.1 关于循环次数181
5.2.2 赋值与相等183
5.2.3 多文件C语言工程的头文件183
5.2.4 运算符的优先级及括号的使用183
5.2.5 位运算的左移与右移184
5.2.6 有争议的goto语句184
5.2.7 内部函数和外部函数184
5.2.8 空指针null184
5.2.9 程序设计风格185
5.3 MC9S12的C编程与ANSIC的不同185
5.3.1 变量185
5.3.2 资源映射189
5.3.3 C语言的中断191
5.3.4 标准C库191
5.3.5 C语言入口191
5.3.6 程序的链接与定位192
5.3.7 程序举例193
5.4 习题198
第6章 MC9S12单片机I/O接口和功能模块199
6.1 通用I/O接口199
6.1.1 I/O接口的功能及设置方法199
6.1.2 程序举例202
6.2 片内串行总线接口203
6.2.1 SPI总线接口203
6.2.2 SCI总线接口212
6.2.3 I2C总线接口218
6.3 增强型捕捉定时器模块226
6.3.1 ECT模块的功能描述227
6.3.2 ECT模块的寄存器设置228
6.3.3 ECT的应用设置244
6.3.4 ECT的应用举例244
6.4 ATD模块247
6.4.1 ATD模块的结构组成及特点247
6.4.2 ATD模块的设置249
6.4.3 ATD模块的应用设置258
6.4.4 ATD模块的中断系统260
6.4.5 ATD的应用举例260
6.5 PWM模块261
6.5.1 PWM模块的功能描述262
6.5.2 PWM模块的寄存器设置262
6.5.3 PWM模块的应用设置272
6.5.4 PWM模块的复位和中断277
6.5.5 PWM的应用举例277
6.6 MSCAN模块278
6.6.1 CAN的基本原理和应用领域279
6.6.2 MSCAN的组成与工作过程281
6.6.3 MSCAN的寄存器设置282
6.6.4 MSCAN模块的功能描述299
6.6.5 时间标记304
6.6.6 运行模式304
6.6.7 低能耗模式304
6.6.8 MSCAN的中断307
6.6.9 中断的确认307
6.6.10 停止和等待模式的恢复307
6.6.11 MSCAN的初始化307
6.6.12 MSCAN中断接收数据的例子308
6.7 习题311
第7章 嵌入式实时操作系统μC/OS-Ⅱ312
7.1 嵌入式系统和嵌入式操作系统312
7.1.1 嵌入式系统的概念312
7.1.2 嵌入式系统的基本要素312
7.1.3 嵌入式系统体系结构313
7.1.4 评价实时系统的指标314
7.1.5 嵌入式系统的应用领域314
7.2 嵌入式操作系统的几个主要概念315
7.2.1 前后台系统315
7.2.2 任务315
7.2.3 上下文切换315
7.2.4 内核316
7.2.5 任务优先级316
7.2.6 可重入型函数318
7.2.7 调度319
7.2.8 非占先式内核320
7.2.9 占先式内核321
7.2.10 代码临界区321
7.2.11 时钟节拍321
7.2.12 信号量322
7.2.13 死锁323
7.2.14 消息队列323
7.2.15 中断324
7.3 μC/OS-Ⅱ简介324
7.3.1 公开源代码325
7.3.2 占先式内核325
7.3.3 基于优先级,不支持时间片轮转325
7.3.4 对共享资源提供了保护机制326
7.3.5 系统的可靠性326
7.3.6 系统的开销327
7.3.7 μC/OS-Ⅱ的移植327
7.3.8 编译与启动327
7.4 μC/OS-Ⅱ的任务327
7.4.1 用户任务的结构328
7.4.2 任务优先级328
7.4.3 任务状态329
7.4.4 任务堆栈330
7.4.5 任务的数据结构—任务控制块331
7.5 μC/OS-Ⅱ的任务调度334
7.5.1 任务就绪表334
7.5.2 获得就绪任务控制块的指针338
7.5.3 任务的切换339
7.5.4 调度器的上锁和开锁339
7.6 任务操作函数340
7.6.1 任务的创建341
7.6.2 任务的删除348
7.6.3 任务的挂起与“解挂”349
7.6.4 改变任务的优先级351
7.6.5 任务删除请求352
7.6.6 任务堆栈检查353
7.6.7 任务的查询354
7.7 任务的同步和通信356
7.7.1 任务间通信手段356
7.7.2 事件控制块ECB356
7.7.3 信号量359
7.7.4 邮箱364
7.7.5 消息队列369
7.7.6 互斥量376
7.8 事件标志组379
7.9 μC/OS-Ⅱ中的时间管理380
7.9.1 系统中断380
7.9.2 时钟节拍380
7.9.3 系统延时处理381
7.9.4 系统时钟384
7.9.5 时钟节拍函数384
7.10 内存管理385
7.11 多任务的启动385
7.12 空闲任务386
7.13 习题386
第8章 μC/OS-Ⅱ的移植与使用387
8.1 μC/OS-Ⅱ的文件体系结构387
8.2 在MC9S12单片机上移植μC/OS-Ⅱ387
8.2.1 移植需求388
8.2.2 开发工具388
8.3 μC/OS-Ⅱ在MC9S12单片机上移植的步骤388
8.4 μC/OS-Ⅱ在MC9S12单片机上移植要点389
8.4.1 不依赖编译器的数据类型389
8.4.2 代码临界区函数OS_ENTER_CRITICAL和OS_EXIT_CRITICAL390
8.4.3 定义函数OS_TASK_SW()执行任务切换391
8.4.4 任务堆栈的增长方向391
8.4.5 定义函数OSCtxSw实现用户级上下文切换,用汇编语言实现391
8.4.6 定义函数OSIntCtxSw实现中断级任务切换392
8.4.7 定义函数OSTickISR393
8.4.8 定义OSTaskStkInit来初始化任务的堆栈395
8.5 μC/OS-Ⅱ可裁剪性的实现395
8.5.1 与函数相关的可裁剪常量395
8.5.2 可裁剪常量的选择与设置397
8.6 使用μC/OS-Ⅱ创建并运行任务400
8.6.1 创建任务400
8.6.2 主程序的编写403
8.6.3 使用信号量进行共享资源的管理404
8.6.4 使用邮箱进行任务间通信405
8.6.5 使用消息队列进行任务间通信406
8.7 习题408
第9章 综合举例409
9.1 MC9S12在直流电动机调速中的应用409
9.1.1 直流电动机的速度控制方案409
9.1.2 PID控制算法的调节规律410
9.1.3 速度的设定以及速度的获取411
9.1.4 直流电动机驱动模块412
9.1.5 控制软件的编写413
9.2 MC9S12单片机在汽油发动机控制中的应用418
9.2.1 发动机的怠速控制418
9.2.2 发动机的起动控制424
9.2.3 发动机的加减速控制427
9.2.4 发动机的停机控制429
附录432
附录A 汇编指令表与指令的机器码组织432
附录B CPU12指令机器码表461
附录C 基本实验系统原理图467
参考文献468