描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121304767
1.1 单片机的概念 1
1.1.1 单片机的定义 1
1.1.2 单片机的诞生 1
1.1.3 单片机的应用领域 2
1.1.4 单片机与嵌入式系统 2
1.2 单片机发展史及发展趋势 2
1.3 MCS-51系列单片机及其兼容产品 3
1.3.1 MCS-51系列单片机分类 4
1.3.2 MCS-51系列单片机的兼容产品 5
1.4 计算机基础知识 6
1.4.1 数制 6
1.4.2 数制转换 7
1.4.3 编码 8
1.4.4 计算机中数的表示 9
本章小结 10
习题与思考题 10
第2章 MCS-51单片机硬件结构 12
2.1 MCS-51系列单片机的基本结构 12
2.1.1 MCS-51系列单片机的总体基本结构 12
2.1.2 MCS-51系列单片机主要功能部件 12
2.1.3 8051单片机内部结构及引脚 13
2.1.4 外部总线构成 15
2.2 MCS-51单片机的中央处理器 16
2.2.1 CPU的组成 16
2.2.2 指令执行的基本步骤 16
2.2.3 时钟电路及时钟时序单位 17
2.3 MCS-51单片机的内部存储器 20
2.3.1 存储器结构及地址分配 20
2.3.2 内部程序存储器 21
2.3.3 内部数据存储器 22
2.3.4 堆栈 26
2.4 MCS-51单片机的工作方式 27
2.4.1 执行指令程序方式 27
2.4.2 掉电保护方式 28
2.4.3 低功耗方式 28
本章小结 30
习题与思考题 30
第3章 MCS-51单片机指令系统 33
3.1 MCS-51单片机指令概述 33
3.1.1 MCS-51单片机汇编语言指令格式 33
3.1.2 布尔处理机 33
3.1.3 指令中的常用符号 34
3.2 MCS-51单片机的寻址方式 34
3.2.1 立即寻址 35
3.2.2 直接寻址 35
3.2.3 寄存器寻址 36
3.2.4 寄存器间接寻址 36
3.2.5 基址加变址寻址 37
3.2.6 相对寻址 38
3.2.7 位寻址 39
3.3 MCS-51单片机的指令系统 40
3.3.1 数据传送指令 40
3.3.2 算术运算指令 45
3.3.3 逻辑运算和移位指令 48
3.3.4 控制转移指令 51
3.3.5 位操作指令 56
本章小结 58
习题与思考题 59
第4章 汇编语言程序设计 65
4.1 程序设计基础 65
4.1.1 汇编语言源程序设计的步骤 66
4.1.2 汇编语言的语句格式 67
4.1.3 汇编语言的伪指令 68
4.1.4 MCS-51单片机汇编语言源程序格式及上机过程 73
4.2 单片机汇编语言程序的控制结构 74
4.2.1 顺序结构程序设计 74
4.2.2 分支结构程序设计 75
4.2.3 循环结构程序设计 76
4.2.4 子程序设计 81
4.3 MCS-51单片机汇编语言程序设计举例 83
4.3.1 数据传送程序设计 83
4.3.2 算术运算程序设计 84
4.3.3 数制转换程序设计 87
4.3.4 查表程序设计 90
4.3.5 数据检索程序设计 92
本章小结 94
习题与思考题 95
第5章 C51应用基础 97
5.1 Keil C51简介 97
5.2 C51程序设计概述 97
5.2.1 C51语言的特点 97
5.2.2 C51程序与标准C程序的区别 98
5.2.3 C51的标识符与关键字 98
5.2.4 C51语言程序的书写格式 99
5.3 C51数据类型 99
5.3.1 C51的数据类型 99
5.3.2 数据类型转换 102
5.4 C51的运算量 103
5.4.1 常量 103
5.4.2 变量 104
5.4.3 存储模式 105
5.5 C51的运算符和表达式 106
5.5.1 C51运算符简介 106
5.5.2 算术运算符和算术表达式 107
5.5.3 关系运算符与关系表达式 107
5.5.4 逻辑运算符与逻辑表达式 108
5.5.5 位运算符 108
5.5.6 赋值运算符和赋值表达式 111
5.5.7 复合赋值运算符和复合赋值表达式 111
5.5.8 逗号运算符和逗号表达式 111
5.5.9 条件运算符和条件表达式 112
5.5.10 指针和地址运算符 112
5.5.11 sizeof运算符 112
5.6 C51的基本语句 114
5.6.1 表达式语句和空语句 114
5.6.2 复合语句 115
5.6.3 条件语句 115
5.6.4 开关语句 117
5.6.5 循环结构 119
5.7 C51的指针 121
5.7.1 C51指针变量 122
5.7.2 指针的运算 124
5.7.3 通过指针宏访问存储器 124
5.8 C51的函数 126
5.8.1 C51函数分类 126
5.8.2 C51函数的定义 127
5.8.3 C51中断函数的定义 128
5.8.4 C51的部分头文件和库函数 129
5.9 C51程序设计应用举例 132
5.9.1 8051单片机I/O口操作 132
5.9.2 再入函数的定义 133
5.9.3 排序和查找 133
5.9.4 码制转换 136
本章小结 138
习题与思考题 139
第6章 MCS-51单片机的硬件资源及其应用 141
6.1 并行I/O端口 141
6.1.1 端口功能 141
6.1.2 端口原理及操作 142
6.1.3 并行口应用举例 146
6.2 MCS-51的中断系统 147
6.2.1 MCS-51中断系统的组成及中断源 148
6.2.2 MCS-51的中断控制 149
6.2.3 MCS-51的中断响应过程 152
6.2.4 MCS-51的中断程序设计 155
6.3 MCS-51单片机的定时/计数器 158
6.3.1 定时/计数器的功能概述 158
6.3.2 定时/计数器的结构、控制及工作方式 159
6.3.3 定时/计数器的编程及应用 165
6.4 MCS-51单片机的串行接口及其串行通信 168
6.4.1 串行通信的基本概念 169
6.4.2 MCS-51单片机的串行口及控制寄存器 170
6.4.3 MCS-51单片机的串行通信工作方式 172
6.4.4 串行口应用举例 175
本章小结 183
习题与思考题 183
第7章 MCS-51单片机系统扩展及其应用 187
7.1 存储器的扩展 187
7.1.1 扩展技术的原理和方法 187
7.1.2 常用半导体存储器芯片 190
7.1.3 程序存储器扩展 193
7.1.4 数据存储器扩展设计 195
7.1.5 单片机扩展外部存储器空间地址分配 195
7.1.6 多片存储器扩展设计 198
7.2 I/O接口的扩展 200
7.2.1 简单I/O接口扩展 200
7.2.2 用串行口扩展并行I/O接口 202
7.2.3 可编程I/O接口扩展 203
7.3 D/A、A/D转换及其接口扩展 208
7.3.1 A/D转换芯片ADC0809简介 208
7.3.2 ADC0809与MCS-51型单片机的接口 210
7.4 MCS-51型单片机与D/A转换接口 212
7.4.1 D/A转换芯片ADC0832简介 213
7.4.2 DAC0832与MCS-51单片机的接口 215
7.5 MCS-51单片机键盘接口 218
7.5.1 独立式键盘 218
7.5.2 矩阵式键盘 221
7.6 MCS-51单片机显示器接口 226
7.6.1 LED显示器的结构与原理 226
7.6.2 LED显示器的显示方式 227
7.6.3 LED显示接口典型应用电路 229
本章小结 232
习题与思考题 233
第8章 串行总线扩展技术 234
8.1 串行总线扩展概述 234
8.1.1 串行扩展的种类 234
8.1.2 串行扩展的特点 234
8.2 I2C串行扩展总线 235
8.3 SPI串行扩展接口 237
8.3.1 SPI总线的结构原理 237
8.3.2 SPI总线的软件模拟 238
8.3.3 SPI串行扩展应用实例 239
8.4 串行单总线(1-Wire)技术 241
8.4.1 单总线的工作原理 241
8.4.2 单总线应用实例——数字温度测量与控制 242
本章小结 248
习题与思考题 248
第9章 MCS-51单片机应用系统设计 249
9.1 MCS-51单片机应用系统的结构 249
9.2 MCS-51单片机应用系统设计 250
9.2.1 总体方案设计 250
9.2.2 硬件设计 251
9.2.3 软件设计 251
9.2.4 可靠性设计 253
9.3 单片机应用系统的调试、测试 256
9.3.1 硬件调试 256
9.3.2 软件调试 257
9.3.3 系统联合调试 258
9.3.4 现场调试及性能测试 258
9.4 单片机应用系统举例 259
9.4.1 单片机在控制系统中的应用 259
9.4.2 单片机在里程、速度计量中的应用 261
9.4.3 数字电子时钟系统设计实例 265
9.4.4 单片机遥控系统的应用设计 273
本章小结 296
习题与思考题 297
第10章 实验与课程设计 298
10.1 DVCC-ZHC2/DVCC-52196JH/JH 单片机仿真实验系统使用简介 298
10.1.1 实验系统的启动 298
10.1.2 实验系统键盘简介 299
10.1.3 DVCC实验系统的工作方式 300
10.1.4 实验过程中实验结果的查看 301
10.1.5 实验的一般步骤 301
10.2 Keil ?Vision开发环境简介 302
10.2.1 Keil ?Vision简介 302
10.2.2 Keil ?Vision3 集成开发环境 302
10.2.3 使用Keil C51进行单片机程序设计实验的一般步骤 303
10.3 基础性实验 306
实验一 清零实验 306
实验二 拆字实验 308
实验三 数据排序实验 309
实验四 多分支实验 312
实验五 单片机I/O口实验(P3和P1口应用) 314
实验六 并行I/O口8255扩展实验 316
实验七 A/D转换ADC0809应用 320
实验八 D/A转换DAC0832应用 323
实验九 串并转换实验 326
实验十 音乐发声器(电子音响)实验 328
实验十一 继电器控制实验 331
10.4 设计性实验 333
实验一 P1口实验 333
实验二 独立式按键实验 335
实验三 7段LED数码管实验 337
实验四 8051内部定时器实验 339
实验五 4×4矩阵式键盘实验 342
10.5 课程设计 346
10.5.1 设计目的 346
10.5.2 内容及时间安排 346
10.5.3 基本要求 347
10.5.4 考核及评分标准 347
10.5.5 设计报告内容及要求 347
10.5.6 课程设计实例 347
10.5.7 课程设计参考题目及要求 356
附录A ASCII码表 359
附录B MCS-51系列单片机指令表 360
附录C 常用数字集成电路引脚图 364
参考文献 368
前 言
单片微型计算机简称单片机,又称为微控制器(Micro-Controller Unit,MCU),它的出现是计算机发展史上的一个重要里程碑。其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。51系列单片机是目前国内应用广泛的8位单片机之一。经过三十多年的推广与发展,51系列单片机形成了一个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出及其被普遍接受和应用,51单片机的发展又进入了一个新的阶段。许多专用功能芯片的内核集成了51单片机,与51系列单片机兼容的微控制器以IP核的方式不断地出现在FPGA的片上系统中。因此,目前国内众多高校仍以51单片机作为单片机课程或微机原理课程的基本机型。近年来,基于51单片机的嵌入式实时操作系统的出现与推广,表明了51系列单片机在今后的许多年中依然会活跃如故,而且在很长一段时间中将占据嵌入式系统产品的低端市场。
如果说C语言程序设计课程是软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、易于动手等特点,成为工科学生硬件设计的基础课。本书以51系列单片机为背景,介绍嵌入式系统应用软件、硬件设计的基本技术。
内容编排由浅入深,方便自学。以“必须”、“够用”、“适用”、“会用”为度,通过大量的典型例题,使学生重点掌握基本原理、基本的分析方法和软、硬件的设计方法,全书将表格、示意图和语言描述相结合,使基本理论的表述一目了然,便于掌握和记忆。
理论联系实际。引导学生掌握以单片机为核心的嵌入式系统的开发技术。书中的例题或习题,学生自己在实验室或家中就能动手做实验。书中设计了单片机实验指导,介绍了单片机开发软件的使用方法,安排的实验可以与ISP实验板结合使用,也可和任意外购实验平台结合使用,还可以用面包板自行搭建电路(此时需另购编程器,附录中有集成电路引脚图)。总之,该实验指导具有普遍指导意义,可作为独立的实验教程。
采用汇编语言和C语言对照的编程方法。对于IT行业工程师来说,两种语言的编程方法都必须掌握。这是因为汇编语言的代码效率高,适时性强,从中可以理解单片机的工作机理,而且目前很多资料使用的是汇编语言。但是对于复杂的运算或大型程序,用汇编语言的编程花费时间远比C语言多,这就降低了开发效率;而C语言的编程无须考虑具体的寄存器或存储器的分配等细节,由C51编译系统安排,从而可以加快开发者的编程速度,缩短开发周期。为了发挥两种语言的长处,书中以较多的例题介绍了C语言和汇编语言的混合编程方法。对于学过C语言的读者,编C语言的程序是轻而易举的事情。为了照顾没学过C语言的读者,本书对C语言的基本语法也做了介绍,学习以后,也能编出高质量的C语言程序。对于两种编程语言的教学,教学单位可根据情况取舍,另一种语言可以让学生参考或自学。
详细描述了串行总线。随着非总线扩展芯片的增多,书中专门对串行总线做了详细描述,并介绍了一些新型的串行器件,如串行D/A、串行A/D等,使读者适应单片机技术的新发展。
本书是作者在总结多年科研经验和长期从事单片机教学工作的基础上编写的,并获得了四川理工学院教材资助,是学校“单片机原理与应用”精品课程建设的成果体现。内容由浅入深、条理清晰,有一定的先进性、系统性和实用性。本书的编写注重层次分明,语言简练。每章都配有小结和思考题,便于理论教学。第10章是实验与课程设计,便于学校开展实践性教学。书末还附有常用集成电路引脚图,以便读者查阅。
本书的配套教学资源包括教学课件和习题解答等,可以通过华信教育资源网(http://www.hxedu.com.cn)注册免费下载。
全书由朱文忠统稿,并编写了第1、2、6章,第3、4、5章由蒋华龙编写,第7章由汪小威编写,第8、9章由符长友编写,第10章由达内科技集团的冯华编写。在此,对他们的辛勤劳动表示感谢。另外,还要感谢本书的主审老师贾金玲教授,他在百忙之中认真、负责地审阅了全书内容,感谢梁金明教授对本书提出的宝贵意见和建议。
由于计算机发展日新月异,作者学识水平有限,本书不当之处敬请广大读者批评指正。作者E-mail:[email protected]。
编 者
2017年1月
评论
还没有评论。