本书以MCS-51系列单片机原理和套用开发为主线,分为基础篇和开发篇基础篇採用彙编语言,重点介绍单片机的结构、指令系统、程式设计、内部标準功能单元、系统扩展等内容,并精心设计了大量例题和多种解题思路,突出教学重点、叙述準确精炼,完全可以满足教师课堂教学和学生课程学习需要。开发篇採用C语言,重点阐述单片机套用系统的开发方法,对套用系统设计、开发、调试方法以及开发工具的使用都进行了深入的讨论,并给出大量套用实例,强调初学者通过C语言快速上手、由浅入深。基础篇和开发篇既独立成篇,又相互关联。
基本介绍
- 书名:单片机原理与套用开发教程
- 作者:李桂林
- ISBN:9787121293818
- 出版社:电子工业出版社
- 出版时间:2016-08-01
内容简介
本书以MCS-51系列单片机原理和套用开发为主线,分为基础篇和开发篇基础篇採用彙编语言,重点介绍单片机的结构、指令系统、程式设计、内部标準功能单元、系统扩展等内容,并精心设计了大量例题和多种解题思路,突出教学重点、叙述準确精炼,完全可以满足教师课堂教学和学生课程学习需要。开发篇採用C语言,重点阐述单片机套用系统的开发方法,对套用系统设计、开发、调试方法以及开发工具的使用都进行了深入的讨论,并给出大量套用实例,强调初学者通过C语言快速上手、由浅入深。基础篇和开发篇既独立成篇,又相互关联。
全书结构规範、系统性强、实例丰富,注重逻辑思维的培养,突出工程实践和实际套用,可以满足套用型人才培养的要求,也可以满足大学生电子竞赛训练需要。
本书目录
基 础 篇
第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