《嵌入式系统的设计与开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:陈连坤编著
  • 出 版 社:清华大学出版社;北京交通大学出版社
  • 出版年份:2005
  • ISBN:7810825461
  • 页数:363 页
图书介绍:本书的主要特点是注重理论与实践相结合,书中所举的大量实例均为作者实际开发工作经验的总结,提供了大量的硬件电路图和源编程。本书分为上、下两篇。上篇介绍了嵌入式系统的基本概念和嵌入式系统的设计与开发原理及方法。内容涉及嵌入式系统的软硬件的组成及特点、系统的设计原则和方法、嵌入式系统的开发工具和系统集成与测试方法。下篇介绍了高速C8051F混合信号微控制器的原理和基于此微控制器的嵌入式系统的设计和开发实例。通过大量的实例,详细地介绍了各种编程方法和编程技巧、开发工具使用方法和使用技巧,以及硬件系统设计的详细过程和硬件系统的工作原理。通过阅读本书,可使读者全面了解嵌入式系统的设计与开发原理及方法;大量的实例可帮助读者尽快地掌握应用C8051F混合信号微控制器的方法和技巧。本书作为研究生课程的教材,也可作为相关专业本科高年级学生和工程技术人员的参考书。

第1篇 嵌入式系统的基础理论 1

第1章 嵌入式系统简介 1

1.1 嵌入式系统的定义及特点 1

1.2 嵌入式系统的应用 3

1.3 未来的嵌入式系统产业 4

第2章 嵌入式系统的设计与开发过程 6

第3章 嵌入式系统的硬件 10

3.1 嵌入式处理器 11

3.1.1 嵌入式处理器的分类 11

3.1.2 嵌入式处理器的选择原则 15

3.2 微控制器 17

3.2.1 微控制器简介 17

3.2.2 微控制器的发展特点 19

3.2.3 微控制器的选择原则 21

3.3 数字信号处理器 24

3.3.1 数字信号处理器的特点和分类 24

3.3.2 数字信号处理器的应用 25

3.3.3 数字信号处理器的选择原则 26

3.4 ARM微处理器 26

3.4.1 ARM微处理器简介 26

3.4.2 ARM微处理器的应用 28

3.4.3 ARM的体系结构简介 28

3.4.4 ARM微处理器系列产品简介 30

3.4.5 ARM微处理器的选择原则 34

3.5 OMAP微处理器简介 35

3.6 嵌入式系统硬件的设计 36

3.6.1 嵌入式系统硬件电路设计原则 36

3.6.2 嵌入式系统硬件的抗干扰措施 37

第4章 嵌入式系统的软件 42

4.1 嵌入式系统软件的特点 42

4.1.1 嵌入式系统的存储器结构 42

4.1.2 嵌入式系统软件的特点 43

4.2 嵌入式系统的软件设计技术 46

4.3 基于处理器的直接编程 48

4.3.1 前/后台系统的编程方法 49

4.3.2 可抢占式任务调度的前/后台系统的编程方法 49

4.3.3 可抢占式和优先级任务调度的前/后台系统的编程方法 50

4.4 基于嵌入式操作系统的编程 50

4.4.1 嵌入式操作系统环境下的任务 51

4.4.2 嵌入式操作系统的任务调度方式 52

4.4.3 嵌入式操作系统下的任务间通信 53

4.5 编程方法的实时性比较 53

4.6 嵌入式系统软件的抗干扰方法 54

4.6.1 消除模拟输入信号的噪声 54

4.6.2 看门狗定时器 55

4.6.3 其他抗干扰方法 56

4.7 典型嵌入式操作系统简介 57

第5章 嵌入式系统的开发工具 64

5.1 嵌入式系统开发工具的特点 64

5.2 开发嵌入式系统软件的高级语言 65

5.3 指令集模拟器 66

5.4 调试器 67

5.5 ROM仿真器 68

5.6 在线仿真器 69

5.6.1 在线仿真器的原理 69

5.6.2 在线仿真器的连接方法 71

5.6.3 在线仿真器的主要功能 71

5.6.4 在线仿真器使用的限制 72

5.7 片上调试器和在线调试器 72

5.7.1 片上调试器及在线调试器简介 72

5.7.2 常用的片上调试器 73

5.7.3 片上调试器及在线调试器构成的调试系统 76

5.8 开发工具的干扰 77

5.9 示波器、存储示波器和逻辑分析仪 78

第6章 嵌入式系统的集成和软件测试 79

6.1 嵌入式系统的集成 79

6.2 嵌入式系统的软件测试 79

6.2.1 测试的目的 80

6.2.2 何时开始测试 81

6.2.3 测试内容和测试方法 81

6.2.4 正确选择测试用例 83

6.2.5 伺时停止测试 83

6.2.6 测试和维护 83

6.3 覆盖率的测试方法 84

6.3.1 软件插装 84

6.3.2 硬件插装 85

6.4 性能测试的方法 86

6.4.1 性能测试的重要性 86

6.4.2 性能测试的方法 87

第2篇 C8051F微控制器的原理与应用 89

第7章 嵌入式应用中的8051系列8位微控制器 89

7.1 嵌入式应用中的8位单片机 89

7.2 8051的3次技术飞跃 90

第8章 MCS-51系列单片机简介 91

8.1 MCS-51的端口特点和存储器体系结构 91

8.2 MCS-51片外存储器和I/O的扩展 92

8.2.1 几种常见的片外存储器扩展应用 92

8.2.2 片外存储器扩展的应用举例 94

8.2.3 I/O扩展 104

第9章 C8051F微控制器的原理 106

9.1 C8051F微控制器简介 106

9.2 CIP-51内核与指令系统简介 108

9.3 CIP-51片内数据存储器和SFR组 109

9.4 C8051F微控制器的数据存储器 113

9.4.1 对C8051F微控制器的数据存储器的操作 114

9.4.2 C8051F微控制器的片外数据存储器的扩展 115

9.5 C8051F微控制器的程序存储器 117

9.5.1 C8051F微控制器程序存储器的组成和使用 117

9.5.2 C8051F微控制器程序存储器的安全和保密 119

第10章 Cygnal C8051F微控制器的功能模块 122

10.1 C8051F微控制器的ADC 122

10.2 C8051F微控制器的DAC 124

10.2.1 电压输出型DAC 124

10.2.2 电流输出型DAC 126

10.3 C8051F微控制器的电压比较器 126

10.4 C8051F微控制器的基准电压 128

10.5 C8051F微控制器的I/O端口和交叉开关 130

10.5.1 C8051F微控制器的I/O端口 130

10.5.2 C8051F微控制器的交叉开关 133

10.6 C8051F微控制器的计数器/定时器和PCA 140

10.6.1 C8051F微控制器的计数器/定时器 140

10.6.2 C8051F微控制器的PCA 145

10.7 C8051F微控制器的串行I/O接口 149

10.7.1 C8051F微控制器的UART 150

10.7.2 C8051F微控制器的SMBus/I2C 157

10.7.3 C8051F微控制器的SPI 160

10.7.4 C8051F微控制器的USB 164

10.7.5 C8051F微控制器的CAN 169

10.8 C8051F微控制器的复位系统 172

10.9 C8051F微控制器的时钟系统 173

第11章 C51与A51的混合编程 175

第12章 C8051F微控制器的开发工具简介 178

12.1 Cygnal公司/Silicon laboratories的开发工具 178

12.1.1 Cygnal公司/Silicon laboratories的开发工具组成 178

12.1.2 Cygnal公司/Siliconlaboratories集成开发环境的特点 179

12.1.3 C8051F微控制器开发工具的使用 180

12.2 Keil Software 8051开发工具简介 182

12.3 μ Vision2调试器 183

12.3.1 软件仿真 183

12.3.2 实际硬件调试 186

第13章 编程实例 189

13.1 编程说明 189

13.1.1 硬件电路和功能说明 189

13.1.2 程序功能要求和程序开发工具 192

13.2 采用定时器中断方式实现 193

13.2.1 A51小汇编编程实现 193

13.2.2 A51宏汇编编程实现 197

13.2.3 C51编程实现 202

13.2.4 3种编程实现的比较 207

13.2.5 调试过程简介 207

13.3 采用前/后台系统实现(一) 216

13.4 采用前/后台系统实现(二) 221

13.5 采用前/后台系统实现(三) 223

13.6 采用具有可抢占式任务调度的前/后台系统实现 225

13.7 采用具有可抢占式和优先级任务调度的前/后台系统实现 230

13.8 采用RTX51 Tiny实现 230

13.8.1 使用RTX51 Tiny时应注意的问题 230

13.8.2 修改Conf_tny.A51 232

13.8.3 应用程序 232

13.8.4 调试过程简介 236

13.9 采用具有任务抢占式RTX51 Tiny实现(一) 237

13.10 采用具有任务抢占式RTX51 Tiny实现(二) 242

13.10.1 修改Conf_tny.A51 242

13.10.2 应用程序 243

13.11 采用具有任务抢占式RTX51 Tiny实现(三) 244

13.11.1 修改Conf_tny.A51 244

13.11.2 应用程序 245

13.12 采用具有任务抢占式RTX51 Tiny实现(四) 246

13.12.1 修改Conf_tny.A51和os_wait.A51 246

13.12.2 应用程序 248

13.13 不同编程实现的比较 250

第14章 微控制器片上FLASH程序存储器的应用 251

14.1 应用程序的加密 251

14.2 FLASH程序存储器作为非易失性数据存储器 254

14.2.1 用绝对定位的宏定义实现 255

14.2.2 用_at_关键词实现 258

14.2.3 用指针代替数组实现 259

14.2.4 调试过程简介 262

第15章 提供商业应用程序的方法 272

15.1 以库函数方法提供商业应用程序的方法 272

15.2 以OEM方法提供商业应用程序的方法 276

15.2.1 对微处理器的要求 276

15.2.2 编程需要解决的问题 277

15.2.3 用A51实现OEM程序 279

15.2.4 用A51和C51混合编程实现OEM程序 281

15.2.5 OEM程序提供的头文件和引导程序 284

15.2.5 应用程序 285

15.2.6 调试过程简介 294

15.3 在具有OEM程序的RXT51 Tiny环境中的编程 297

15.3.1 具有OEM程序的RXT51 Tiny环境的建立 297

15.3.2 应用程序 298

第16章 USB与RS-485编程实例 304

16.1 通信协议 304

16.1.1 读卡器的通信协议 304

16.1.2 USB的数据传输协议 305

16.2 硬件实现原理 306

16.3 编程实现 308

16.3.1 程序的功能说明 308

16.3.2 PC端的应用程序 308

16.3.3 USB设备端的应用程序 322

第17章 C8051F应用系统设计举例 335

17.1 IC卡的数据存储和数据管理模块 335

17.1.1 模块功能描述 335

17.1.2 模块的硬件设计 336

17.1.3 功能块说明 338

17.1.4 软件设计 342

17.2 机车车载计算机控制模块 343

17.2.1 模块功能描述 343

17.2.2 模块的硬件设计 345

17.2.3 功能块说明 346

17.3 USB-CAN模块 349

17.3.1 USB-CAN模块的硬件设计 349

17.3.2 功能块说明 352

17.4 基于导引服务中心的汽车驾驶导引系统 356

17.4.1 系统功能和指标 356

17.4.2 系统硬件设计 357

第18章 C8051 F微控制器系统设计与开发实验 361

实验1 LED数码显示模块 361

实验2 USB的应用 361

实验3 USB至其他串行接口的转换 362

参考文献 363