第1章 单片机基础知识 1
1.1概述 1
1.1.1计算机 1
1.1.2微型计算机 2
1.1.3单片机 2
1.1.4嵌入式系统 3
1.2单片机中数的表示方法 3
1.2.1数制及其转换 3
1.2.2 BCD码 6
1.2.3 ASCII码 6
1.2.4单片机中数的表示方法 7
1.3单片机的内部结构 11
1.3.1中央处理器CPU 11
1.3.2单片机中的数据运算 12
1.3.3单片机的存储器 16
1.3.4单片机的输入/输出接口(I/O) 17
1.4典型单片机产品 18
1.4.1单片机的类型和特性 18
1.4.2典型的单片机产品 18
1.5单片机的应用和应用系统结构 21
1.5.1单片机的应用 21
1.5.2单片机应用系统的结构 22
小结 23
习题 24
第2章 51系列单片机系统结构 25
2.1总体结构 25
2.1.1 51系列单片机一般的总体结构 25
2.1.2 89C52的总体结构 26
2.2存储器组织 28
2.2.1程序存储器 29
2.2.2内部RAM数据存储器 30
2.2.3特殊功能寄存器 31
2.2.4位地址空间 32
2.2.5外部RAM和I/O口 34
2.3时钟、时钟电路、CPU定时 34
2.4复位和复位电路 37
2.4.1外部复位 38
2.4.2内部复位 39
2.4.3系统复位 39
2.5中断系统 40
2.5.1中断概念 40
2.5.2 89C52中断系统 40
2.5.3外部中断触发方式选择 44
2.5.4 51系列其他单片机的中断系统 44
小结 44
习题 45
第3章51系列指令系统 46
3.1指令格式和常用的伪指令 46
3.2寻址方式 48
3.3程序状态字和指令类型 50
3.4数据传送指令 51
3.4.1内部数据传送指令 51
3.4.2累加器A与外部数据存储器传送指令 55
3.4.3查表指令 55
3.5算术运算指令 56
3.5.1加法指令 56
3.5.2减法指令 59
3.5.3乘法指令 60
3.5.4除法指令 61
3.6逻辑运算指令 61
3.6.1累加器A的逻辑操作指令 61
3.6.2两个操作数的逻辑操作指令 63
3.7位操作指令 65
3.7.1位变量传送指令 65
3.7.2位变量修改指令 66
3.7.3位变量逻辑操作指令 66
3.8控制转移指令 67
3.8.1无条件转移指令 67
3.8.2条件转移指令 69
3.8.3调用和返回指令 71
小结 74
习题 74
第4章 汇编语言程序的设计和调试 78
4.1汇编语言程序设计方法 78
4.1.1程序设计步骤 78
4.1.2程序框图和程序结构 78
4.1.3循环程序设计方法 80
4.1.4子程序设计方法 84
4.2常用子程序的设计 90
4.2.1定点数四则运算程序 90
4.2.2常用数制转换子程序 102
4.2.3主程序和中断程序设计 106
4.3 Keil C51平台上的汇编语言程序调试 107
4.3.1 A51程序文件的生成 107
4.3.2 A51程序的调试 110
4.3.3实验的步骤与方法 116
小结 117
习题 118
实验 118
第5章 51系列单片机的外围模块及其应用 121
5.1并行口的功能及其应用 121
5.1.1并行口的功能和操作方法 121
5.1.2并行口的应用——2位七段显示器的接口和编程 126
5.1.3并行口的应用——4×4键盘的接口和编程 129
5.1.4并行口的应用——拨码盘的接口和编程 133
5.2定时器及其应用 136
5.2.1定时器的一般结构和工作原理 136
5.2.2定时器TO、T1的功能和使用方法 138
5.2.3定时器TO方式1应用——多路低频方波发生器 143
5.2.4定时器TO方式1应用——定时扫描显示器、键盘 146
5.2.5定时器TO方式2应用——时钟计数 150
5.2.6定时器T2的功能和使用方法 152
5.2.7定时器T2应用——顺序控制器 155
5.2.8定时器T2应用——脉冲频率的测量与计算 158
5.2.9可编程计数器阵列(PCA)的功能和使用方法 162
5.2.10 PCA应用——高速输出和PWM输出 169
5.2.11 PCA模块综合应用——软件双积分A/D 171
5.3串行口UART 171
5.3.1串行口的组成和特性 172
5.3.2串行口的工作方式 173
5.3.3波特率 176
5.3.4多机通信原理 178
5.3.5串行口的应用和编程 179
5.3.6串行总线 180
5.3.7串行口方式0应用——8位静态显示器的接口和编程 182
5.3.8串行口方式1应用——字符输入、输出 185
5.3.9串行口方式1应用——单字符命令通信 185
5.3.10串行口方式1应用——字符串命令通信 189
5.4 8×C552的A/D转换器 194
5.4.1 A/D转换器功能和使用方法 194
5.4.2 A/D的应用和编程 198
5.5其他外围模块简介 200
5.5.1液晶显示器(LCD)驱动器 200
5.5.2串行外围接口SPI 201
5.5.3 I2C串行总线口 202
5.5.4控制器局域网(CAN)接口 203
5.5.5其他 203
小结 203
习题 203
实验 205
第6章 单片机接口技术 211
6.1 51系列单片机并行扩展原理 211
6.1.1大系统的扩展总线和扩展原理 211
6.1.2紧凑系统的扩展总线和扩展原理 214
6.1.3海量存储器系统地址译码方法 216
6.2存储器扩展 216
6.2.1程序存储器扩展 216
6.2.2数据存储器RAM的扩展 219
6.3 RAM/IO扩展器8155的接口技术和应用 221
6.3.1 RAM/IO扩展器8155的接口技术 221
6.3.2 8155的应用——6位共阴极显示器、3×8键盘的接口和编程 226
6.4并行接口8255A的接口技术和应用 234
6.4.1 8255A的功能和接口技术 234
6.4.2 8255的应用——点阵式发光显示器的接口和编程 241
6.5 74系列器件接口技术 254
6.5.1用74HC245扩展并行输入口 255
6.5.2用74HC377扩展并行输出口 255
6.6 A/D器件接口技术 255
6.6.1 8路8位A/D ADC0809/0808的接口和编程 255
6.6.2 12位A/D AD574的接口和编程 258
6.7液晶显示模块LCM的接口和编程 260
6.7.1 GY1206 LKSCY7G液晶显示模块简介 260
6.7.2 GY1206 LKSCY7G的接口和编程 265
6.8模拟串行扩展技术 276
6.8.1 I2C时序模拟 276
6.8.2 SPI时序模拟 279
小结 280
习题 281
实验 281
第7章 应用系统的设计与调试 286
7.1应用系统设计 286
7.1.1总体设计 287
7.1.2硬件设计 287
7.1.3软件设计 289
7.2单片机应用系统设计举例 292
7.2.1 4相8拍步进电机控制器 292
7.2.2直流电机控制器 298
7.2.3十字路口交通控制器 309
7.3开发工具与系统调试 318
7.3.1单片机开发工具 318
7.3.2应用系统调试 319
7.3.3调试举例 320
小结 322
习题 322
实验 322
附录 326
附录1 51指令表 326
附录2教学光盘内容和使用说明 331
附录3实验仿真模块简介 331
参考文献 339