图书简介:
目 录
第1章 微型计算机与单片机基础知识 1
1.1 微型计算机与单片机的感性认识 1
1.2 计算机硬件的基本组成 1
1.3 微型计算机的硬件构成 2
1.3.1 微型计算机的硬件结构 2
1.3.2 微处理器(CPU) 2
1.3.3 存储器 4
1.3.4 输入/输出(I/O) 4
1.3.5 总线(BUS) 5
1.4 计算机中信息的表示 5
1.4.1 计算机中无符号整数的表示 5
1.4.2 计算机中有符号数的表示 6
1.4.3 十进制数的表示 8
1.4.4 计算机中字符的表示 9
1.5 单片机概述 10
1.5.1 单片机的典型硬件结构 10
1.5.2 单片机与微型计算机的比较 10
1.5.3 主要的单片机产品 11
1.5.4 单片机的应用领域 14
1.5.5 单片机的发展过程与趋势 15
习题 16
第2章 单片机的结构及工作原理 18
2.1 MCS-51系列单片机的内部结构 18
2.1.1 MCS-51单片机的基本组成 18
2.1.2 中央处理器(CPU) 19
2.1.3 存储器 20
2.1.4 I/O端口 21
2.2 8051单片机的存储器组织 24
2.2.1 存储器组织 24
2.2.2 程序存储器 25
2.2.3 数据存储器 27
2.3 51系列单片机的引脚及功能 31
2.3.1 51单片机的引脚分类 31
2.3.2 三总线结构 33
2.4 时钟电路与CPU时序 33
2.4.1 振荡器和时钟电路 33
2.4.2 CPU时序 33
2.5 单片机的工作方式 36
2.5.1 复位方式 36
2.5.2 程序执行方式 36
2.5.3 单步执行方式 37
2.5.4 掉电和节电方式 38
2.5.5 编程和校验方式 38
2.6 51系列单片机最小系统 39
习题 40
第3章 51单片机指令系统及汇编程序设计 41
3.1 指令系统概述 41
3.1.1 51单片机汇编指令格式 41
3.1.2 51单片机汇编指令常用符号 42
3.2 51单片机的寻址方式 42
3.2.1 立即寻址 42
3.2.2 寄存器寻址 43
3.2.3 直接寻址 43
3.2.4 寄存器间接寻址 43
3.2.5 变址寻址 44
3.2.6 指令寻址 45
3.2.7 位寻址 45
3.3 51单片机的指令系统 45
3.3.1 数据传送类指令 46
3.3.2 算术运算类指令 49
3.3.3 逻辑操作类指令 52
3.3.4 控制转移类指令 54
3.3.5 位操作类指令 57
3.4 51单片机汇编程序设计概述 59
3.4.1 51单片机汇编程序设计过程 60
3.4.2 51单片机汇编程序常用伪指令 60
3.5 51单片机常用汇编程序设计 63
3.5.1 数据传送程序 63
3.5.2 运算程序 64
3.5.3 代码转换程序 66
3.5.4 分支程序 67
3.5.5 延时程序 69
习题 69
第4章 51单片机C程序设计 71
4.1 C语言与51单片机 71
4.1.1 C语言的特点 71
4.1.2 C语言程序的结构 72
4.1.3 C51与标准C语言 73
4.2 C51的数据类型 73
4.2.1 char字符型 74
4.2.2 int整型 74
4.2.3 long长整型 74
4.2.4 float浮点型 75
4.2.5 指针型 75
4.2.6 特殊功能寄存器型 75
4.2.7 位类型 76
4.3 C51的变量与存储类型 76
4.3.1 C51的普通变量及定义 76
4.3.2 特殊功能寄存器变量 79
4.3.3 位变量 79
4.3.4 指针变量 80
4.4 绝对地址的访问 81
4.4.1 使用C51运行库中预定义宏 81
4.4.2 通过指针访问 82
4.4.3 使用C51扩展关键字_at_ 83
4.5 C51中的函数 83
4.5.1 C51函数的参数传递 84
4.5.2 C51函数的返回值 84
4.5.3 C51函数的存储模式 85
4.5.4 C51的中断函数 85
4.5.5 C51函数的寄存器组 86
4.5.6 C51的重入函数 87
习题 87
第5章 51单片机中断系统 89
5.1 中断的基本概念 89
5.1.1 中断的概念 89
5.1.2 中断源及中断请求 90
5.1.3 中断优先权控制 90
5.1.4 中断允许与中断屏蔽 90
5.1.5 中断响应与中断返回 90
5.2 51单片机的中断系统 90
5.2.1 51单片机的中断系统总体结构 90
5.2.2 51单片机的中断源 90
5.2.3 两级中断允许控制 92
5.2.4 两级优先级控制 92
5.2.5 中断响应 94
5.3 51单片机中断系统的编程与应用 94
5.3.1 51单片机中断系统的编程 94
5.3.2 51单片机中断系统的应用 95
习题 99
第6章 51单片机定时/计数器 100
6.1 定时/计数器的结构及原理 100
6.1.1 主要特性 100
6.1.2 结构及工作原理 100
6.2 定时/计数器的方式和控制寄存器 101
6.2.1 方式寄存器TMOD 101
6.2.2 控制寄存器TCON 102
6.3 定时/计数器的工作方式 103
6.3.1 方式0——13位定时/计数器方式 103
6.3.2 方式1——16位定时/计数器方式 103
6.3.3 方式2——8位自动重置定时/计数方式 104
6.3.4 方式3——两个8位定时/计数器方式 104
6.4 定时/计数器的初始化编程及应用 105
6.4.1 定时/计数器的初始化编程 105
6.4.2 定时/计数器的应用 105
习题 110
第7章 51单片机串行接口 111
7.1 通信的基本概念 111
7.1.1 并行通信和串行通信 111
7.1.2 串行通信的基本过程 112
7.1.3 串行通信的通信方式 113
7.1.4 波特率 114
7.2 51单片机串行口的功能与结构 114
7.2.1 串行口的功能 114
7.2.2 串行口的结构 114
7.2.3 串行口控制寄存器SCON 115
7.2.4 电源控制寄存器PCON 116
7.3 串行口的工作方式 117
7.3.1 方式0——同步移位寄存器方式 117
7.3.2 方式1——8位异步通信方式 117
7.3.3 方式2和方式3——9位异步通信方式 118
7.4 串行口的应用 118
7.4.1 利用方式0扩展并行I/O接口 118
7.4.2 利用方式1实现点对点的双机通信 122
习题 125
第8章 51系统扩展及接口技术 126
8.1 51单片机系统扩展概述 126
8.1.1 51单片机系统扩展方法 126
8.1.2 单片机常用扩展芯片 127
8.2 存储器扩展 130
8.2.1 程序存储器扩展 130
8.2.2 数据存储器的扩展 131
8.3 I/O口扩展设计 132
8.3.1 简单I/O口扩展 133
8.3.2 8255可编程并行接口芯片 134
8.4 显示器接口扩展技术 140
8.4.1 LED显示器及其接口 140
8.4.2 LCD显示器及其接口 147
8.5 键盘接口设计 153
8.5.1 键盘工作原理 153
8.5.2 键盘接口设计 156
8.6 D/A、A/D转换器与51单片机的接口 163
8.6.1 DAC0832与51单片机的接口 163
8.6.2 ADC0809与8051的接口 169
习题 175
第9章 单片机应用系统设计及举例 177
9.1 单片机应用系统开发过程 177
9.1.1 单片机应用系统开发的基本过程 177
9.1.2 单片机应用系统的硬件系统设计 178
9.1.3 单片机应用系统的软件设计 180
9.1.4 单片机应用系统开发工具 182
9.2 单片机电子时钟的设计 182
9.2.1 功能要求 182
9.2.2 总体方案设计 182
9.2.3 主要器件介绍 183
9.2.4 硬件电路设计 188
9.2.5 软件程序设计 189
9.3 单片机数显温度计设计 203
9.3.1 功能要求 203
9.3.2 总体方案设计 203
9.3.3 主要器件介绍 204
9.3.4 硬件电路设计 208
9.3.5 系统软件程序设计 209
习题 219
第10章 Keil C51集成环境的使用 220
10.1 Keil C51简介 220
10.1.1 Keil ?Vision4 IDE的安装 220
10.1.2 Keil ?Vision4 IDE界面 220
10.2 Keil ?Vision4 IDE的使用方法 225
10.2.1 建立项目文件 226
10.2.2 给项目添加程序文件 227
10.2.3 编译、连接项目,形成目标文件 229
10.2.4 运行调试观察结果 230
10.2.5 仿真环境的设置 230
习题 233
第11章 Proteus软件的使用 234
11.1 Proteus概述 234
11.1.1 Proteus的启动 234
11.1.2 Proteus的界面 235
11.2 Proteus的基本操作 237
11.2.1 新建电路,选择元件 237
11.2.2 放置元件,调整元件 239
11.2.3 连接导线 240
11.2.4 给单片机加载程序 243
11.2.5 运行仿真查看结果 243
习题 244
附录A 51系列单片机指令表 245
附录B C51的库函数 249
展开
前 言
单片机技术及应用是理工科类专业的重要课程之一,也是一门实践性非常强的课程。MCS-51系列单片机的应用十分广泛,是学习单片机技术较好的系统平台,同时也是开发单片机应用系统的一个重要CPU系列。本书以实用为宗旨,以51系列单片机为背景,结合Keil、C51、Proteus等单片机系统开发软件,通过实例讲解MCS-51单片机的原理和硬、软件开发技术,针对同一功能,同时提供单片机汇编源程序和单片机C语言源程序,并免费提供所有源代码和电路图的资源下载,读者可以此作为进入单片机应用系统开发领域的首次尝试。
本教材突出工程特色,以工程教育为理念,围绕培养应用创新型工程人才这一目标,着重培养学生的独立研究能力、动手能力和解决实际问题的能力。本书与传统的单片机基本原理书籍相比,更面向实际开发;与单片机C语言程序设计书籍相比,兼顾了单片机原理和汇编语言的讲解,有利于初学者迅速掌握单片机技术,并且可以在未学习“微型计算机原理”的情况下直接学习“单片机原理及应用”。本书的实例分别用汇编语言和C语言来实现相同的功能,通过两种编程语言的对比,学生能够有选择地掌握一种语言并认识另一种语言。同时,为了提高学生应用设计的能力,本书还介绍了目前单片机接口常用的接口芯片,列举了几个简单的单片机应用系统开发实例。
全书共11章。第1章是微型计算机与单片机基础知识;第2章介绍了单片机的结构及工作原理;第3章介绍了指令系统及汇编程序设计;第4章介绍了C51语言及程序设计;第5章介绍了MCS-51单片机的中断系统及其应用方法;第6章介绍了MCS-51单片机定时/计数器的原理及使用方法;第7章介绍了MCS-51单片机的串行接口及串行通信技术;第8章介绍了51系统扩展及接口技术;第9章介绍了单片机应用系统设计及举例;第10章介绍Keil C51集成环境的使用;第11章介绍了Proteus软件的使用。
本书结构合理、内容翔实、实例丰富,突出了选取内容的实用性、典型性,书中的应用实例大多来自科研工作及教学实践。本书可作为高等院校自动化、电子信息、计算机应用、机电一体化等专业单片机课程的本科教材,也可作为高职高专及函授教材,同时可作为相关领域工程技术人员的技术参考书。
本书由成都大学方红、杨加国、唐毅谦等编著。书中参考并吸取了大量国内教材、论文的长处,在此表示感谢。由于编者水平有限,书中难免存在缺漏或不妥之处,敬请读者批评指正。
编 者
2017年4月
展开