Freescale HCS08单片机原理及应用
图书信息
书 名: Freescale HCS08单片机原理及应用
作 者:杨明
出版社: 电子工业出版社
出版时间: 2011年10月1日
开本: 16开
定价: 49.80元
内容简介
这是在充分消化吸收Freescale公司原始技术资料的基础上,有机地融入了作者多年来亲自从事该公司MCU开发与教学所积累的知识与经验,并考虑到我国广大读者的单片机知识基础与新的需求编写的,力求便于读者自学。
图书目录
第1章 Freescale HCS08系列
MCU概述 1
1.1 MCU概述 1
1.2 全球著名厂家MCU简介 5
1.2.1 Freescale公司MCU 5
1.2.2 Microchip公司的MCU 6
1.2.3 日系公司MCU 7
1.2.4 MCS-51系列MCU 10
1.2.5 TI公司MSP430系列MCU 10
1.2.6 凌阳公司MCU 11
1.3 MCU的选型 11
1.3.1 MCU的适用性 11
1.3.2 MCU的可开发性 12
1.3.3 MCU的可购买性 13
1.4 Freescale的S08系列MCU简介 13
1.4.1 Freescale S08系列MCU的发展及产品介绍 13
1.4.2 Freescale S08系列MCU命名法 15
1.5 MC9S08AW简介 15
1.6 MC9S08AW外部引脚和最小系统 19
1.6.1 芯片引脚图 19
1.6.2 最小系统连接 19
1.7 MC9S08AW内部框图 24
1.8 MC9S08AW60特性 25
1.9 CPU核HCS08简介 27
1.9.1 特性 27
1.9.2 CPU寄存器 28
1.10 系统时钟和总线周期 34
1.10.1 系统时钟 34
1.10.2 总线周期 34
1.11 思考与练习 35
第2章 存储器 36
2.1 CPU和存储器、寄存器编址方式 36
2.2 MC9S08AW系列的存储器空间分配 38
2.3 RAM 40
2.4 寄存器地址和位分配 41
2.4.1 直接页寄存器 41
2.4.2 高页寄存器 44
2.4.3 非易失性寄存器 46
2.5 Flash 47
2.6 复位和中断向量分配 47
2.7 思考与练习 49
第3章 汇编指令及程序设计 50
3.1 概述 50
3.2 寻址方式 52
3.2.1 隐含寻址方式(INH) 53
3.2.2 立即寻址方式(IMM) 54
3.2.3 直接寻址方式(DIR) 54
3.2.4 扩展寻址方式(EXT) 54
3.2.5 变址寻址方式 55
3.2.6 相对寻址方式(REL) 57
3.2.7 堆栈寻址方式 58
3.2.8 存储器到存储器寻址 59
3.3 特殊操作 61
3.3.1 复位操作 61
3.3.2 中断操作 62
3.3.3 WAIT操作 62
3.3.4 STOP操作 62
3.3.5 BGND指令 63
3.4 指令系统 63
3.4.1 数据传送类指令 64
3.4.2 算术运算类指令 69
3.4.3 逻辑操作类指令 78
3.4.4 位操作类指令 82
3.4.5 转移类指令 84
3.4.6 其他指令 88
3.5 符号与伪指令 93
3.5.1 标号和常量 93
3.5.2 伪指令 94
3.6 汇编语言程序设计 98
3.6.1 汇编语句格式 98
3.6.2 源程序框架结构 99
3.6.3 汇编程序设计 102
3.7 目标代码(S19)文件 106
3.8 Codewarrior软件使用初步 110
3.8.1 Codewarrior软件简介 110
3.8.2 Codewarriror软件的使用 110
3.9 思考与练习 120
第4章 MCU工作模式 122
4.1 简介 122
4.2 特性 122
4.3 Run模式 123
4.4 活动背景调试模式 124
4.5 Wait模式 124
4.6 Stop模式 125
4.6.1 Stop2模式 125
4.6.2 Stop3模式 126
4.6.3 Stop模式下活动BDM的允许 126
4.6.4 Stop模式下LVD的允许 127
4.6.5 Stop模式下的片内外围模块 127
4.7 编程举例 128
4.8 思考与练习 129
第5章 复位、中断和MCLK输出 130
5.1 复位 130
5.1.1 复位种类及复位效果 130
5.1.2 复位状态寄存器 131
5.1.3 引脚复位 133
5.1.4 COP复位 134
5.1.5 系统电源管理复位 138
5.2 中断 145
5.2.1 中断处理过程及堆栈结构 145
5.2.2 中断源和中断向量 147
5.2.3 外部引脚IRQ中断 148
5.2.4 实时中断(RTI) 153
5.3 MCLK输出 157
5.4 思考与练习 158
第6章 内部时钟生成器 160
6.1 模块简介 160
6.1.1 ICG模块框图 160
6.1.2 系统时钟分配 163
6.1.3 特性 164
6.1.4 工作模式 165
6.2 外部引脚 166
6.2.1 EXTAL——外部参考时钟/晶振输入 167
6.2.2 XTAL——晶振输出 167
6.2.3 外部时钟连接 167
6.2.4 外部晶振连接 167
6.3 模块功能描述 168
6.3.1 关断模式(Off) 168
6.3.2 自供时钟模式(SCM) 169
6.3.3 启用FLL且采用内部时钟模式(FEI) 169
6.3.4 旁路FLL且采用外部时钟模式(FBE) 170
6.3.5 启用FLL且采用外部时钟模式(FEE) 170
6.3.6 FLL锁定和失锁检测 171
6.3.7 FLL时钟丢失检测 171
6.3.8 时钟模式设定 172
6.3.9 固定频率时钟 173
6.3.10 高增益振荡器 173
6.4 寄存器定义 174
6.4.1 ICG控制寄存器1(ICGC1) 174
6.4.2 ICG控制寄存器2(ICGC2) 175
6.4.3 ICG状态寄存器1(ICGS1) 176
6.4.4 ICG状态寄存器2(ICGS2) 177
6.4.5 ICG滤波寄存器(ICGFLTU,ICGFLTL) 178
6.4.6 ICG调整寄存器(ICGTRM) 178
6.5 应用举例 179
6.6 思考与练习 186
第7章 并行输入/输出 187
7.1 简介 187
7.2 引脚结构和模块功能 187
7.2.1 引脚方向和数据寄存器 187
7.2.2 引脚控制 189
7.2.3 引脚复位状态 193
7.2.4 Stop模式下的引脚行为 193
7.3 寄存器定义 193
7.3.1 并行I/O寄存器(PTxD,PTxDD) 194
7.3.2 端口控制寄存器(PtxPE、PtxSE、PTxDS) 195
7.4 应用举例 196
7.5 思考与练习 201
第8章 键盘中断模块 203
8.1 简介 203
8.2 内部结构及功能 204
8.2.1 引脚允许 205
8.2.2 边沿和电平触发 206
8.2.3 KBI中断控制 207
8.3 寄存器定义 207
8.3.1 KBI状态和控制寄存器(KBI1SC) 207
8.3.2 KBI引脚允许寄存器(KBI1PE) 208
8.4 应用举例 209
8.5 思考与练习 222
第9章 定时计数器TPM 225
9.1 简介 225
9.2 内部结构及功能 226
9.2.1 计数 228
9.2.2 通道模式选择 229
9.2.3 TPM中断 231
9.2.4 PWM End-of-Duty-Cycle事件 232
9.3 外部信号引脚描述 232
9.3.1 外部TPM时钟源引脚 232
9.3.2 TPMxCHn——TPMx通道n引脚 233
9.4 寄存器定义 233
9.4.1 定时器x状态控制寄存器(TPMxSC) 233
9.4.2 定时器x计数寄存器(TPMxCNTH:
TPMxCNTL) 234
9.4.3 定时器x模数寄存器(TPMxMODH:TPMxMODL) 235
9.4.4 定时器x的通道n状态和控制寄存器(TPMxCnSC) 236
9.4.5 定时器x的通道n值寄存器(TPMxCnVH:
TPMxCnVL) 237
9.5 应用举例 237
9.6 思考与练习 255
第10章 AD转换器 257
10.1 概述 257
10.2 外部信号引脚描述 257
10.2.1 模拟通道输入(ADx) 258
10.2.2 模拟电源 260
10.2.3 模拟参考电压 260
10.3 内部结构及功能 261
10.3.1 输入选择和引脚控制 262
10.3.2 时钟选择和分频控制 263
10.3.3 硬件触发 263
10.3.4 转换控制 263
10.3.5 自动比较功能 265
10.3.6 温度传感器 266
10.3.7 低功耗模式 266
10.3.8 误差源 267
10.4 寄存器定义 269
10.4.1 引脚控制寄存器(APCTLx) 269
10.4.2 状态和控制寄存器1(ADC1SC1) 270
10.4.3 状态和控制寄存器2(ADC1SC2) 271
10.4.4 配置寄存器(ADC1CFG) 272
10.4.5 数据结果寄存器(ADC1RH:ADC1RL) 273
10.4.6 比较值寄存器(ADC1CVH:ADC1CVL) 274
10.5 应用举例 274
10.6 思考与练习 283
第11章 串行通信接口 284
11.1 简介 284
11.2 内部结构和功能 284
11.2.1 波特率生成器 284
11.2.2 发送器描述 286
11.2.3 接收器描述 287
11.2.4 中断和状态标志 290
11.2.5 SCI其余功能 291
11.3 寄存器定义 292
11.3.1 SCI波特率寄存器(SCIxBDH,SCIxBDL) 292
11.3.2 SCI控制寄存器1(SCIxC1) 292
11.3.3 SCI控制寄存器2(SCIxC2) 293
11.3.4 SCI控制寄存器3(SCIxC3) 295
11.3.5 SCI状态寄存器1(SCIxS1) 296
11.3.6 SCI状态寄存器2(SCIxS2) 297
11.3.7 SCI数据寄存器(SCIxD) 298
11.4 应用举例 298
11.5 思考与练习 304
第12章 串行外围接口 306
12.1 SPI总线简介 306
12.1.1 SPI总线信号 306
12.1.2 SPI总线时序 307
12.2 S08的SPI模块简介 309
12.3 内部结构及功能描述 311
12.3.1 SPI模块框图 311
12.3.2 功能描述 312
12.4 寄存器定义 314
12.4.1 SPI控制寄存器1(SPI1C1) 314
12.4.2 SPI控制寄存器2(SPI1C2) 315
12.4.3 SPI波特率寄存器(SPI1BR) 316
12.4.4 SPI状态寄存器(SPI1S) 316
12.4.5 SPI数据寄存器(SPI1D) 317
12.5 应用举例 318
12.6 思考与练习 321
第13章 IIC总线接口 322
13.1 IIC总线简介 322
13.1.1 START信号 324
13.1.2 从设备地址传输 324
13.1.3 数据传输 324
13.1.4 STOP信号 325
13.1.5 重复的START信号 325
13.1.6 仲裁过程 325
13.1.7 时钟同步 325
13.1.8 握手 326
13.1.9 时钟伸长 326
13.2 S08的IIC模块简介 326
13.2.1 内部结构及寄存器定义 327
13.2.2 IIC模块的中断 333
13.2.3 功能描述 334
13.3 应用举例 335
13.4 思考与练习 340
第14章 Flash的保护、加密及擦写 341
14.1 Flash特性 341
14.2 Flash的块保护、加密和
向量重定位 342
14.2.1 块保护 342
14.2.2 加密 343
14.2.3 向量重定位 346
14.3 Flash的擦写 346
14.3.1 擦除和写入时间 346
14.3.2 擦除和编程命令的执行 348
14.3.3 突发编程命令的执行 350
14.3.4 访问错误 353
14.4 Flash编程举例 353
14.5 思考与练习 360
附录A HCS08指令集 361
A.1 引言 361
A.2 命名规则 361
A.3 规范定义 364
A.4 指令集 364
附录B MC9S08AW60.inc文件
部分内容 384
附录C 英文缩写对照表 391
参考文献 393