前 言
第1 章 单片机概述 1
1 1 单片机简介 1
1. 2 单片机的广泛应用 1
1. 3 单片机的发展历史 3
1. 4 从门电路到单片机 4
1. 4. 1 半导体晶体管的开关特性 4
1. 4. 2 组合逻辑电路 4
1. 4. 3 时序逻辑电路 9
1. 4. 4 单片机的硬件构成 10
1. 5 数制转换 11
1. 6 飞思卡尔16 位单片机 13
1. 6. 1 Freescale 16 位单片机命名参考
规则 13
1. 6. 2 MC9S12X 系列单片机 14
思考题与习题 15
第2 章 S12XS 单片机的内部结构
分析 16
2. 1 MC9S12XS 单片机的性能 16
2. 1. 1 MC9S12XS 内部模块 16
2. 1. 2 MC9S12XS 单片机的引脚及
功能 18
2. 2 CPU 的构成 21
2. 2. 1 算术逻辑单元(ALU) 21
2. 2. 2 控制单元 21
2. 2. 3 核心寄存器组 22
2. 3 存储器 24
2. 3. 1 基本存储空间 24
2. 3. 2 扩展地址空间 24
2. 3. 3 全局存储器映射 25
2. 3. 4 MC9S12XS128 全局存储器
映射 27
2. 4 并行I/ O 口 29
2. 4. 1 A、B、E 和K 口 29
2. 4. 2 T、S、M、P、H 和J 口 30
2. 4. 3 AD 口 32
2. 5 时钟与复位模块 32
2. 5. 1 时钟模块 32
2. 5. 2 锁相环应用范例 36
2. 5. 3 复位 38
思考题与习题 39
第3 章 单片机最小系统与软件运行
环境 40
3. 1 硬件电路设计 40
3. 1. 1 单片机电源电路设计 40
3. 1. 2 S12 单片机时钟电路设计 41
3. 1. 3 复位电路设计 42
3. 1. 4 BDM 接口电路设计 42
3. 2 Code Warrior V5. 1 软件使用指南 43
3. 2. 1 软件安装 43
3. 2. 2 关于BDM 驱动 44
3. 2. 3 创建一个新的工程 45
3. 2. 4 编译与调试 48
3. 3 并口输出范例 50
3. 3. 1 编写简单的应用程序 51
3. 3. 2 LED 闪动程序 52
3. 3. 3 复位自检程序 52
3. 3. 4 流水灯程序 54
思考题与习题 55
第4 章 中断系统 56
4. 1 中断的概念 56
4. 2 中断源 56
4. 3 S12XS 单片机的中断响应和中断
返回 59
4. 4 优先权排队 60
4. 5 中断嵌套 60
4. 6 中断服务子程序设计 61
4. 6. 1 IRQ 使用范例 62
4. 6. 2 XIRQ 使用范例 64
思考题与习题 66
第5 章 串行口 67
5. 1 串行通信概述 67
5. 1. 1 串行通信的两种基本方式 67
5. 1. 2 发送时钟和接收时钟 68
5. 1. 3 串行通信标准 69
MC9S12 单片机原理及嵌入式应用开发技术(第2 版)
Ⅵ
5. 2 同步外设接口SPI 模块 71
5. 2. 1 SPI 模块概述 71
5. 2. 2 SPI 寄存器 72
5. 2. 3 SPI 应用范例 76
5. 3 SCI 模块 79
5. 3. 1 SCI 模块的结构及功能 79
5. 3. 2 SCI 模块寄存器 80
5. 3. 3 SCI 应用范例 84
思考题与习题 97
第6 章 定时器相关模块 98
6. 1 定时器/计数器概述 98
6. 2 TIM 模块 98
6. 2. 1 TIM 模块的结构及功能 99
6. 2. 2 TIM 模块寄存器 100
6. 2. 3 TIM 模块应用范例 106
6. 3 PIT 模块 112
6. 3. 1 PIT 模块的结构及功能 113
6. 3. 2 PIT 模块寄存器 114
6. 3. 3 PIT 模块应用范例 117
6. 4 PWM 模块 122
6. 4. 1 PWM 功能 123
6. 4. 2 PWM 模块寄存器 123
6. 4. 3 PWM 模块应用范例 127
思考题与习题 132
第7 章 A ̄D 转换模块 133
7. 1 A ̄D 转换模块概述 133
7. 1. 1 A ̄D 转换原理 133
7. 1. 2 S12XS 系列MCU 内置A ̄D 转换
模块 134
7. 2 A ̄D 转换寄存器 135
7. 2. 1 A ̄D 输入使能寄存器 135
7. 2. 2 A ̄D 控制寄存器 135
7. 2. 3 A ̄D 比较寄存器 139
7. 2. 4 A ̄D 转换状态寄存器 140
7. 2. 5 A ̄D 结果寄存器 140
7. 3 A ̄D 转换应用范例 141
7. 3. 1 应用注意事项 141
7. 3. 2 应用范例 142
思考题与习题 143
第8 章 嵌入式实时操作系统使用
范例 144
8. 1 嵌入式实时操作系统 144
8. 1. 1 嵌入式实时操作系统简介 144
8. 1. 2 嵌入式实时操作系统
μC/ OS ̄II 144
8. 2 移植μC/ OS ̄II 146
8. 2. 1 重新定义内核的大小和功能 147
8. 2. 2 OS—CPU. H 150
8. 2. 3 编写与硬件相关的代码 152
8. 2. 4 中断服务子程序OSTickISR() 152
8. 2. 5 任务堆栈初始化函数
OSTaskStkInit() 154
8. 2. 6 让优先级最高的就绪态任务开始
运行函数OSStartHighRdy() 155
8. 2. 7 任务级任务切换函数
OSCtxSw() 156
8. 2. 8 中断级任务切换函数
OSIntCtxSw() 157
8. 2. 9 相关接口函数 159
8. 3 应用范例 159
8. 3. 1 相关声明 160
8. 3. 2 主函数main() 161
8. 3. 3 系统任务函数AppStartTask() 162
8. 3. 4 用户任务1 AppTask1() 164
8. 3. 5 用户任务2 AppTask2() 165
8. 3. 6 用户任务3 AppTask3() 166
8. 3. 7 链接与程序定位 168
第9 章 单片机测控系统设计 169
9. 1 微机测控系统的组成 169
9. 1. 1 微机测控系统硬件 169
9. 1. 2 微机测控系统软件 170
9. 2 微机测控系统的常用器件 171
9. 2. 1 集成运算放大器及其应用 171
9. 2. 2 电压比较器 174
9. 2. 3 隔离放大器 175
9. 2. 4 光耦合器 177
9. 2. 5 固态继电器 179
9. 3 键盘、显示接口 181
9. 3. 1 键盘 181
9. 3. 2 7 段LED 显示 182
9. 3. 3 键盘显示接口范例 183
思考题与习题 186
参考文献 187