第1章 单片机概述 1
1.1 单片机概况 1
1.1.1 什么是单片机 1
1.1.2 单片机的发展简史及未来 2
1.1.3 单片机的分类及特点 3
1.1.4 单片机的应用 4
1.2 常用8位系列单片机简介 5
1.2.1 Intel公司8位系列单片机 5
1.2.2 89系列单片机 6
1.2.3 中国台湾Winbond(华邦)公司W78E51系列单片机 9
1.2.4 Motorola公司M68HC08系列单片机 11
1.2.5 Microchip(微芯)PIC系列单片机 12
1.3 单片机与嵌入式系统简介 15
1.3.1 什么是嵌入式系统 15
1.3.2 嵌入式计算机系统与通用型计算机的特点 15
1.3.3 嵌入式系统的发展趋势 16
习题一 17
第2章 单片机内部结构及原理 18
2.1 Intel公司的MCS-51/52系列单片机内部结构原理 18
2.1.1 MCS-51/52系列单片机CPU的结构 18
2.1.2 MCS-51/52单片机存储器结构 21
2.1.3 MCS-51/52系列单片机引脚及功能 25
2.1.4 MCS-51/52系列单片机I/O端口结构 27
2.2 89系列单片机结构及原理 31
2.2.1 89系列单片机内部结构 31
2.2.2 89系列单片机存储器结构 32
2.2.3 89系列单片机I/O端口结构 33
2.3 单片机的振荡器及时序电路 33
2.3.1 振荡器和时钟电路 33
2.3.2 单片机的复位电路 34
2.3.3 单片机的掉电操作方式 36
2.3.4 CHMOS型单片机的低功耗模式 36
2.4 单片机程序存储器的编程及加密方法 38
2.3.5 其他的低功耗模式 38
2.4.1 Flash存储器的编程模式 39
2.4.2 单片机加密位的加密方法 39
2.5 各系列单片机的区别 40
习题二 41
第3章 单片机指令系统及编程举例 42
3.1 指令系统简介 42
3.1.1 指令系统概述 42
3.1.2 指令格式 42
3.1.3 指令分类及符号说明 43
3.2.3 寄存器寻址方式 44
3.2.2 直接寻址方式 44
3.2.4 寄存器间接寻址方式 44
3.2.1 立即寻址方式 44
3.2 单片机的寻址方式 44
3.2.5 基址加变址寻址方式 45
3.2.6 相对寻址方式 45
3.2.7 位寻址方式 45
3.3 指令系统及应用举例 46
3.3.1 数据传送类指令 46
3.3.2 算术运算类指令 51
3.3.3 逻辑运算类指令 56
3.3.4 控制程序转移类指令 59
3.3.5 布尔变量操作类指令 63
3.3.6 伪指令 66
3.4 综合编程举例 67
3.4.1 算术运算类程序举例 68
3.4.2 逻辑运算类程序举例 72
3.4.3 代码转换类程序举例 72
3.4.4 查表类程序举例 73
3.4.5 输入/输出类程序举例 76
3.4.6 软件延时程序 77
习题三 78
第4章 单片机内部功能介绍 80
4.1 单片机定时/计数的功能 80
4.1.1 定时器/计数器的结构与工作原理 80
4.1.2 T0和T1定时器/计数器的控制 82
4.1.3 T2定时器/计数器的控制 83
4.1.4 定时器/计数器的初始化编程 85
4.1.5 T0和T1定时器/计数器的操作模式及使用方法 86
4.1.6 T2定时器/计数器的操作模式及使用方法 93
4.2 单片机中断控制功能 99
4.2.1 单片机中断系统的组成及中断入口 99
4.2.2 单片机的中断控制 100
4.2.3 单片机中断处理过程 103
4.2.4 单片机中断请求的撤销 105
4.2.5 单片机外部中断扩充方法 106
4.2.6 单片机中断系统的使用方法举例 109
4.3.1 单片机串行口的结构与工作原理 112
4.3 单片机串行通信功能 112
4.3.2 单片机串行口控制 114
4.3.3 工作方式与波特率的设置 115
4.3.4 单片机串行口的使用方法 116
习题四 123
第5章 单片机内部功能的应用实例 124
5.1 I/O端口的应用实例 124
5.1.1 用P1口做基本输入/输出口控制 124
5.1.2 用I/O端口直接控制LED 126
5.1.3 编码拨盘预置输入电路 126
5.1.4 交通信号灯控制 127
5.2 定时/计数及中断功能的应用实例 129
5.2.1 定时器/计数器门控位的应用 129
5.2.3 实时时钟中断 130
5.2.2 定时器/计数功能的综合应用举例 130
5.2.4 航标灯控制 131
5.3 单片机串行口通信口的应用实例 134
5.3.1 用单片机串行通信口扩展并行输入/输出口 134
5.3.2 用单片机串行通信口做异步通信接口 135
5.3.3 用单片机串行通信口做多机通信接口 136
习题五 140
第6章 单片机外部系统的扩展 142
6.1 扩展总线的产生 142
6.1.1 为什么要扩展三总线 142
6.1.2 并行总线扩展常用的芯片及使用方法 142
6.2 I2C串行总线扩展 143
6.2.1 I2C串行总线简介 144
6.2.2 I2C串行总线的特点 144
6.2.3 I2C串行总线的接口电路及工作原理 144
6.2.4 I2C串行总线的时序 145
6.2.5 I2C串行总线传输格式 146
6.3 单片机并行存储器扩展时片选产生方法 147
6.3.1 线译码法 147
6.3.2 全译码法 148
6.3.3 部分地址译码法 148
6.4 单片机外部并行程序存储器的扩展 149
6.4.1 单片机外部并行程序存储器的操作时序 149
6.4.2 单片机外部并行程序存储器的扩展方法 150
6.5 单片机外部I2C程序存储器的扩展 153
6.5.1 常用的I2C E2PROM芯片介绍 153
6.5.2 I2C E2PROM芯片的内部结构及引脚功能 154
6.5.3 I2C E2PROM芯片的寻址 156
6.5.4 I2C E2PROM芯片的读/写操作 157
6.5.5 用I2C E2PROM芯片扩展外部程序存储器 158
6.6 单片机外部并行数据存储器的扩展 159
6.6.1 单片机外部数据存储器的操作时序 159
6.6.2 单片机外部并行数据存储器的扩展方法 160
6.6.3 单片机外部数据存储器的串行扩展方法 163
6.7 单片机外部I/O端口的扩展 164
6.7.1 简单I/O端口的扩展 165
6.7.2 可编程接口电路的扩展——用8155扩展 166
习题六 173
第7章 单片机I/O设备及接口技术 174
7.1 键盘输入及接口 174
7.1.1 独立式按键及其接口 174
7.1.2 矩阵式键盘及其接口 177
7.2 LED显示器及其接口 181
7.2.1 LED显示器结构及工作原理 182
7.2.2 LED静态显示器接口(MC14495) 183
7.2.3 LED动态显示器接口(MC14499) 185
7.2.4 单片机应用系统中的典型键盘、显示器接口电路 187
7.3.1 LCD液晶显示器的分类、工作原理及驱动方式 190
7.3 LCD液晶显示器及其接口 190
7.3.2 LCD液晶显示器与单片机的接口 191
7.3.3 点阵式LCD(128×64点阵) 193
7.3.4 点阵式LCD与单片机的接口及程序设计 195
7.4 可编程键盘、显示器接口——8279 199
7.4.1 8279的内部结构及工作原理 199
7.4.2 8279的引脚及功能 201
7.4.3 8279的工作方式 203
7.4.4 8279的编程方法 203
7.4.5 8279与单片机及外设的接口 206
7.4.6 8279的应用举例 207
7.5.1 并行DAC接口及其应用 210
7.5 D/A转换器接口及其应用 210
7.5.2 串行DAC接口及其应用 213
7.6 A/D转换器接口及其应用 216
7.6.1 并行ADC接口及其应用 216
7.6.2 串行ADC接口及其应用 218
7.7 其他常用的人机接口 219
7.7.1 CRT显示器及其接口 220
7.7.2 语音接口 224
习题七 229
第8章 单片机系统开发和实用技术实例 231
8.1 TKS-932单片机实时在线仿真器简介 231
8.1.1 主要特点 231
8.1.3 Keil C51的安装 232
8.1.2 Keil C51软件仿真 232
8.2 单片机水塔水位控制 235
8.2.1 水塔水位控制原理 235
8.2.2 水塔水位控制接口电路及功能 236
8.2.3 水塔水位控制程序设计 237
8.3 单片机工业顺序控制器 238
8.3.1 顺序控制原理 238
8.3.2 顺序控制器及接口电路 238
8.3.3 顺序控制器软件设计方法 239
8.4 单片机作息时间控制 241
8.4.1 作息时间控制原理 241
8.4.2 作息时间控制程序设计 242
8.4.3 作息时间控制程序清单 243
8.5 智能雨量计 244
8.5.1 系统结构 244
8.5.2 集雨装置的工作原理 245
8.5.3 雨量计程序设计 246
附录 249
附录1 单片机指令表 249
附录2 常用芯片引脚图 254
附录3 二进制逻辑单元图形符号对照表 258
附录4 RS-232接口定义及互联方法图 259
附录5 ASCII码表 260
主要参考文献及网站 261