书籍详情

51系列单片机高级实例开发指南

51系列单片机高级实例开发指南

作者:李军等编

出版社:北京航空航天大学出版社

出版时间:2004-06-01

ISBN:9787810774840

定价:¥39.00

购买这本书可以去
内容简介
  本书用4个综合实例完整讲述了5l系列单片机高级应用系统的开发过程,包括基于CAN总线的机器人控制系统、USB总线设备、IC卡读/写系统以及便携式MP3播放器和U盘设备的设计与开发等,是一部面向实例开发的51系列单片机综合应用的项目开发专著。为方便广大读者,书中还扼要介绍了51系列单片机的基础知识,介绍了怎样用Protel绘制电路图以及怎样用KeilC开发单片机应用软件等人门内容。·配套光盘收录了书中全部实例的电路图、自编软件的代码以及相关的资料文档。全书内容详实,实例典型,讲述清楚,汇集了作者多年来单片机应用开发的经验和研究心得,适合单片机应用开发人员参考使用;也可作为电子、自动化及计算机类课程设计和参加电子竞赛的指导教材和参考读物。1.引言单片机(singlechipcomputer或microchipunit)是应控制领域应用的要求而出现的,因此,更能准确反映单片机本质的名称是微控制器(microcontroller)。随着单片机的迅速发展,其应用领域越来越广,如消费电子、家用电器、办公设备、商业营销设备、工业控制和机电一体化控制系统、智能测量仪表以及汽车与航空航天电子系统中都广泛采用了单片机。尽管目前已经发展了众多种类的单片机,但是应用较广、也是最成熟-的还是最早由Intel开发的MCS-51系列单片机(51系列单片机)。51系列单片机应用系统已经成为目前主流的单片机应用系统。众多的电子、半导体公司获得了Intel公司的授权,推出了各式各样的具有特色的单片机,这些公司包括ATMEL,PHILIPS,Winbond,CYPRESS,MOTOROLA及LG等。5l单片机产品也显现出百花齐放的局面,越来越多的具有增强功能的单片机被推向市场,其中ATMEL公司率先推出的采用Flash技术的51单片机就是其中的佼佼者。这种单片机内部具有Flash存储器,程序可擦写l次以上,而且可采用最简单的仿真器和写入装置进行开发,因此,在市场上取得了巨大的成功。可以说,当前开发的51单片机应用系统都是采用具有Flash存储器的单片机。继推出领先的、采用具有Flash存储器的AT89C系列单片机后,ATMEI。公司又推出了在线可编程(1n-SystemProgram,ISP)的AT89S系列单片机。由于只需要一个简单的编程电缆,就可以实现对单片机的编程和写入,使得开发系统进一步简化,降低了开发成本。相信再过不久,这种产品将获得更大的成功,同时也将改变当前仿真器和开发器的格局。本书以Flash单片机和可在线编程的51单片机为研究内容,结合当前最流行的CAN总线、USB总线及IC总线,以开发成功的几个实际项目为基础,向读者介绍最前沿的51系列单片机应用系统的技术要点、开发过程、调试方法及重点应掌握的核心内容。以下为本书的主要内容和实例:●基于51单片机应用系统的设计与开发要点;●基于CAN总线的机器人控制系统;●基于USB总线的综合实例设计与开发;●IC卡读/写应用系统;●基于单片机的MP3播放器及U盘的设计与开发。2.内容概述全书按内容分为5篇,其中第1篇是单片机设计开发基础,后4篇为典型的51系列单片机应用系统设计与开发实例。这些内容包括:第1篇:基于51单片机应用系统的设计与开发要点简明扼要地介绍了基于51系列单片机系统开发所必需的基本知识。主要包括两个方面:一是对51单片机的了解。这里主要介绍了单片机的硬件结构、指令系统和程序设计常识。同时本部分还专门介绍了市场上常见的51单片机,为读者了解当前单片机的发展趋势和选择合适的单片机提供了方便。二是单片机系统设计方面的知识。硬件设计部分,介绍了当前比较常用的电路设计软件Protel;软件设计部分,介绍了支持C语言和汇编语言的KeilC集成开发系统;最后概述了51单片机应用系统的设计要点、开发步骤以及调试方法。第2篇:基于CAN总线机器人控制系统的设计与开发完整地介绍了一个基于CAN总线的机器人控制系统的设计与开发。该机器人为6自由度关节型机器人。控制系统采用了基于CAN的现场总线技术,主控计算机系统由一个带有PCL-841CAN卡的工业级个人计算机及其上位机软件系统构成,下位机由AT89C52单片机及其外围电路构成,采用CAN控制器SJAl和收发器82C25等构成了一个智能化的CAN节点,并通过下位机应用程序实现CAN总线的通信,从而实现了高速、可靠、简便及方便扩展的现场总线机器人控制系统。该控制系统具有很强的典型性,可供机器人、工业应用系统和单片机应用系统开发人员借鉴和参考。第3篇:基于USB总线的综合实例设计与开发介绍一种设计USB设备比较简单方便的方法,也就是设计一个用51单片机和USB接口芯片组成的单片机最小系统,通过对单片机的编程来实现一个完整的USB设备。USB设备都可以归结为控制器和USB电气接口这两个基本组成部分。在本综合实例中,控制器采用的是51单片机AT89C51/52,USB电气接口则是PHILIPS公司推出的USB接口芯片PDIUS-BDl2。单片机控制器作为下位机,通过USB接口芯片和USB总线与PC机交换数据,并实现USB设备的逻辑功能。本篇共分5章,前4章以一个简单的HID类设备的开发为例,向读者讲解采用本篇内容所介绍硬件架构的USB设备的一般开发方法。从方案设计到电路设计、固件程序设计、驱动程序设计和应用程序设计,由低层到高层逐步讲解USB设备的开发过程。本篇最后1章则介绍基于这种硬件架构的更复杂USB设备的开发方法,以前4章中实现的HID设备为基础,对硬件和软件进行适当扩充,轻松实现设备的扩展功能。第4篇:IC卡读/写系统及其应用完整地介绍了如何设计和开发I2C卡读/写系统,并且给出了应用实例。读/写系统利用普通的AT89C251单片机作为控制芯片,利用软件模拟I2C以及SLE4442的读/写时序,对普通的存储卡AT24CXX以及加密卡SLE4442进行读/写控制。整个系统具有通用性,既可以单独作为读/写卡系统,也可以嵌入到其它系统中作综合应用。第5篇:基于单片机的MP3播放器及U盘的设计与开发介绍基于单片机的MP3播放器及优盘的设计与开发,主要内容可概括为:便携式MP3播放器的原理与技术方案的分析与归纳,基于89C51SNDl单片机的MP3播放器及U盘的设计与调试,MP3播放器解码方案和MP3播放器的设计与实现。附录主要介绍本书配套光盘收录的资料,包括第2-5篇的项目资料、电路图、软件代码、设计参考和相关软件等。为方便读者进行软件编程,还以附录形式介绍了单片机的指令系统和KeilC51库函数,以表格的形式列出,简单明了。3.本书特色本书是一部51系列单片机高级实例应用开发的专著,具有以下特色:●融理论讲述与项目分析、设计与电路绘制、硬件开发、软件设计及调试实现为一体,是学习单片机,提高单片机开发水平、掌握相关领域技术和开发水平的高级教材。●是一部51单片机应用开发的必备参考书,除讲述了单片机项目开发基础外,还讲述了当前单片机最活跃的几种典型应用:CAN总线、USB设备的开发、IC卡应用系统开发、MP3播放器及U盘系统的设计与开发,因此,具有较高的参考价值。●作者是北京航空航天大学计算机、电子和自动化专业的博士和硕士,不仅精通51单片机应用系统的基础,而且有多年从事相关项目应用开发的经验,对于系统设计和实现具有独特、有效、实用和精辟的见解。●作者都具备单片机软、硬件开发和相关软件开发的背景。在本书的相关实例中,他们对硬件和软件系统及其结合的综合分析深入、透彻,做到了理论联系实际和深入浅出。●配套光盘收录了书中全部实例,包括各实例的电路图、自编软件的代码以及相关的资料文档,可帮助读者快速实现类似项目的开发。4.作者与致谢本书由北京航空航天大学李军博士主编,李军、程国钢、王岩、张宇、奇凌、张桂英、李庆国、李庆忠、张新勇、周华、何熊文、寇怀成、伍龙飞、徐波、张磊、马纪明等参与编著。参与本书相关项目设计与开发、代码调试、程序测试、电路制图、硬件调试和文档写作工作的还有:张声远、张伟、唐志勇、马纪明、李海蓉、吴庆彬、罗庆凡、孔飞、张旭、高波、库珉等。向给予大力支持的北京航空航天大学马军老师、北京航空航天大学出版社等表示感谢!关于本书的任何技术问题,可联系本书作者,发E-mail到:journer@163.com。最后,祝您早日成为高级单片机应用系统开发工程师。
作者简介
暂缺《51系列单片机高级实例开发指南》作者简介
目录
第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
猜您喜欢

读书导航