第1章 单片机概论 1
1.1 计算机中数据的表示方法 1
1.1.1 带符号数的表示方法 1
1.1.2 字符在计算机内的表示 4
1.2 单片机的基本概念 5
1.2.1 单片机的主要特点 5
1.2.2 单片机的发展历史 6
1.3 单片机的常见应用 7
1.4 单片机系统的设计原则 8
1.5 单片机系统的开发流程 9
1.6 单片机系统硬件设计 9
1.6.1 单片机选型 9
1.6.2 单片机系统电路原理设计 13
1.6.3 单片机系统电路制板 13
1.7 单片机系统软件设计 13
1.8 Keil C51集成环境介绍 14
1.8.1 Keil μVision2 IDE的安装 15
1.8.2 Keil μVision2 IDE的界面 15
1.8.3 Keil μVision2 IDE的使用方法 17
1.8.4 仿真环境的设置 20
1.8.5 跟踪调试程序 21
1.9 单片机仿真软件Proteus ISIS 22
1.9.1 Proteus Professional界面简介 24
1.9.2 Proteus ISIS使用实例 31
1.10 本课程学习目标 39
1.11 如何学习单片机 39
能力训练一Keil软件的使用 40
知识测试一 41
第2章 MCS-51单片机结构与基本原理 43
2.1 MCS-51单片机的外部特征 43
2.2 MCS-51单片机的内部结构 44
2.2.1 MCS-51单片机的基本组成 44
2.2.2 MCS - 51系列单片机的中央处理器 45
2.2.3 MCS-51系列单片机的输入/输出接口 47
2.3 单片机最小系统设计 51
2.4 MCS-51单片机系统的时钟与时序 53
2.5 MCS-51单片机系统的复位电路 55
2.6 MCS-51单片机系统的存储器 56
2.6.1 程序存储器 56
2.6.2 数据存储器 59
能力训练二MCS-51单片机芯片认识 63
知识测试二 63
第3章 指令系统及汇编程序设计 65
3.1 指令系统的概述 65
3.2 汇编语言指令格式 65
3.3 MCS-51单片机的寻址方式 66
3.3.1 直接寻址方式 66
3.3.2 寄存器寻址方式 67
3.3.3 寄存器间接寻址 67
3.3.4 立即数寻址方式 68
3.3.5 基址寄存器加变址寄存器的变址寻址 68
3.3.6 位寻址 69
3.3.7 相对寻址 69
3.4 MCS-51系列单片机指令系统 69
3.4.1 数据传送类指令 70
3.4.2 算术运算类指令 73
3.4.3 逻辑运算类指令 76
3.4.4 控制转移类指令 78
3.4.5 位操作指令 81
3.5 MCS-51单片机指令表 83
3.6 伪指令 86
3.7 汇编语言程序设计 88
能力训练三 简单的LED灯控制 92
知识测试三 94
第4章 MCS - 51单片机的中断系统 97
4.1 中断的基本概念 97
4.2 MCS-51中断系统结构 97
4.2.1 中断源 98
4.2.2 中断请求标志寄存器 98
4.3 中断控制 99
4.3.1 中断允许寄存器 99
4.3.2 中断优先级寄存器 100
4.4 中断响应 101
4.4.1 中断响应条件 101
4.4.2 中断响应过程 102
4.4.3 中断响应时间 102
4.4.4 撤销中断请求 103
4.5 外部中断源的扩展 104
4.6 MCS-51中断系统的应用 105
能力训练四 利用中断控制LED彩灯 108
知识测试四 110
第5章 MCS-51单片机的定时器/计数器 112
5.1 MCS-51定时器/计数器的结构及原理 112
5.1.1 定时器/计数器的结构 112
5.1.2 定时器/计数器的工作原理 112
5.1.3 控制寄存器TCON 113
5.1.4 工作方式控制寄存器TMOD 114
5.2 定时器/计数器的工作方式 114
5.2.1 方式0 114
5.2.2 方式1 116
5.2.3 方式2 116
5.2.4 方式3 117
5.3 定时器/计数器T2 118
5.3.1 T2的相关控制寄存器 118
5.3.2 T2的工作方式 119
5.4 定时器/计数器应用举例 122
能力训练五 定时器/计数器的应用 126
知识测试五 128
第6章 MCS - 51单片机的串行接口 130
6.1 串行通信概述 130
6.1.1 计算机通信的两种方式 130
6.1.2 串行通信的基本概念 131
6.1.3 串行通信中常用的接口标准 133
6.2 串行口结构及控制 135
6.2.1 MCS - 51串行口的结构 135
6.2.2 MCS - 51串行口的控制 136
6.3 串行口工作方式 137
6.3.1 方式0 137
6.3.2 方式1 139
6.3.3 方式2 142
6.3.4 方式3 143
6.3.5 多机通信方式 143
6.3.6 串行口初始化编程步骤 144
6.4 串行口应用举例 144
6.4.1 单片机与PC的串行通信设计 144
6.4.2 单片机串口的其他应用 146
能力训练六 双机通信仿真 149
知识测试六 151
第7章 单片机系统的扩展与接口技术 153
7.1 MCS - 51系列单片机I/O口扩展 153
7.1.1 简单I/O接口扩展 154
7.1.2 基于可编程芯片8255A的扩展 155
7.2 MCS - 51单片机与键盘的接口 162
7.2.1 键盘的工作原理 162
7.2.2 独立式键盘与单片机的接口 162
7.2.3 矩阵式键盘与单片机的接口 164
7.3 MCS-51单片机与LED显示器的接口 166
7.3.1 LED显示器的结构与原理 166
7.3.2 LED数码管的显示方式 169
7.3.3 LED显示器与单片机的接口 170
7.4 A/D和D/A转换器的扩展 173
7.4.1 A/D转换器的扩展 173
7.4.2 D/A转换器扩展 177
能力训练七8255A扩展I/O口 182
知识测试七 183
第8章 单片机C语言及程序设计 185
8.1 单片机C语言概述 185
8.2 C51的程序结构 186
8.3 C51的常量 188
8.4 C51的变量 189
8.5 C51的指针 195
8.6 C51的数组 196
8.7 C51的结构 198
8.6 C51的运算符及表达式 202
8.7 C51的输入/输出 206
8.8 C51的函数 208
8.9 C51程序举例 213
能力训练八LED动态显示 223
知识测试八 224
第9章 单片机应用系统设计实例 226
9.1 基于单片机的数字温度计设计 226
9.1.1 单片机数字显示温度计的原理 226
9.1.2 系统硬件电路设计 226
9.1.3 系统软件程序设计 232
9.2 单片机红外报警器设计 242
9.2.1 红外报警器工作原理 242
9.2.2 报警器硬件电路设计 243
9.2.3 软件设计 248
参考文献 253