华信教育资源网
单片机原理与应用开发教程
作   译   者:李桂林 出 版 日 期:2016-08-01
出   版   社:电子工业出版社 维   护   人:竺南直 
书   代   号:G0293810 I S B N:9787121293818

图书简介:

本书以MCS-51系列单片机原理和应用开发为主线,分为基础篇和开发篇基础篇采用汇编语言,重点介绍单片机的结构、指令系统、程序设计、内部标准功能单元、系统扩展等内容,并精心设计了大量例题和多种解题思路,突出教学重点、叙述准确精炼,完全可以满足教师课堂教学和学生课程学习需要。开发篇采用C语言,重点阐述单片机应用系统的开发方法,对应用系统设计、开发、调试方法以及开发工具的使用都进行了深入的讨论,并给出大量应用实例,强调初学者通过C语言快速上手、由浅入深。基础篇和开发篇既独立成篇,又相互关联。全书结构规范、系统性强、实例丰富,注重逻辑思维的培养,突出工程实践和实际应用,可以满足应用型人才培养的要求,也可以满足大学生电子竞赛训练需要。
定价 49.8
您的专属联系人更多
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:

    本书资源

    本书暂无资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书以MCS-51系列单片机原理和应用开发为主线,分为基础篇和开发篇基础篇采用汇编语言,重点介绍单片机的结构、指令系统、程序设计、内部标准功能单元、系统扩展等内容,并精心设计了大量例题和多种解题思路,突出教学重点、叙述准确精炼,完全可以满足教师课堂教学和学生课程学习需要。开发篇采用C语言,重点阐述单片机应用系统的开发方法,对应用系统设计、开发、调试方法以及开发工具的使用都进行了深入的讨论,并给出大量应用实例,强调初学者通过C语言快速上手、由浅入深。基础篇和开发篇既独立成篇,又相互关联。全书结构规范、系统性强、实例丰富,注重逻辑思维的培养,突出工程实践和实际应用,可以满足应用型人才培养的要求,也可以满足大学生电子竞赛训练需要。

    图书详情

    ISBN:9787121293818
    开 本:16开
    页 数:396
    字 数:634.0

    本书目录

    基  础  篇
    第1章  单片机基础知识	2
    1.1  单片机概述	2
    1.1.1  单片机的组成	2
    1.1.2  单片机的特点	3
    1.1.3  单片机系统	4
    1.1.4  单片机的程序设计语言	4
    1.2  单片机的历史和发展	5
    1.2.1  单片机的发展历史	5
    1.2.2  单片机的发展趋势	6
    1.3  典型单片机简介	7
    1.3.1  MCS-51系列单片机	7
    1.3.2  AT89系列单片机	8
    1.3.3  PIC系列单片机	9
    1.3.4  MSP430系列单片机	9
    1.4  单片机的应用	10
    1.4.1  单片机的应用特点	10
    1.4.2  单片机的应用领域	11
    知识结构图	12
    思考与练习	13
    第2章  单片机基本结构和工作原理	14
    2.1  单片机的组成和内部结构	14
    2.1.1  单片机的组成	14
    2.1.2  单片机的内部逻辑结构	15
    2.1.3  CPU的内部结构	15
    2.1.4  单片机其他结构模块	17
    2.2  单片机的外部引脚及功能	18
    2.2.1  I/O端口	19
    2.2.2  控制引脚	19
    2.2.3  电源与晶振引脚	19
    2.3  单片机的存储器结构	19
    2.3.1  程序存储器	20
    2.3.2  数据存储器	21
    2.3.3  特殊功能寄存器	23
    2.4  单片机的I/O电路	26
    2.4.1  P0口	26
    2.4.2  P1口	27
    2.4.3  P2口	28
    2.4.4  P3口	29
    2.5  单片机的辅助电路	30
    2.5.1  时钟电路	30
    2.5.2  复位方式和复位电路	31
    2.5.3  单片机最小系统	33
    2.6  单片机的工作时序和工作方式	34
    2.6.1  时序的基本概念	34
    2.6.2  单片机的工作时序	35
    2.6.3  单片机的工作方式	36
    知识结构图	38
    思考与练习	39
    第3章  指令系统和汇编程序设计	40
    3.1  指令系统概述	40
    3.1.1  指令的表达形式	40
    3.1.2  指令中的常用符号	41
    3.2  单片机的寻址方式	42
    3.2.1  立即寻址	43
    3.2.2  直接寻址	43
    3.2.3  寄存器寻址	44
    3.2.4  寄存器间接寻址	45
    3.2.5  变址寻址	46
    3.2.6  相对寻址	47
    3.2.7  位寻址	48
    3.3  单片机的指令系统	49
    3.3.1  数据传送类指令	49
    3.3.2  算术运算类指令	55
    3.3.3  逻辑运算类指令	59
    3.3.4  控制转移类指令	63
    3.3.5  位操作类指令	66
    3.4  汇编语言程序的设计基础	69
    3.4.1  汇编语言的语句格式	70
    3.4.2  伪指令	70
    3.4.3  汇编语言程序结构	72
    3.4.4  汇编语言的编辑和汇编	73
    3.4.5  汇编语言程序设计方法	73
    3.5  汇编语言程序的基本结构形式	74
    3.5.1  顺序程序	75
    3.5.2  分支程序	76
    3.5.3  循环程序	80
    3.5.4  子程序	84
    3.6  常用程序设计举例	85
    3.6.1  数制转换子程序	85
    3.6.2  定时子程序	88
    3.6.3  均值滤波子程序	88
    3.6.4  数据极值查找子程序	90
    3.6.5  算术运算子程序	91
    知识结构图	94
    思考与练习	95
    第4章  单片机内部标准功能单元	98
    4.1  单片机的中断系统	98
    4.1.1  中断系统的基本概念和基本结构	98
    4.1.2  中断系统的控制与实现	100
    4.1.3  中断系统的处理过程	104
    4.1.4  中断系统的应用	108
    4.2  单片机的定时器/计数器	113
    4.2.1  定时器/计数器的基本结构和工作原理	113
    4.2.2  定时器/计数器的控制与状态	115
    4.2.3  定时器/计数器的工作方式	116
    4.2.4  定时器/计数器初值计算和初始化	119
    4.2.5  定时器/计数器的应用	119
    4.3  单片机的串行通信接口	128
    4.3.1  串行通信基础知识	128
    4.3.2  串行口的内部结构和工作原理	130
    4.3.3  串行口的控制与状态	132
    4.3.4  串行口的工作方式	133
    4.3.5  串行口波特率的确定和初始化	135
    4.3.6  串行口的应用	136
    4.3.7  单片机与PC机之间的通信	142
    知识结构图	149
    思考与练习	150
    第5章  单片机外部扩展技术	151
    5.1  并行总线扩展及编址	151
    5.1.1  单片机外总线的结构	151
    5.1.2  单片机外总线的扩展规则	153
    5.1.3  常用扩展器件	153
    5.1.4  地址译码方法	157
    5.2  存储器及其扩展	160
    5.2.1  半导体存储器简介	160
    5.2.2  EPROM程序存储器的扩展	162
    5.2.3  E2PROM程序存储器的扩展	164
    5.2.4  数据存储器及其扩展	164
    5.3  人机交互接口及其扩展	169
    5.3.1  键盘接口	169
    5.3.2  LED显示接口	177
    5.4  并行I/O端口扩展及应用	183
    5.4.1  简单I/O扩展	183
    5.4.2  接口芯片8155及扩展	185
    5.4.3  I/O接口芯片8255及扩展	191
    5.5  模拟量I/O通道扩展及应用	196
    5.5.1  A/D转换器基本知识	196
    5.5.2  A/D转换接口芯片ADC0809	197
    5.5.3  D/A转换器基本知识	202
    5.5.4  D/A转换接口芯片DAC0832	204
    知识结构图	208
    思考与练习	209
    第6章  单片机串行总线扩展技术	211
    6.1  串行总线概述	211
    6.2  单总线接口及其扩展	211
    6.2.1  单总线基础知识	211
    6.2.2  单总线的数据传输时序	213
    6.2.3  数字温度传感器DS18B20	214
    6.3  I2C总线接口及其扩展	220
    6.3.1  I2C总线基础知识	220
    6.3.2  I2C总线的数据传输时序	221
    6.3.3  I2C总线的时序模拟	223
    6.3.4  串行程序存储器AT24C04	224
    6.4  SPI总线接口及其扩展	230
    6.4.1  SPI总线基础知识	230
    6.4.2  SPI总线的数据传输时序	231
    6.4.3  E2PROM芯片X25045	232
    6.4.4  A/D转换器芯片TLC549	237
    知识结构图	239
    思考与练习	240
    
    开  发  篇
    第7章  快速开发入门知识	242
    7.1  单片机应用系统开发技术	242
    7.1.1  单片机应用系统的开发过程	242
    7.1.2  单片机开发工具	244
    7.2  Keil集成开发平台	247
    7.2.1  创建一个应用程序	248
    7.2.2  应用程序的编辑、编译和链接	252
    7.2.3  应用程序的仿真和调试	253
    7.2.4  应用程序调试的常用窗口	256
    7.2.5  调试实例	258
    思考与练习	262
    第8章  单片机C51程序设计基础	263
    8.1  C51的概述	263
    8.1.1  C51程序结构概述	263
    8.1.2  C51对标准C的扩展	264
    8.2  C51的编译和编译预处理	265
    8.2.1  编译	265
    8.2.2  编译预处理	266
    8.3  C51的基本语法	267
    8.3.1  常量	267
    8.3.2  变量	268
    8.3.3  常用运算符与表达式	273
    8.4  C51的程序结构	275
    8.4.1  分支语句	275
    8.4.2  循环语句	277
    8.5  C51的函数	280
    8.5.1  函数的定义和分类	280
    8.5.2  函数的调用	281
    8.6  C51的库函数	283
    8.6.1  字符函数CTYPE.H	283
    8.6.2  内部函数INTRINS.H	284
    8.6.3  标准输入/输出函数STDIO.H	285
    8.6.4  标准函数STDLIB.H	285
    8.6.5  字符串处理函数STRING.H	286
    8.6.6  绝对地址访问函数ABSACC.H	286
    8.6.7  专用寄存器REGxx.H	287
    8.7  C51的数组	287
    8.7.1  数组的定义	287
    8.7.2  数组的应用	288
    8.8  C51的指针	289
    8.8.1  指针与地址	289
    8.8.2  指针的定义	290
    8.8.3  指针的引用	291
    8.9  C51编程举例	291
    8.9.1  读写I/O端口的C51编程	292
    8.9.2  中断系统的C51编程	292
    8.9.3  定时器/计数器的C51编程	293
    8.9.4  串行接口通信的C51编程	295
    8.9.5  I2C总线的C51编程	298
    思考与练习	302
    第9章  单片机学习板及功能模块	304
    9.1  单片机学习板的用途和特点	304
    9.2  单片机学习板的整体设计	305
    9.3  STC-ISP烧录软件的使用方法	306
    9.4  单片机学习板的功能模块	307
    9.4.1  流水灯控制单元	307
    9.4.2  数码管显示单元	309
    9.4.3  蜂鸣器单元	310
    9.4.4  独立按键单元	312
    9.4.5  矩阵键盘单元	313
    9.4.6  液晶显示单元	315
    9.4.7  I2C总线单元	320
    9.4.8  A/D和D/A单元	320
    9.4.9  温度测量单元	325
    9.4.10  串口通信单元	326
    第10章  电子万年历设计	328
    10.1  功能要求	328
    10.2  总体设计	328
    10.2.1  时间的获取方法	328
    10.2.2  电子万年历的设计说明	329
    10.3  硬件电路设计	329
    10.4  软件设计	330
    10.4.1  延时程序	330
    10.4.2  液晶初始化及显示程序	331
    10.4.3  定时器中断初始化和工作程序	334
    10.4.4  键盘设置程序	337
    10.4.5  闹钟设置与启动程序	342
    第11章  超声波测距仪设计	345
    11.1  功能要求	345
    11.2  总体设计	345
    11.2.1  超声波简介	345
    11.2.2  超声波测距原理	345
    11.3  硬件电路设计	346
    11.3.1  HC-SR04超声波模块电路	346
    11.3.2  电源电路	348
    11.4  软件设计	349
    11.4.1  超声波发送程序和超声波接收中断程序	349
    11.4.2  距离计算程序	350
    11.4.3  LCD1602液晶显示程序	351
    第12章  智能循迹小车设计	354
    12.1  功能要求	354
    12.2  总体设计	354
    12.3  硬件电路设计	355
    12.3.1  红外检测模块电路	356
    12.3.2  稳压电源电路	357
    12.3.3  电机驱动电路	357
    12.4  软件设计	359
    12.4.1  各端口及变量定义	359
    12.4.2  相关子函数定义	359
    12.4.3  循迹小车主函数	362
    第13章  数据采集和无线传输系统设计	364
    13.1  功能要求	364
    13.2  总体设计	364
    13.3  硬件电路设计	365
    13.3.1  nRF24L01无线收发模块单元	366
    13.3.2  A/D转换单元	368
    13.4  软件设计	368
    13.4.1  相关参数定义	368
    13.4.2  相关函数设计	370
    13.4.3  数据采集及无线传输系统主函数	373
    附录A  ASCII表	375
    附录B  MCS-51指令表	378
    附录C  学习板电路图	381
    参考文献	382
    展开

    前     言

    一、学习单片机的意义
    传统的电子系统所完成的一切功能都是通过布线逻辑控制(Wired Logic Control)实现的,增加功能或者改进性能,必须修改或者重新设计硬件电路,否则,别无办法。而现代电子系统完成的许多功能是利用单片机通过存储程序控制(Stored Program Control)实现的,也就是控制功能是通过计算机执行预先存储在存储器中的程序来实现的。如果想要给系统增加功能或者改进性能,只需要改写程序(即软件)即可轻而易举地达到目的,非常灵活。若将传统电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有生命的电子系统。单片机应用系统的硬件结构给予电子系统“身躯”,单片机应用系统的应用程序赋予其“灵魂”。电子系统的智能化程度是无止境的,常常不需硬件资源的增添就能实现各种功能更新和增添,这也是当前许多电子设备的功能大量增强和不断扩展的重要因素。
    单片机是一种面向控制的大规模集成电路芯片,具有体积小、性价比高、功能强、性能稳定、控制灵活等优点,已成为电子系统中最重要的智能化核心部件,是微型计算机的一个重要分支。目前,单片机技术在通信、电子信息、工业检测控制、机电一体化、电力电子、智能仪器仪表、汽车电子等领域得到了广泛的应用。其中MCS-51系列单片机以其特有的简单、易学、易用和高性价比的优势,占有单片机市场的大部分份额,是初学者学习单片机的首选机型。为了帮助大中专学生和科技人员尽快掌握单片机的基本知识和应用开发方法,在理论方面打好基础,在应用方面快速上手,特编写本书作为教材和开发工具书。
    二、本书的结构和特点
    如何学习单片机的基础知识和掌握单片机的开发技能,是困扰初学者的一个问题,通过编著者多年的教学实践和在学生中大量的实际调研,可以得出单片机学习的两个方面的需求:①课堂上“正规的”教学需求和学习需求;②课外的“快速入门”的开发实践需求,而这两方面的需求有时又是重叠的。为此本书在结构上分成上下两篇,上篇是“基础篇”,下篇是“开发篇”,可以同时满足上述两个方面的需求。
    基础篇以课堂教学和课堂学习为主线,以汇编语言为主。力图解决困扰大多数学生的单片机学习问题,诸如:基本概念理解困难;没有编程思路;很难建立中断的概念;不了解单片机软硬件之间的关系等。从精简内容、重点讲解、加强逻辑思维能力训练入手,注重以下几个方面:
    1.内容精炼、重点突出。本书缩减了一些次要内容,同时又增加了串行总线的内容,紧跟时代发展的潮流。在内容组织上,突出学习重点,关键内容和知识点在字体上都做了加黑处理,使得学生在学习过程中更好地抓住重点。在指令的运用上,突出常用指令(在附录中加了“*”),而且所有的例题均限定在这些指令内。
    2.强调编程思想和逻辑思维的训练。通过多年教学经验总结,可以说较大一部分学生缺乏分析问题能力和逻辑思维能力,需要加强这方面的训练,本书以这一点作为切入点,重点展开。针对本门课程实践性强的特点,对书中例题进行了精心设计,并突出例题的多角度讲解,不同思路下的解题(编程)方法。
    3.提供形象的知识点描述。本书在基础篇每一章的后面都附有图形化的知识结构,生动地描述了知识点及其相互关系,便于学生综合复习。
    4.提供强大的辅助学习手段。编著者针对单片机课程的所有知识点(特别是书中例题的解题思路和程序执行过程)开发了卡通形式的“配音动画”,特别有助于学生理解程序的执行过程,从而提高编程能力。
    开发篇注重课外实践,以C语言为主。努力解决“动手能力”,淡化基本概念和内部原理,可以让初学者在缺乏其他基础知识支持的情况下,“快速入门”,马上就可以进入“开发状态”。其特点是:
    1. 便于自学和快速培养初步开发能力。在开发篇的有关章节,介绍了Keil μvision集成开发环境、实用的程序调式方法、C语言基础知识和单片机学习板功能模块,提供了循序渐进的学习内容和C语言编程思路。
    2. 与练手紧密结合。本书有关单片机学习板的内容与市场上销售的MD-100学习板及其电子套件紧密结合,系统地设计了学习板的功能模块,并针对不同模块给出相应的编程任务,从易到难,便于学生独立练习,解决了学生不知道用学习板如何练习的问题。同时也在本书配套的学习材料中给出了这些任务的源代码,以便对照和提高。
    3. 与大学生电子类竞赛紧密结合。本书的部分实例是电子竞赛的常规题目,如循迹小车、超声测距、无线通信等,独立成章,其中给出了设计要求、设计思想、电路图、程序流程图等,另外在随书学习材料中附有程序的源代码。可以作为大学生课外实践和电子竞赛的指导工具书。
    4. 配套资料齐全、新颖。本书所涉及的例程和任务,均提供电子版的源程序,并且这些程序经过实际检验,保证准确性。还有一些扩展阅读内容,用以提高读者的开发能力,也提供电子文档。
    我们所提供的“配音动画”不是课堂教学的录像,而是根据单片机课堂教学要求和课外实践需要总结出来的“知识点”和“例题”,按照编程的多种思路和程序的运行过程制作而成。具有“卡通”特色,直观而形象,并且利用一个学习软件的导航树把这些孤立的知识点和动画贯穿起来,和本书内容紧密关联。“配音动画”的内容比本书的内容更为广泛,读者可以从中学习更多的知识。
    三、学习路径
     
    本书前5章的内容重点参考和选取了《单片机原理及应用》(李桂林、马驰、王新屏、张春光,电子工业出版社,2013年)的许多内容,在此特别向原作者表示感谢。刘宁春、周雪峰收集了部分实例并做了相关的文字工作,并在动画制作方面提出很好的建议,在此表示感谢,还要特别感谢电子工业出版社竺南直对本书编写所提出的宝贵意见,同时对本书所用参考文献的作者表示诚挚的谢意。
    按照编写目标,编者进行了许多思考和努力。由于编者水平有限,难免书中有错漏和不妥之处,恳请读者批评指正,以便不断改进。联系信箱modulation@sina.com。
    与本书相关的配套资料,包括基于交互式动画的学习平台试用版、汇编语言和C语言源程序、讲课用的PPT、习题答案、扩展知识以及单片机学习板(型号:明达MD-100)等,可以从www.mcs-51.com下载。手机App应用,可以扫描封底或本页的二维码。
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网