第1章 微控制器概述 1
1.1 微控制器 1
1.2 国内外微控制器现状 2
1.3 嵌入式微控制器系统特点 5
1.4 新型S08微控制器的优势 6
1.5 S08AW与S08AC系列微控制器的异同 10
1.6 微控制器的发展和选用 11
第2章 S08AW微控制器结构及原理 14
2.1 S08AW特性 14
2.2 S08AW结构 16
2.3 S08AW引脚 17
2.4 S08基本系统电路 19
2.5 S08系统时钟和系统运行监视 23
2.6 S08AW运行模式 25
第3章 S08存储器 28
3.1 S08MCU存储器分类及特点 28
3.2 S08AW存储器组织 29
3.3 S08AW的Flash存储器 36
3.4 S08AW向量和非易失性寄存器 37
第4章 S08 CPU及指令系统 40
4.1 S08 CPU结构与CPU寄存器 40
4.2 S08汇编指令格式 43
4.3 S08 CPU寻址方式 44
4.3.1 7种寻址方式 45
4.3.2 变址寻址方式 47
4.3.3 存储器至存储器的数据传送 49
4.3.4 特殊操作 50
4.4 S08常用基本指令 51
4.4.1 数据传送类指令 52
4.4.2 算术运算类指令 56
4.4.3 数据和位操作指令 62
4.4.4 逻辑操作指令 65
4.4.5 程序控制类指令 67
4.4.6 中断指令 72
4.4.7 CPU控制类指令 74
第5章 S08汇编程序设计与实例 76
5.1 S08汇编语言程序基础 76
5.1.1 汇编语言指令格式 76
5.1.2 数据表示方法 79
5.2 S08汇编程序伪指令 79
5.3 S08汇编语言程序设计实例 82
5.3.1 简单程序设计 83
5.3.2 分支程序设计 84
5.3.3 循环程序设计 86
5.3.4 查表程序设计 91
5.4 S08子程序设计与堆栈技术 93
5.4.1 子程序设计实例 93
5.4.2 堆栈结构 95
5.5 S08控制程序设计实例 96
第6章 S08输入/输出接口 100
6.1 S08 I/O端口原理 100
6.1.1 I/O端口引脚分布 100
6.1.2 I/O端口工作原理 102
6.2 S08AW I/O端口设置 104
6.2.1 端口A相关寄存器 104
6.2.2 端口B相关寄存器 106
6.2.3 端口C相关寄存器 108
6.2.4 端口D相关寄存器 110
6.2.5 端口E相关寄存器 112
6.2.6 端口F相关寄存器 114
6.2.7 端口G相关寄存器 115
6.3 S08键盘与显示应用设计 117
6.3.1 独立式按键接口 118
6.3.2 矩阵式键盘接口 121
6.3.3 LED数码管显示接口 126
第7章 S08的复位、中断和系统设置 136
7.1 S08 MCU复位 136
7.1.1 系统选项寄存器SOPT 137
7.1.2 系统复位状态寄存器SRS 138
7.2 S08AW中断 139
7.2.1 中断源和优先级 140
7.2.2 中断处理及堆栈 142
7.2.3 外部中断引脚IRQ 143
7.2.4 低电压检测系统 144
7.2.5 实时中断RTI 146
7.2.6 其他寄存器 148
7.3 S08AW键盘中断 150
7.3.1 键盘中断原理 150
7.3.2 键盘中断状态和控制寄存器KBI1SC 151
7.3.3 键盘中断引脚使能寄存器KBI1PE 151
7.4 S08AW停止模式 156
7.4.1 STOP1模式 156
7.4.2 STOP2模式 157
7.4.3 STOP3模式 157
7.4.4 停止模式下片上外设模块 158
第8章 S08定时器模块 160
8.1 S08AW定时器基本功能 160
8.1.1 定时器模块寄存器 162
8.1.2 定时器计数模式 168
8.1.3 定时器计数溢出和预置数溢出 168
8.2 S08AW定时器输入捕捉功能 170
8.2.1 输入捕捉概念 170
8.2.2 输入捕捉操作 170
8.3 S08AW定时器输出比较功能 173
8.3.1 输出比较概念 173
8.3.2 输出比较操作 174
8.4 S08AW脉宽调制功能 175
8.4.1 边缘对齐PWM 176
8.4.2 中央对齐PWM 178
第9章 S08模/数转换模块 182
9.1 S08AW ADC模块概述 182
9.2 逐次逼近式ADC原理及主要技术指标 184
9.2.1 逐次逼近式ADC原理 184
9.2.2 技术指标 185
9.3 S08 ADC模块寄存器 185
9.3.1 ADC状态和控制寄存器(ADC1SC1,ADC1SC2) 186
9.3.2 ADC配置寄存器(ADC1CFG) 188
9.3.3 ADC数据结果寄存器(ADC1RH,ADC1RL) 190
9.3.4 比较值寄存器(ADC1CVH,ADC1CVL) 191
9.3.5 引脚控制寄存器(APCTL1,APCTL2) 192
9.4 S08 A/D转换过程 193
第10章 S08内部时钟发生器 203
10.1 S08时钟系统 203
10.2 S08AW时钟系统特性 205
10.3 S08AW时钟操作模式 206
10.3.1 模式1——OFF模式 206
10.3.2 模式2——自时钟模式 206
10.3.3 S08AW时钟操作寄存器 207
10.3.4 模式3——FLL使能内部参考时钟 211
10.3.5 模式4——外部时钟 211
10.3.6 模式5——FLL使能外部参考时钟 212
10.3.7 ICG时钟模式状态表 213
10.4 S08AW时钟初始化应用实例 215
第11章 S08串行通信模块 221
11.1 串行通信基础 221
11.1.1 串行通信基本概念 221
11.1.2 RS-232C标准及特点 224
11.2 S08串行通信接口 225
11.2.1 SCI寄存器设置 226
11.2.2 SCI中断 235
11.2.3 SCI应用实例 235
11.3 S08串行外设接口模块 240
11.3.1 SPI介绍 240
11.3.2 SPI寄存器 243
11.3.3 SPI中断 247
11.3.4 SPI应用实例 248
第12章 S08 IIC模块 253
12.1 S08 IIC介绍 253
12.1.1 IIC总线基本知识 253
12.1.2 IIC设备连接 253
12.1.3 位传输及开始和停止信号 254
12.1.4 从地址传输 255
12.1.5 传输数据 256
12.2 S08 IIC模块 257
12.3 S08 IIC中断 262
12.4 S08 IIC模块应用实例 262
12.4.1 AT24C02B介绍 263
12.4.2 IIC通信时EEPROM地址 263
12.4.3 对AT24C02B写操作 264
12.4.4 对AT24C02B读操作 265
12.4.5 硬件接口及软件实现 265
第13章 S08微控制器应用设计实例 272
13.1 光电式转速测量及LCD显示电路设计 272
13.1.1 光电式转速测量电路 272
13.1.2 LCD1602字符型液晶显示模块 274
13.1.3 测速系统软件设计 276
13.2 CMOS图像传感器与S08AW接口设计 284
13.2.1 智能车总体设计 285
13.2.2 CMOS图像传感器与S08AW硬件接口 287
13.2.3 图像数据处理程序设计思路 288
13.2.4 C程序设计 290
13.3 微型直流电动机PWM控制 299
13.3.1 硬件电路 299
13.3.2 软件设计 300
13.4 基于红外线道路识别的智能车转向系统设计 303
13.4.1 赛道检测与转向控制硬件设计 303
13.4.2 赛道检测与转向控制软件设计 304
13.5 实时时钟DS1302与S08接口设计 310
13.5.1 DS1302介绍 310
13.5.2 DS1302功能及设置 311
13.5.3 S08 MCU与DS1302接口 314
13.6 S08AW的Flash模拟EEPROM 320
第14章 S08在线调试工具及其应用 326
14.1 基于BDM调试器硬件连接 326
14.2 S08集成开发环境CodeWarrior的使用 327
14.2.1 用CodeWarrior开发第一个应用程序 328
14.2.2 输入和编辑main.c程序 334
14.3 S08完全软件仿真 336
14.3.1 应用程序的建立与编译 336
14.3.2 调试窗口介绍 338
14.3.3 软件仿真下调试 339
14.4 S08在线调试 340
14.4.1 调试器USB驱动程序及BDM安装 341
14.4.2 程序下载 347
附录A S08 CPU指令系统 351
附录B S08AW高页寄存器 365
附录C S08AW系列引脚分布图 367
附录D S08AW系列存储器分配 369
附录E 寄存器中英文对照 371
参考文献 378