图书简介:
第1章 单片机基础知识 1
1.1 单片机概述 1
1.1.1 单片机的基本概念 1
1.1.2 单片机的特点 2
1.1.3 单片机系统 2
1.1.4 单片机程序设计语言 3
1.2 单片机的发展历史和趋势 4
1.2.1 单片机的发展历史 4
1.2.2 单片机的发展趋势 5
1.3 典型单片机简介 6
1.3.1 MCS-51系列单片机 6
1.3.2 AT89系列单片机 7
1.3.3 PIC系列单片机 7
1.3.4 MSP430系列单片机 8
1.4 单片机的应用 9
1.4.1 单片机的应用特点 9
1.4.2 单片机的应用领域 9
思考与练习 10
第2章 单片机基本结构和工作原理 11
2.1 单片机的组成和内部结构 11
2.1.1 单片机的组成 11
2.1.2 单片机的内部逻辑结构 12
2.1.3 CPU的内部结构 13
2.1.4 单片机其他结构模块 14
2.2 单片机的外部引脚及功能 15
2.2.1 I/O引脚 15
2.2.2 控制引脚 15
2.2.3 电源与晶振引脚 16
2.3 单片机的存储器结构 16
2.3.1 程序存储器 16
2.3.2 数据存储器 18
2.3.3 特殊功能寄存器 20
2.4 单片机的I/O口 23
2.4.1 P0口 23
2.4.2 P1口 24
2.4.3 P2口 25
2.4.4 P3口 26
2.5 单片机辅助电路 27
2.5.1 时钟电路 27
2.5.2 复位方式和复位电路 28
2.5.3 单片机最小系统 30
2.6 单片机的工作时序和工作方式 30
2.6.1 时序的基本概念 31
2.6.2 单片机的工作时序 31
2.6.3 单片机的工作方式 32
思考与练习 34
第3章 C51程序设计基础 35
3.1 C51的概述 35
3.1.1 C51程序结构概述 35
3.1.2 C51对标准C语言的扩展 36
3.2 C51的编译和编译预处理 37
3.2.1 编译 37
3.2.2 编译预处理 38
3.3 C51的基本语法 39
3.3.1 常量 39
3.3.2 变量 40
3.3.3 常用运算符与表达式 45
3.4 C51的程序结构 48
3.4.1 分支语句 48
3.4.2 循环语句 52
3.5 C51的函数 56
3.5.1 函数的定义和分类 56
3.5.2 函数的调用 58
3.5.3 中断服务函数 59
3.6 C51的数组 60
3.6.1 数组的定义 60
3.6.2 数组的应用 61
?
3.7 C51的指针 62
3.7.1 指针与地址 62
3.7.2 指针变量的定义 63
3.7.3 指针的引用 64
3.8 读写I/O口的C51编程 64
思考与练习 68
第4章 中断系统 70
4.1 中断系统的基本概念和基本结构 70
4.1.1 中断的基本概念 70
4.1.2 中断系统的基本结构 71
4.2 中断系统的控制与实现 72
4.2.1 中断请求控制 72
4.2.2 中断允许控制 74
4.2.3 中断优先级控制 74
4.3 中断处理过程 75
4.3.1 中断响应 76
4.3.2 中断处理 78
4.3.3 中断返回 78
4.3.4 中断请求的深入理解 78
4.4 中断系统的应用 79
4.4.1 中断服务函数 79
4.4.2 中断程序的内容 80
4.4.3 外部中断源的应用程序 81
4.4.4 外部中断源的扩展及应用 83
思考与练习 85
第5章 定时器/计数器 87
5.1 定时器/计数器的基本结构和工作原理 87
5.1.1 定时器/计数器的基本结构 87
5.1.2 定时器/计数器的工作原理 88
5.1.3 定时器/计数器的控制 88
5.2 定时器/计数器的工作方式 90
5.2.1 方式0 90
5.2.2 方式1 90
5.2.3 方式2 91
5.2.4 方式3 92
?
5.3 定时器/计数器的应用 92
5.3.1 定时器/计数器初值计算和初始化 92
5.3.2 计数应用 94
5.3.3 定时应用 96
5.3.4 门控位的应用 100
5.3.5 扩展外部中断源 101
思考与练习 101
第6章 串行口 103
6.1 串行通信的基本概念 103
6.1.1 串行通信的分类 104
6.1.2 串行通信的数据传输方式 105
6.2 串行口的内部结构和工作原理 106
6.2.1 串行口的内部结构 106
6.2.2 串行口的工作原理 107
6.2.3 串行口的控制与状态 107
6.2.4 串行口的工作方式 108
6.3 串行通信的应用 110
6.3.1 串行口波特率的确定和初始化 110
6.3.2 串行口用于扩展并行I/O口 112
6.3.3 双机通信 115
6.3.4 多机通信 120
6.3.5 单片机与计算机之间的通信 123
思考与练习 129
第7章 单片机并行扩展技术 130
7.1 单片机的最小系统 130
7.1.1 80C51/89C51最小应用系统 130
7.1.2 8031最小应用系统 130
7.2 总线扩展及编址方法 131
7.2.1 单片机的外总线结构 131
7.2.2 单片机的扩展能力 132
7.2.3 地址译码方法 132
7.3 存储器的扩展 135
7.3.1 EPROM程序存储器的扩展 135
7.3.2 E2PROM程序存储器的扩展 137
7.3.3 数据存储器及其扩展 138
?
7.4 并行I/O口的扩展 141
7.4.1 简单I/O口的扩展 142
7.4.2 LED数码管显示接口 143
7.4.3 键盘接口 148
7.5 A/D转换器、D/A转换器及其应用 154
7.5.1 A/D转换器 155
7.5.2 D/A转换器 161
思考与练习 167
第8章 单片机串行扩展技术 168
8.1 串行总线概述 168
8.2 单总线接口及其扩展 168
8.2.1 单总线的基础知识 168
8.2.2 单总线的数据传输时序 169
8.2.3 数字温度传感器DS18B20 171
8.3 I2C总线接口及其扩展 176
8.3.1 I2C总线的基础知识 176
8.3.2 I2C总线的数据传输时序 177
8.3.3 I2C总线的时序模拟 179
8.3.4 串行程序存储器AT24C04 180
8.4 SPI总线接口及其扩展 187
8.4.1 SPI总线的基础知识 187
8.4.2 SPI总线的数据传输时序 188
8.4.3 A/D转换器TLC549 189
思考与练习 191
第9章 单片机开发入门知识 193
9.1 单片机系统开发技术 193
9.1.1 单片机系统的开发过程 193
9.1.2 单片机开发调试工具 195
9.2 Keil μVision4集成开发平台 198
9.2.1 应用程序的创建 199
9.2.2 应用程序的编辑、编译和链接 203
9.2.3 应用程序的仿真和调试 205
9.2.4 应用程序调试的常用窗口 208
9.3 Proteus 8仿真平台简介 210
9.3.1 主窗口 211
9.3.2 原理图窗口 216
9.3.3 原理图设计 221
9.3.4 VSM Studio仿真 227
9.3.5 仿真调试工具简介 235
思考与练习 243
第10章 单片机学习板及其功能模块 244
10.1 单片机学习板的用途和特点 244
10.2 单片机学习板的整体设计 245
10.3 STC-ISP烧录软件的使用方法 245
10.4 单片机学习板的功能模块 247
10.4.1 流水灯控制单元 247
10.4.2 数码管显示单元 249
10.4.3 蜂鸣器单元 251
10.4.4 独立按键单元 253
10.4.5 矩阵键盘单元 254
10.4.6 液晶显示单元 256
10.4.7 I2C总线单元 263
10.4.8 A/D和D/A单元 264
10.4.9 温度测量单元 270
10.4.10 串行口通信单元 273
附录A ASCII码表 275
附录B MCS-51指令表 279
附录C 单片机学习板MD-100的原理图 282
参考文献 283
展开
单片机是一种面向控制的大规模集成电路芯片,具有体积小、性价比高、功能强、性能稳定、控制灵活等优点,已成为电子系统中最重要的智能化核心部件,是微型计算机的一个重要分支。目前,单片机技术在通信、电子信息、工业检测控制、机电一体化、电力电子、智能仪器仪表、汽车电子等领域得到了广泛的应用。其中MCS-51系列单片机以其特有的简单、易学、易用和性价比高的优势,占有单片机市场的大部分份额,是初学者学习单片机的首选机型。为了帮助本科生和科技人员尽快掌握单片机的基本知识与应用开发方法,在理论方面打好基础,在应用方面快速上手,编者精心编写了本书。
参加本书编写的人员均为长期从事单片机技术教学工作的一线教师,具有丰富的教学和教改经验,多次主持省级教学改革项目,同时参加过智能化电子产品的开发和研制。2021年,编者教授的“单片机原理与接口技术”课程被评为辽宁省一流本科课程。本书是编者依据多年来单片机课程教学和应用系统开发的经验,并参考了大量的同类书籍和单片机发展的最新技术资料编写而成的。
本书以课堂教学和课堂学习为主线,力图解决困扰大多数学生的单片机学习问题(如基本概念理解困难,不了解单片机软、硬件之间的关系,没有编程思路,逻辑思维能力较弱等),从精简内容、突出重点、加强逻辑思维能力训练等方面入手进行内容编排。本书具有如下特点:
(1)内容精练、重点突出。本书缩减了一些次要内容,突出学习重点,关键内容和知识点在字体上都做了加黑处理,便于学生在学习过程中更好地抓住重点。
(2)强调编程思想和逻辑思维的训练。针对本门课程实践性强的特点,对书中例题进行了精心设计,并突出例题的多角度讲解,给出不同思路下的解题(编程)方法,以激发学生的学习兴趣。
(3)与学生练手紧密结合。根据单片机系统的组成原理,编者设计了一款单片机学习板MD-100,系统地设计了学习板的功能模块,并针对不同的功能模块给出了实用的编程任务,便于学生独立练习,解决了学生不知道如何应用所学知识的问题。
本书共10章,涵盖了单片机应用技术的基本内容。第1章介绍了单片机基础知识。第2章对单片机基本结构和工作原理进行了阐述。第3章对C51程序设计的基础知识进行了较为详细的讲述。第4~6章分别对单片机内部标准功能单元,即中断系统、定时器/计数器和串行口的工作原理及应用案例进行了比较详细的介绍。第7章介绍了常见的单片机并行扩展技术及应用案例。第8章介绍了目前较流行的单片机串行扩展技术,如单总线、I2C总线、SPI总线及相应的应用案例。第9章介绍了单片机系统开发技术、Keil μVision4集成开发平台和Proteus 8仿真平台使用入门。第10章介绍了编者自主设计的单片机学习板MD-100的功能模块和编程任务。
本书由大连交通大学张春光、王新屏和马驰编写,其中张春光负责编写第6章、第7章和第9章,并负责全书的组织和统稿工作;王新屏负责编写第3章、第4章、第5章、第8章和第10章,并负责全书的审稿工作;马驰负责编写第1章、第2章。特别感谢电子工业出版社刘瑀编辑对本书编写提出的宝贵意见,同时对本书所列参考文献的作者表示诚挚的谢意。
按照编写目标,编者进行了许多思考和努力。由于编者水平有限,书中难免有不妥之处,恳请读者批评指正,以便不断改进(联系邮箱:zcg@djtu.edu.cn)。
展开