当前位置:首页 > 工业技术
51系列单片机高级实例开发指南
51系列单片机高级实例开发指南

51系列单片机高级实例开发指南PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:李军等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2004
  • ISBN:7810774840
  • 页数:378 页
图书介绍:本书利用实例完整讲述了51系列单片机高级应用系统的开发过程,包括基于CAN总线机器人控制系统、USB总线设备等,详细分析和讲明了51系列单片机应用系统的技术要点、调试方法及重点应掌握的核心内容。
《51系列单片机高级实例开发指南》目录

目录 3

第1篇 基于51单片机应用系统设计与开发要点 3

引言 3

第1章 单片机基础 3

1.1 单片机的发展与应用领域 3

1.2 单片机的结构和工作原理 5

1.2.1 中央处理器 5

1.2.2 存储器组织 7

1.2.3 片内并行接口 11

1.2.5 单片机程序的复位和执行 13

1.2.4 其它内部资源 13

1.2.6 低功耗操作方式 15

1.3 单片机指令与软件基础 16

1.3.1 单片机的指令系统 16

1.3.2 单片机软件设计基础 25

第2章 基于MCS-51内核的单片机 28

2.1 Intel公司的MCS-51系列单片机 28

2.2 ATMEL公司的51系列单片机 29

2.2.1 AT89C51单片机 29

22.2 AT89C2051单片机 30

2.2.3 AT89S51单片机 31

2.2.5 AT8XC5132系列单片机 36

2.2.4 AT89S4D12单片机 36

2.2.6 T89C51CC02单片机 37

2.2.7 AT8XC51SND1C系列单片机 38

2.3 PHILIPS公司的51系列单片机 40

2.4 华邦公司的51系列单片机 42

2.5 CYPRESS公司的51系列单片机 42

2.6 其它公司的51系列单片机 43

2.6.1 MOTOROLA公司的单片机 43

2.6.2 MicroChip公司的单片机 43

2.6.3 Micon公司的单片机 43

2.6.4 Scenix公司的单片机 43

2.6.8 Zilog公司的单片机 44

2.6.9 NS公司的单片机 44

2.6.5 EPSON公司的单片机 44

2.6.7 LG公司的单片机 44

2.6.6 东芝公司的单片机 44

第3章 用Protel设计原理图与PCB图 46

3.1 Protel 99新特性概述 46

3.1.1 Protel 99设计环境 46

3.1.2 设计管理器 47

3.2 原理图设计 48

3.2.1 电路原理图的设计 48

3.2.2 原理图设计技巧 53

3.3 PCB图的设计 55

第4章 用Keil C开发单片机程序 62

4.1 Keil C和ANSI C的比较 62

4.1.1 数据类型 63

4.1.2 存储类型 63

4.1.3 存储模式 64

4.1.4 指针 64

4.1.5 中断函数 65

4.1.6 再入函数 65

4.2 μVision2使用入门 66

5.1 单片机应用系统的生命周期 71

第5章 51单片机应用系统设计及开发要点 71

5.2 单片机应用系统的开发过程及任务划分 72

5.3 单片机应用系统的设计 73

5.3.1 单片机应用系统设计前的准备 73

5.3.2 单片机应用系统的硬件设计 73

5.3.3 单片机应用系统的软件设计 74

5.4 单片机应用系统的开发 75

5.4.1 单片机应用系统的仿真 75

5.4.2 单片机应用系统的制版 75

5.4.3 单片机应用系统的调试 75

本篇总结 76

5.4.4 单片机应用系统的编程、下载与运行 76

第2篇 基于CAN总线机器人控制系统的设计与开发 79

引言 79

第6章 机器人控制系统及CAN总线基础 79

6.1 典型机器人及其控制系统的构成 79

6.1.1 典型机器人的构成 79

6.1.2 机器人控制系统 80

6.1.3 基于现场总线的机器人控制系统 81

6.2 CAN总线原理与应用基础 82

6.2.1 CAN总线基础 82

6.2.2 CAN总线的特点 83

6.2.3 CAN总线技术的工业应用 85

6.3 CAN总线的应用软件设计 86

6.3.1 CAN控制器应用软件设计概述 86

6.3.2 CAN总线节点的应用程序设计 86

小结 87

第7章 机器人控制系统的分析与总体设计 88

7.1 机器人系统概述 88

7.2 机器人控制系统的总体设计 90

7.2.1 控制系统的总体要求 90

7.2.2 控制系统的总体结构 90

7.3.1 上位机的总体要求 91

7.3.2 上位机硬件设计及CAN卡选型 91

7.3 控制系统上位机设计及CAN卡选型 91

7.3.3 上位机软件的功能分析 92

7.4 下位机关节控制器的设计 93

7.4.1 下位机控制器的功能要求 93

7.4.2 下位机控制器的硬件分析与总体设计 93

7.4.3 下位机控制器的软件分析与总体设计 94

小结 94

第8章 机器人控制器的硬件设计与电路调试 95

8.1 AT89C52单片机及外围电路的设计 95

8.1.1 AT89C52单片机 95

8.1.3 静态存储器6264的扩展 97

8.1.2 用MAX813L构成看门狗电路 97

8.2 CAN通信接口模块的设计 98

8.2.1 CAN节点模块概述 98

8.2.2 CAN控制器SJA1000及CAN器件产品 99

8.2.3 CAN收发器82C250 101

8.3 信号调理采集模块的设计 101

8.3.1 信号调理采集模块概述 101

8.3.2 用AD586构成基准电源 101

8.3.3 用Max280构成低通滤波电路 103

8.3.4 用AD678进行A/D转换 103

8.4.2 用DAC1230芯片实现D/A转换 104

8.4.1 功率驱动模块概述 104

8.4 功率驱动模块的设计 104

8.4.3 用AD587构成基准电源 106

8.4.4 推挽放大电路的设计 106

8.5 控制器的电路图绘制与电路调试 106

8.5.1 绘制电路原理图 106

8.5.2 由原理图绘制PCB图并校核 109

8.5.3 器件焊接和电路调试 111

小结 117

第9章 机器人控制系统的上位机软件设计 118

9.1 上位机软件的功能设计与技术分析 118

9.2.1 DOS环境下的接口 119

9.2 CAN卡的通信接口编程 119

9.2.2 CAN卡VC++环境的接口 121

9.3 上位机应用程序的接口技术 123

9.3.1 在VC++环境下调用MATLAB C++数学函数库 123

9.3.2 在对话框中绘制OPENGL动画 124

9.4上 位机控制软件的设计 124

小结 126

第10章 机器人控制系统的下位机软件设计 127

10.1 下位机的功能分析与流程设计 127

10.1.1 下位机的功能分析与模块划分 127

10.1.2 下位机的主程序流程图 127

10.2.1 CAN初始化模块的设计 129

10.2 下位机CAN通信软件的设计 129

10.2.2 CAN通信软件的设计 130

10.3 下位机控制软件的设计 131

10.3.1 下位机控制软件分析与设计 131

10.3.2 下位机的完整源代码及其分析 131

小结 136

第3篇 基于USB总线的综合实例设计与开发 139

引言 139

第11章 功能需求分析与方案设计 139

11.1 最简单的人机接HID设备 139

11.2 本设备实现的功能 139

11.2.1 对设备要求的响应 139

11.2.2 与主机交换数据 141

11.2.3 扩展功能 142

11.3 设备的系统结构 142

11.3.1 一般USB设备的系统结构 142

11.3.2 一般USB设备的实现方法 143

11.3.3 本设备的系统结构 144

11.4 开发所需的元器件和设备 145

11.4.1 AT89C51 145

11.4.2 PDIUSBD12 146

11.4.3 其它 148

11.5.4 WinDriver 5.05 149

11.5.3 编程器软件 149

11.5.1 Protel 99 SE 149

11.5.2 μVision/51 for Windows 149

11.5 开发工具软件 149

小结 150

第12章 电路原理设计与实现 151

12.1 设备电路系统概述 151

12.2 51单片机最小系统 152

12.3 PDIUSBD12外围电路及其与单片机的连接 153

12.4 扩展功能实现电路 154

12.4.1 PS/2串行接口扩展 154

12.4.2 Flash存储器扩展 155

12.4.3 LPT并行接口扩展 156

12.5 整体电路原理实现 157

12.6 手工焊接的一些技巧 159

小结 160

第13章 固件程序的设计与实现 161

13.1 描述符 161

13.1.1 设备描述符 161

13.1.2 配置描述符 162

13.1.3 接口描述符 163

13.1.4 端点描述符 163

13.1.6 报告描述符 164

13.1.5 类(HID)描述符 164

13.1.7 字符串描述符 165

13.2 设备列举流程 165

13.2.1 输入设备描述符的要求 166

13.2.2 设定设备地址的要求 166

13.2.3 再次输入设备描述符的要求 167

13.2.4 输入配置描述符的要求 167

13.2.5 设定配置的要求 167

13.2.6 主机对设备的列举 167

13.3.1 固件结构概述 168

13.3 固件程序的结构 168

13.3.2 USB电气接口驱动(D12.C) 169

13.3.3 主程序 171

13.3.4 中断处理程序 171

13.3.5 USB通信协议实现 172

13.4 与主机交换数据 172

13.4.1 概述 172

13.4.2 实现方法 173

小结 173

第14章 驱动程序和应用程序的设计与实现 174

14.1 驱动程序概述 174

14.2.1 驱动程序开发常用的工具软件 175

14.2 Windows驱动程序开发 175

14.2.2 用WinDriver工具软件开发驱动程序 176

14.3 USB设备接口实验 177

14.3.1 用WinDriver调试设备 177

14.3.2 在控制台程序中控制设备 178

14.3.3 使用驱动程序提供的接口编写用户应用程序控制设备 178

14.4 应用程序 179

14.4.1 应用程序实现的功能 179

14.4.2 利用WinDriver实现应用程序 179

小结 181

15.1 扩展USB设备的结构与功能 182

第15章 设备扩展方法 182

15.2 USB键盘的实现 184

15.2.1 一般USB键盘的硬件设计 184

15.2.2 USB键盘的描述符 185

15.2.3 USB键盘与主机交换数据的格式 188

15.2.4 利用实验电路板开发PS/2键盘到USB键盘的转换器 189

15.3 USB鼠标的实现 190

15.3.1 一般USB鼠标的硬件设计 190

15.3.2 USB鼠标的描述符 191

15.3.3 USB鼠标与主机交换数据的格式 194

15.3.4 利用实验电路板开发PS/2鼠标到USB鼠标的转换器 195

15.4.1 USB移动存储器的硬件结构 196

15.4 USB移动存储器的实现 196

15.4.2 USB移动存储器的描述符 197

15.4.3 USB移动存储器的固件开发 198

15.5 利用LPT并行接口实现其它扩展设备 199

小结 200

本篇总结 200

第16章 IC卡基础知识 205

16.1 IC卡的分类 205

16.1.1 金融IC卡 205

引言 205

第4篇 IC卡读/写系统的开发及其应用 205

16.1.2 非金融IC卡 206

16.1.3 接触型IC卡 206

16.1.4 非接触型IC卡 206

16.1.5 存储卡IC卡 206

16.1.6 逻辑加密IC卡 206

16.1.7 CPU卡 207

16.2 IC卡的选择 207

16.3 IC卡的制作过程 207

16.4 IC卡的标准 208

16.5.1 IC卡读/写设备 209

16.5.2 IC卡卡座 209

16.5 IC卡的开发过程 209

16.5.3 单片机和存储器 210

16.5.4 接口电路和外围设备 210

第17章 AT24CXX系列存储卡读卡器 211

17.1 AT24CXX系列内存概述 211

17.1.1 AT24CXX系列内存封装 211

17.1.2 AT24CXX系列内存分类以及特点 212

17.1.3 AT24CXX系列内存的内部结构 213

17.1.4 AT24CXX的地址分配 215

17.2 AT24CXX系列内存读/写操作 216

17.2.1 启动信号、停止信号和应答信号 216

17.2.2 写操作 217

17.2.3 读操作 218

17.3 普通封装AT24CXX系列内存读/写系统 219

17.3.1 键盘扫描例程 221

17.3.2 串口通信例程 226

17.3.3 I2C软件模拟程序 228

17.3.4 AT24CXX读/写系统开发流程详解及例程 235

17.4 AT24CXX系列存储卡读/写系统 249

17.4.1 AT24CXX存储卡的写操作 251

17.4.2 AT24CXX存储卡的读操作 256

第18章 SLE4442加密卡读卡器 259

18.1 SLE4442卡概况 259

18.2.1 复位与复位响应(ATR)模式 261

18.2 SLE4442的模式 261

18.2.3 输出数据模式 262

18.2.2 命令模式 262

18.2.4 处理模式 263

18.3 SLE4442的操作命令 263

18.3.1 读主存储器 264

18.3.2 读保护存储器 264

18.3.3 写保护存储器 265

18.3.4 读密码存储器 265

18.3.5 写密码存储器 266

18.3.6 比较校验数据 266

18.4.1 SLE4442卡的控制函数 267

18.4 SLE4442读/写系统 267

18.4.2 SLE4442的读操作 275

18.4.3 SLE4442的写操作 278

第19章 读/写卡系统应用实例 281

19.1 卡式电话管理系统 281

19.1.1 电话内计费系统 281

19.1.2 写入卡系统 282

19.1.3 IC卡 282

19.2 IC卡客房管理系统 283

19.2.1 管理端 283

本篇总结 284

19.2.2 门禁系统 284

19.2.3 购物消费系统 284

第5篇 基于单片机的MP3播放器及U盘的设计与开发 287

引言 287

第20章 便携式MP3播放器的原理与方案分析 287

20.1 便携式MP3播放器原理及其系统构成 287

20.1.1 第3层音频编码标准MP3 287

20.1.2 便携式MP3播放器的结构 289

20.1.4 便携式MP3播放器的通信接口 290

20.1.5 便携式MP3播放器的扩展功能 290

20.1.3 便携式MP3播放器的多种存储器类型 290

20.2 便携式MP3播放器的各种方案分析 291

20.2.1 基于分离芯片的MP3播放器方案 291

20.2.2 基于集成MP3功能单片机的MP3播放器方案 296

20.2.3 基于定制ASIC电路的MP3播放器方案 296

20.2.4 采用FPGA实现MP3播放器的方案 297

20.3 MP3播放器的软件解决方案 299

20.3.1 MPEG帧头部信息详解 299

20.3.2 MP3文件的ID3信息 302

20.3.3 基于DSP软件解码的MP3播放器方案 302

小结 304

21.1 系统分析设计 305

第21章 基于AT89C51SND1的MP3播放器设计开发 305

21.2 系统开发环境 307

21.2.1 硬件设计环境 307

21.2.2 软件设计环境 315

21.3 软件系统设计 320

21.3.1 软件模块分析 320

21.3.2 Flash存储部分 320

21.3.3 MP3解码部分 327

21.3.4 MP3音频部分 333

21.4.1 MP3解码部分 336

21.4 MP3播放器的主要程序代码分析 336

21.4.2 音频控制部分 339

第22章 MPEG解码选型和MP3播放器的硬件设计 342

22.1 MAS3507D和DAC3550A芯片组 342

22.1.1 芯片组概述及其内部结构图 342

22.1.2 MAS3507D的性能特点 343

22.1.3 DAC3550A的性能特点 344

22.2 基于MAS 3507D的MP3方案设计与应用 344

22.2.1 MAS3507D和DAC3550A芯片组的典型应用方案 344

22.2.2 关于MAS3507D和DAC3550A芯片的版本 345

22.2.3 MAS3507D和DAC3550A数据手册的说明 345

22.2.4 MAS3507D-F10版本芯片应用提示 346

22.2.5 MAS3507D芯片的封装与引脚说明 347

22.2.6 DAC3550A芯片的封装与引脚说明 349

22.3 基于MAS3507D和DAC3550A的MP3播放器设计 350

22.3.1 基于MAS3507D和DAC3550A的MP3解码播放电路设计 351

22.3.2 基于MAS3507D的MP3播放器方案设计与分析 352

22.4 基于STA013的MP3播放器设计 354

22.4.1 STA013解码芯片介绍 354

22.4.2 基于STA013的MP3解码播放电路设计 356

22.4.3 基于STA013的MP3播放器方案设计与分析 357

22.5 基于VS1001K的MP3播放器设计 358

22.5.1 VS1001K解码芯片介绍 358

22.5.3 基于VS1001K的MP3播放器方案设计与分析 360

22.5.2 基于VS1001K的MP3解码播放电路设计 360

小结 361

本篇总结 362

附录A 光盘内容及使用说明 363

附录B 8051单片机指令速查 364

附录C Keil C51库函数列表 369

C.1 本征库函数和非本征库函数 369

C.2 重要库函数分类 370

C.3 Keil C51库函数分类 370

附录D 主要的51单片机厂商及网址 375

参考文献 376

返回顶部