《嵌入式微控制器》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Todd D. Morton著;严隽永译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2005
  • ISBN:7111167066
  • 页数:499 页
图书介绍:本书介绍用于嵌入式系统的微控制器技术。

目录出版者的话专家指导委员会译者序前言第一部分 引言第1章 微控制器引言 1

1.1 微型计算机 2

1.1.1 微处理器 3

1.1.2 总线系统 3

1.1.3 存储器类型和应用 6

1.1.4 I/O器件 9

1.2 68HC11和68HC12微控制器 10

1.3 历史概述 10

1.4 软件和硬件开发 11

1.4.1 概念与问题定义 12

1.4.2 要求与规格 13

1.4.3 体系结构的设计 13

1.4.4 详细设计和构筑 14

1.4.5 最终原型构筑和整合 15

1.4.6 评审 15

1.4.7 单元测试 15

1.4.8 发布 15

小结 16

习题 16

2.1 编程语言 17

2.1.1 机器语言 17

第二部分 汇编语言编程第2章 编程基础 17

2.1.2 汇编语言 18

2.1.3 高级语言C 19

2.2 程序段类型 20

2.3 软件构筑 21

2.3.1 代码黑客 22

2.3.2 患有键盘恐惧症的完美主义者 22

2.3.3 成为好的程序员 22

2.3.4 构筑时段 22

小结 23

习题 23

第3章 简单汇编代码构筑 24

3.1 汇编源代码 25

3.1.1 程序内容与组织 26

3.1.2 汇编语言语法 27

3.1.3 汇编伪指令 28

3.2 基本建造过程 32

3.3 运行时调试——教学辅导 35

3.3.1 调试硬件配置 35

3.3.2 调试监控程序 36

3.3.3 加载S记录文件 37

3.3.4 寄存器和存储器内容显示及修改 37

3.3.5 软件断点 38

3.3.6 指令跟踪 39

3.3.7 其他调试工具 40

小结 41

习题 41

第4章 CPU12编程模型 42

4.1 CPU寄存器集 42

4.2 CPU12寻址方式 44

4.2.1 固有寻址 44

4.2.2 立即寻址 44

4.2.3 扩展与直接寻址 45

4.2.4 68HC11变址寻址 46

4.2.5 CPU12变址寻址 47

4.2.6 常量偏移变址寻址 48

4.2.7 自动递增与递减变址寻址 49

4.2.8 寄存器偏移变址寻址 50

4.2.9 变址间接寻址 51

4.2.10 8位相对寻址 52

4.2.11 CPU12长相对寻址方式 52

4.2.12 大于64KB的寻址 52

4.3 CPU12指令集 53

小结 53

习题 54

5.1.2 寄存器加载 55

5.1.1 数据传送即数据复制 55

5.1 数据传送 55

第5章 基本汇编编程方法 55

5.1.3 加载有效地址 56

5.1.4 寄存器存入指令 56

5.1.5 传送与交换 56

5.1.6 交换指令 58

5.1.7 清零指令 58

5.1.8 CPU12移动指令 58

5.2 栈的运用 59

5.2.1 栈指令 59

5.2.2 CPU12栈操作 59

5.2.3 CPU11栈操作 61

5.2.4 栈的运用规则 62

5.3 基本算术编程 63

5.3.1 加法指令 63

5.3.2 8位二进制加法 63

5.3.3 多字节二进制加法 64

5.3.4 BCD加法 66

5.3.5 变址寄存器加法 66

5.3.6 减法指令 67

5.3.7 8位二进制减法 67

5.3.8 多字节二进制减法 68

5.3.9 BCD减法 69

5.3.11 递减和递增指令 70

5.3.10 比较和测试 70

5.4 移位和旋转 71

5.5 布尔逻辑、位测试和位操纵 72

5.5.1 布尔逻辑指令 73

5.5.2 位操纵 73

5.5.3 位测试 74

5.5.4 位测试与操纵指令 76

5.6.1 跳转指令 77

5.6.2 分支 77

5.6 分支和跳转 77

5.6.3 条件分支 79

5.6.4 长条件分支 81

5.6.5 位条件分支 81

5.7 子程序 82

5.7.1 子程序流程 83

5.7.2 子程序基本方法 85

5.8 位置独立性 87

5.8.1 位置不独立代码 88

5.8.2 源可重定位代码 88

5.8.3 目标可重定位代码 88

习题 90

小结 90

第6章 汇编语言程序的设计与结构 94

6.1 设计与文档工具 94

6.1.1 流程图 94

6.1.2 伪C语言 96

6.2 结构化控制构件 97

6.2.1 顺序构件 97

6.2.2 条件构件 97

6.2.3 循环构件 101

6.3 数据存储 106

6.3.1 数据对象 106

6.3.2 寄存器变量 107

6.3.3 全局变量 108

6.3.4 局部变量 109

6.4 程序结构 110

6.5 参数传递 111

6.5.1 参数传递类型 111

6.5.2 利用CPU寄存器 112

6.5.3 利用栈 113

6.5.4 利用全局变量通信 116

小结 117

习题 118

7.1.2 延迟例程设计 119

7.1.1 指令定时 119

第7章 汇编应用 119

7.1 软件延迟例程 119

7.2 I/O数据转换 122

7.2.1 ASCII转换 122

7.2.2 BCD与十六进制之间的转换 126

7.2.3 二进制转换 129

7.3 基本I/O例程 133

7.3.1 字符型I/O 134

7.3.2 字符串I/O 134

7.3.3 数据输入与输出 137

7.4.1 二进制小数与复合数 145

7.4 定点算术 145

7.3.4 本节小结 145

7.4.2 复合数所引起的误差 148

7.4.3 乘法 150

7.4.4 除法 153

小结 159

习题 159

第三部分 微控制器硬件与I/O第8章 实时I/O与多任务引论 161

8.1 实时系统 161

8.2 CPU负荷 162

8.3 I/O检测和响应 162

8.3.1 无条件I/O 163

8.3.2 事件驱动I/O 165

8.3.3 硬件事件检测 170

8.3.4 基于中断的检测与响应 173

8.3.5 定时事件循环 176

8.3.6 开关去跳动与噪声避免 178

8.4 基本协同性多任务 182

8.4.1 任务与核 182

8.4.2 时间片循环性调度器 183

8.4.3 简单计时器举例 186

8.4.4 本节小结 191

8.5.1 CPU12中断源 192

8.5 CPU12中断的运用 192

8.5.2 CPU12中断处理过程 193

8.5.3 在D-Bug12下的中断运用 194

8.5.4 中断潜伏 195

8.5.5 多重中断和优先级 196

8.5.6 临界区 199

8.5.7 外部中断 200

8.5.8 软件中断 201

8.5.9 中断使用要点 201

8.6.2 非侵犯性信号观察 202

8.6.1 用D-Bug12进行实时调试 202

8.6 基本实时调试 202

8.6.3 硬件和软件辅助器 203

小结 204

习题 205

第9章 微控制器I/O资源 206

9.1 通用I/O 206

9.1.1 功能评述 206

9.1.2 接口 207

9.1.3 功率耗散限制 211

9.1.4 GPIO定时关系 211

9.2.1 定时器标帜模型 212

9.2 定时器 212

9.2.2 实时中断 213

9.2.3 标准定时器模块概述 216

9.2.4 输出比较 219

9.2.5 输出比较7 227

9.2.6 输入截获 230

9.2.7 脉冲累加器 234

9.2.8 脉冲宽度调制器 237

9.3 串行I/O 243

9.3.1 串行I/O背景知识 243

9.3.2 串行通信接口 245

9.3.3 串行外围接口 249

9.4 A2D转换 256

9.4.1 A2D转换背景知识 256

9.4.2 68HC12芯片内ADC 258

小结 263

习题 263

第10章 最终产品 264

10.1 MCU硬件设计 264

10.1.1 电源 264

10.1.2 功耗 266

10.1.3 时钟 267

10.2 复位异常处理 268

10.2.1 确定复位源 269

10.2.2 外部复位 269

10.2.3 容错异常处理 270

10.2.4 复位电路 271

10.3 M68HC912B32操作模式 273

10.3.1 正常单芯片模式 274

10.3.2 特殊单芯片模式 274

10.3.3 扩展模式 274

10.3.4 改变内存分配图 275

10.4.1 程序组织与内存分配图 276

10.4 配置和起始代码 276

10.4.2 异常处理向量 279

10.4.3 配置和初始化 280

10.5 最终产品开发 281

10.5.1 传统过程 281

10.5.2 利用芯片内EEPROM 283

10.5.3 后台调试系统 283

10.5.4 基于BDM的调试系统 285

小结 288

习题 288

11.1.1 68HC12读周期 289

第11章 系统扩展 289

11.1 总线周期 289

11.1.2 68HC12写周期 290

11.2 芯片选择逻辑 290

11.2.1 确定器件块单元 291

11.2.2 芯片选择逻辑方程与全解码 292

11.2.3 芯片选择逻辑方程与偏解码 293

11.2.4 68HC812A4可编程芯片选择 294

11.3 总线定时分析 298

11.3.1 读周期定时 298

小结 300

11.3.2 写周期定时 300

习题 301

第四部分 微控制器C编程第12章 模块化与C代码构筑 303

12.1 C源代码 303

12.1.1 C与汇编的比较 303

12.1.2 C程序组成部分与组织 304

12.1.3 语法与单词 306

12.1.4 预处理器命令 310

12.1.5 头文件 311

12.2 模块化建造过程 314

12.2.1 项目目录 314

12.2.2 建造过程 318

12.2.3 节映射 319

12.2.4 库 320

12.2.5 执行建造过程 321

12.2.6 生成的文件 321

12.2.7 命令行界面 326

12.3 源级调试 330

12.3.1 手工C代码调试 330

12.3.2 使用源级调试器 331

小结 334

习题 334

13.1.2 数据类型检查 336

13.1.1 汇编中的数据类型 336

13.1 数据类型引言 336

第13章 创建与存取C数据 336

13.2 ANSI-C数据类型 337

13.2.1 对数据的存取 337

13.2.2 基础性数据类型 337

13.2.3 存储类修饰符 338

13.2.4 作用域修饰符 339

13.2.5 定义新类型 340

13.2.6 数据类型转换 342

13.3.1 变量 343

13.3 变量与存储常量 343

13.3.2 存储常量 344

13.3.3 具有绝对单元的数据 344

13.4 指针 346

13.4.1 对于指针的操作 346

13.4.2 指向绝对单元的指针 347

13.5 数组与串 349

13.5.1 数组 349

13.5.2 串 351

13.6 结构 351

13.7 枚举类型 352

13.8.1 位测试 353

13.8 位操作 353

13.8.2 位操纵 354

13.8.3 位操作的可移植性 355

13.8.4 结构位域 356

小结 358

习题 358

第14章 C程序结构 359

14.1 控制结构 359

14.1.1 条件构件 359

14.1.2 循环构件 367

14.2 函数 372

14.2.2 函数的声明与定义 373

14.2.1 main()函数 373

14.2.3 参数传递 374

14.2.4 函数与宏 376

14.2.5 汇编函数 377

14.2.6 中断服务例程 379

14.3 模块 380

14.3.1 可移植性 380

14.3.2 可靠性 380

14.3.3 文件组织 381

14.3.4 demo2项目举例 382

14.4.1 起始任务 387

14.4 起始与初始化 387

14.4.2 在D-Bug12下执行程序的起始代码 388

14.4.3 自立程序 391

小结 392

习题 392

第五部分 实时多任务核第15章 用C实现实时多任务 393

15.1 实时编程评述 393

15.1.1 自立任务 393

15.1.2 事件响应时间 395

15.2 实时核概论 395

15.2.1 任务与核 396

15.3.1 自由运行循环性调度器 398

15.2.2 多任务CPU负荷 398

15.3 协同性核设计 398

15.3.2 时间片循环性调度器 400

15.3.3 互斥 402

15.3.4 任务分解 402

15.3.5 计时器实例 404

小结 411

习题 411

第16章 MicroC/OS-II抢占性核的使用 413

16.1 概述 413

16.2.1 任务切换 420

16.2 任务与任务切换 420

16.2.2 任务设计 421

16.2.3 任务栈 423

16.2.4 任务变量 423

16.2.5 任务优先级 423

16.3 中断服务例程 424

16.4 定时器 425

16.4.1 μC/OS定时器服务 425

16.4.2 用户设计的定时器事件 427

16.5 任务间通信 427

16.5.1 全局变量 427

16.5.2 信号量 429

16.5.3 用信号量和全局变量传送消息 434

16.5.4 消息信箱 441

16.5.5 消息队列 444

16.6 基于μC/OS的计时器程序 446

小结 452

习题 453

附录附录A 编程规范 455

附录B 基本的I/O 457

附录C μC/OS参考 474

参考文献 484

索引 486