标题：51系列单片机高级实例开发指南
基本信息
书名:51系列单片机高级实例开发指南
ISBN:781077484 
作者:李军 
出版社:北京航空航天大学出版社 
定价:39 
出版日期:1900-1-1 
版次: 1
简介
本书用4个综合实例完整讲述了51系列单片机高级应用系统的开发过程，包括基于CAN总线的机器人控制系统、USB总线设备、IC卡读/写系统以及便携式MP3播放器和U盘设备的设计与开发等，是一部面向实例开发的51系列单片机综合应用的项目开发专著。为方便广大读者，书中还扼要介绍了51系列单片机的基础知识，介绍了怎样用Protel绘制电路图以及怎样用Keil C开发单片机应用软件等入门内容。配套光盘收录了书中全部实例的电路图、自编软件的代码以及相关的资料文档。
全书内容详实，实例典型，讲述清楚，汇集了作者多年来单片机应用开发的经验和研究心得，适合单片机应用开发人员参考使用；也可作为电子、自动化及计算机类课程设计和参加电子竞赛的指导教材和参考读物。
目录
第1篇 基于51单片机应用系统设计与开发要点
引言
第1章 单片机基础3
1.1 单片机的发展与应用领域3
1.2 单片机的结构和工作原理5
1.2.1 中央处理器5
1.2.2 存储器组织7
1.2.3 片内并行接口11
1.2.4 其它内部资源13
1.2.5 单片机程序的复位和执行13
1.2.6 低功耗操作方式15
1.3 单片机指令与软件基础16
1.3.1 单片机的指令系统16
1.3.2 单片机软件设计基础25
第2章 基于MCS51内核的单片机28
2.1 Intel公司的MCS51系列单片机28
2.2 ATMEL公司的51系列单片机29
2.2.1 AT89C51单片机29
2.2.2 AT89C2051单片机30
2.2.3 AT89S51单片机31
2.2.4 AT89S4D12单片机36
2.2.5 AT8XC5132系列单片机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.5 EPSON公司的单片机44
2.6.6 东芝公司的单片机44
2.6.7 LG公司的单片机44
2.6.8 Zilog公司的单片机44
2.6.9 NS公司的单片机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章 51单片机应用系统设计及开发要点71
5.1 单片机应用系统的生命周期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
5.4.4 单片机应用系统的编程、下载与运行76
本篇总结76
第2篇 基于CAN总线机器人控制系统的设计与开发
引言
第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 控制系统上位机设计及CAN卡选型91
7.3.1 上位机的总体要求91
7.3.2 上位机硬件设计及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.2 用MAX813L构成看门狗电路97
8.1.3 静态存储器6264的扩展97
8.2 CAN通信接口模块的设计98
8.2.1 CAN节点模块概述98
8.2.2 CAN控制器SJA1000及CAN器件产品99
8.2.3 CAN收发器82C250101
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 功率驱动模块的设计104
8.4.1 功率驱动模块概述104
8.4.2 用DAC1230芯片实现D/A转换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 CAN卡的通信接口编程119
9.2.1 DOS环境下的接口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 下位机CAN通信软件的设计129
10.2.1 CAN初始化模块的设计129
10.2.2 CAN通信软件的设计130
10.3 下位机控制软件的设计131
10.3.1 下位机控制软件分析与设计131
10.3.2 下位机的完整源代码及其分析131
小结136
第3篇 基于USB总线的综合实例设计与开发
引言
第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 AT89C51145
11.4.2 PDIUSBD12146
11.4.3 其它148
11.5 开发工具软件149
11.5.1 Protel 99 SE149
11.5.2 μVision/51 for Windows149
11.5.3 编程器软件149
11.5.4 WinDriver 5.05149
小结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.5 类（HID）描述符164
13.1.6 报告描述符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 固件程序的结构168
13.3.1 固件结构概述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 Windows驱动程序开发175
14.2.1 驱动程序开发常用的工具软件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章 设备扩展方法182
15.1 扩展USB设备的结构与功能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 USB移动存储器的实现196
15.4.1 USB移动存储器的硬件结构196
15.4.2 USB移动存储器的描述符197
15.4.3 USB移动存储器的固件开发198
15.5 利用LPT并行接口实现其它扩展设备199
小结200
本篇总结200
第4篇 IC卡读/写系统的开发及其应用
引言
第16章 IC卡基础知识205
16.1 IC卡的分类205
16.1.1 金融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 IC卡的开发过程209
16.5.1 IC卡读/写设备209
16.5.2 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 SLE4442的模式261
18.2.1 复位与复位响应(ATR)模式261
18.2.2 命令模式262
18.2.3 输出数据模式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 SLE4442读/写系统267
18.4.1 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
19.2.2 门禁系统284
19.2.3 购物消费系统284
本篇总结284
第5篇 基于单片机的MP3播放器及U盘的设计与开发
引言
第20章 便携式MP3播放器的原理与方案分析287
20.1 便携式MP3播放器原理及其系统构成287
20.1.1 第3层音频编码标准MP3287
20.1.2 便携式MP3播放器的结构289
20.1.3 便携式MP3播放器的多种存储器类型290
20.1.4 便携式MP3播放器的通信接口290
20.1.5 便携式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章 基于AT89C51SND1的MP3播放器设计开发305
21.1 系统分析设计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 MP3播放器的主要程序代码分析336
21.4.1 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 MAS3507DF10版本芯片应用提示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.2 基于VS1001K的MP3解码播放电路设计360
22.5.3 基于VS1001K的MP3播放器方案设计与分析360
小结361
本篇总结362
附录A光盘内容及使用说明363
附录B8051单片机指令速查364
附录CKeil C51库函数列表369
C.1 本征库函数和非本征库函数369
C.2 重要库函数分类370
C.3 Keil C51库函数分类370
附录D主要的51单片机厂商及网址375
参考文献376