第1章 单片机基础知识 1
1.1单片机的基本概念 1
1.1.1单片机的概念 1
1.1.2单片机技术发展历程和趋势 1
1.1.3 MCS-51系列单片机 2
1.1.4单片机的应用 3
1.2计算机中的数制与码制 3
1.2.1数制 3
1.2.2数制的转换 5
1.2.3常用码制 6
本章小结 8
思考与练习 8
第2章 MCS-51单片机的硬件结构 9
2.1 MCS-51单片机的结构和信号引脚 9
2.1.1 MCS-51单片机内部结构框图 9
2.1.2 MCS-51单片机芯片内部逻辑结构 10
2.1.3 MCS-51单片机的引脚及功能 11
2.1.4 MCS-51单片机的并行口结构和功能 12
2.2单片机的存储器 14
2.2.1 MCS-51单片机存储器配置 14
2.2.2程序存储器(ROM) 15
2.2.3数据存储器(RAM) 15
2.2.4特殊功能寄存器(SFR) 17
2.3时钟电路与时序 20
2.3.1 CPU时序 20
2.3.2时钟电路 20
2.4复位电路 22
2.4.1复位的概念 22
2.4.2复位电路设计 22
本章小结 24
思考与练习 24
第3章 单片机指令系统 26
3.1指令系统概述 26
3.1.1指令系统分类 26
3.1.2指令格式 27
3.1.3寻址方式 28
3.1.4寻址空间与符号注释 30
3.2数据传送类指令 31
3.2.1内部RAM数据传送指令 31
3.2.2外部RAM数据传送指令 32
3.2.3查表指令 33
3.2.4交换指令 33
3.2.5堆栈操作指令 34
3.3算术运算类指令 34
3.3.1加法、减法指令 35
3.3.2乘法、除法指令 36
3.3.3加1、减1指令 37
3.4逻辑运算类指令 38
3.4.1逻辑与、或、异或指令 38
3.4.2清零、取反指令 39
3.4.3循环移位指令 39
3.5控制转移类指令 40
3.5.1无条件转移指令 40
3.5.2条件转移指令 41
3.5.3程序调用和返回指令 42
3.5.4空操作指令 44
3.6位操作类指令 44
3.6.1位数据传送指令 44
3.6.2位逻辑运算指令 45
3.6.3位清零、置1指令 45
3.6.4位控制转移指令 45
本章小结 46
思考与练习 46
第4章 汇编语言程序设计 50
4.1汇编语言程序设计概念 50
4.1.1源程序的编辑和汇编 50
4.1.2伪指令 51
4.1.3程序设计方法 54
4.2三种程序结构 55
4.2.1顺序程序结构及设计方法 55
4.2.2分支程序结构及设计方法 56
4.2.3循环程序结构及设计方法 60
4.3子程序设计 61
4.3.1子程序的概念 61
4.3.2子程序模块的划分原则 62
4.3.3子程序设计举例 62
本章小结 66
思考与练习 66
第5章 单片机的中断与定时系统 67
5.1中断系统结构与控制 67
5.1.1中断的概念 67
5.1.2中断系统结构 67
5.1.3中断系统控制 68
5.2中断处理过程 71
5.2.1中断响应 71
5.2.2中断处理 72
5.3定时/计数器的结构与控制 73
5.3.1定时/计数器的结构 73
5.3.2定时/计数器的控制 74
5.4定时/计数器的四种工作方式及应用 75
5.4.1定时/计数器的初始化 75
5.4.2工作方式0及应用 76
5.4.3工作方式1及应用 77
5.4.4工作方式2及应用 78
5.4.5工作方式3 80
5.5中断应用实例 81
5.5.1中断源扩展方法 81
5.5.2中断应用实例 83
本章小结 84
思考与练习 84
第6章 串行通信 85
6.1串行通信基本知识 85
6.1.1串行通信的基本通信方式 85
6.1.2串行通信的数据通路形式 87
6.1.3串并转换和串行接口 87
6.2 MCS-51单片机的串行口结构与控制 88
6.2.1串行口结构 88
6.2.2串行口控制 89
6.3 MCS-51单片机串行口通信工作方式 91
6.3.1串行口的工作方式 91
6.3.2串行口波特率设计 93
6.4串行接口异步通信应用举例 94
6.4.1单片机双机通信应用 94
6.4.2多机通信简介 97
本章小结 98
思考与练习 98
第7章 系统扩展技术 100
7.1系统扩展的概念及外部总线的实现 100
7.1.1系统扩展的概念 100
7.1.2扩展总线的实现 100
7.2存储器的扩展 102
7.2.1存储器扩展概述 102
7.2.2程序存储器扩展 104
7.2.3数据存储器扩展 107
7.3并行I/O接口扩展 110
7.3.1利用三总线直接扩展I/O口 111
7.3.2利用可编程并行接口芯片(8255A)扩展I/O口 111
本章小结 116
思考与练习 116
第8章 应用系统接口技术 117
8.1键盘接口 117
8.1.1键盘的结构及其原理 117
8.1.2独立式键盘设计 118
8.1.3矩阵式键盘设计 119
8.1.4 BCD码拨盘接口 124
8.1.5串行键盘接口 125
8.2显示接口技术 125
8.2.1 LED显示器的结构与原理 126
8.2.2 LED显示器接口设计 126
8.2.3 LCD显示技术 129
8.2.4典型键盘显示器接口芯片8279的应用 130
8.3数/模转换接口 136
8.3.1 D/A转换器件的主要性能指标 136
8.3.2 8位D/A转换芯片DAC0832 136
8.3.3 DAC0832与单片机的接口电路 138
8.4模/数转换接口 140
8.4.1 A/D转换器的主要性能指标 140
8.4.2 A/D转换器件的分类 141
8.4.3 A/D转换器的接口设计 141
8.4.4 8位A/D转换芯片ADC0809 143
本章小结 146
思考与练习 146
第9章 51系列单片机C语言程序设计 147
9.1概述 147
9.2数据类型、运算符及表达式 148
9.2.1基本数据类型 148
9.2.2基本运算符及表达式 148
9.3 C51的数据类型 151
9.4 C语言程序设计 153
9.4.1分支程序 154
9.4.2循环语句 156
9.4.3循环控制 159
9.5数组 160
9.5.1数组元素的表示方法 160
9.5.2数组的初始化 160
9.5.3二维数组 161
9.5.4字符数组 161
9.6函数 162
9.6.1函数的分类 162
9.6.2函数的定义 162
9.6.3函数的调用 163
9.7变量的作用域 165
9.7.1局部变量 165
9.7.2全局变量 165
9.7.3变量的存储方式 166
9.8指针 168
9.8.1指针变量的类型说明 168
9.8.2指针变量的引用 168
9.8.3指针运算 169
9.8.4数组指针变量的使用 170
9.9结构体与联合体 172
9.9.1结构体 172
9.9.2联合体 174
9.10枚举和位运算 174
9.10.1枚举类型 174
9.10.2位运算 175
9.11自定义符号 176
9.12预处理 177
9.12.1宏定义 177
9.12.2文件的包含 178
9.12.3条件编译 179
本章小结 179
思考与练习 180
附录MCS-51指令表 181
参考文献 188