第一章 绪论 1
1-1 单片机的结构特点 1
1-2 单片机的主要品种及系列 2
一、4位单片机 2
二、8位单片机 3
三、16位单片机 3
四、32位单片机 3
1-3 单片机的应用 4
一、单片机的应用领域及应用模式 4
二、单片机的供应状态 7
三、单片机产品的等级 8
1-4 单片机与嵌入式系统 8
一、什么是嵌入式系统 8
二、嵌入式系统的由来 9
三、嵌入式系统的种类 9
五、嵌入式系统的特点及其典型应用 10
四、单片机是经典的嵌入式系统 10
1-5 单片机技术的发展趋势 11
一、大力提升主流型单片机的技术性能 11
二、单片机和模糊逻辑相结合 12
三、大力发展专用型单片机 12
四、全盘CMOS化趋势 12
六、采用RISC体系结构 13
七、片内EPROM的FlashMemory化 13
五、实现全面的功耗管理 13
八、推行串行扩展总线 14
第二章 MCS-51单片机的结构和原理 16
2-1 关于MCS-51系列 16
2-2 MCS-51单片机的结构原理 17
一、MCS-51单片机的基本组成 17
二、8051单片机的内部结构 17
2-3 MCS-51单片机的引脚及其片外总线结构 26
一、管脚功能 26
二、片外三总线结构 27
2-4 MCS-51单片机的工作方式 28
一、复位方式 28
二、程序执行方式 29
三、单步执行方式 29
四、掉电和节电方式 30
五、编程和校验方式 32
2-5 MCS-51单片机的时序 33
二、MCS-51指令的取指/执行时序 34
一、机器周期、状态和指令周期 34
三、访问外部ROM和外部RAM的时序 35
第三章 MCS-51单片机的指令系统 37
3-1 指令的格式及标识 37
一、指令的格式 37
二、指令中的符号标识 38
三、关于注释 39
3-2 寻址方式 39
二、直接寻址 40
一、寄存器寻址 40
三、立即寻址 41
四、寄存器间接寻址 41
五、变址寻址 42
六、相对寻址 43
七、位寻址 43
3-3 MCS-51指令系统的分类 44
一、数据传送类指令 44
二、算术操作类指令 46
三、逻辑操作类指令 50
四、控制程序转移类指令 51
五、布尔变量操作类指令 56
3-4 MCS-51的伪指令 58
一、指令性语句 58
二、指示性语句 58
一、多字节数加法 63
第四章 MCS-51单片机的应用程序设计 63
4-1 运算程序 63
二、多字节数减法 64
三、多字节十进制数(BCD码)加法 65
四、多字节数乘法 65
五、多字节数除法 66
4-2 数据的拼拆和转换 68
一、数据的拼拆 68
二、数据的转换 69
4-3 查表程序 73
4-4 散转程序 77
一、采用转移指令表的散转程序 77
二、采用地址偏移量表的散转程序 79
三、采用转向地址表的散转程序 79
四、采用“RET”指令的散转程序 80
4-5 I/O端口控制程序 81
一、通过寄存器传递参数 83
4-6 子程序调用时的参数传递方法 83
二、通过堆栈传递参数 84
三、利用数据指针传递参数 84
第五章 MCS-51单片机内部定时/计数器及其应用 86
5-1 定时/计数器的结构及工作原理 86
5-2 定时/计数器的方式和控制寄存器 88
一、定时器方式寄存器TMOD 88
二、定时器控制寄存器TCON 88
5-3 定时/计数器的工作方式 89
一、方式0 89
二、方式1 90
三、方式2 91
四、方式3 91
5-4 定时/计数器的应用举例 92
一、方式0、方式1应用 93
二、方式2应用 93
三、门控位应用 95
6-1 MCS-51单片机最小应用系统 97
一、8051/8751最小应用系统 97
第六章 MCS-51单片机的系统扩展 97
二、8031最小应用系统 98
6-2 MCS-51单片机的外部扩展性能 99
一、MCS-51单片机的片外总线结构 99
二、MCS-51单片机的系统扩展能力 100
6-3 程序存储器的扩展 100
一、外部程序存储器扩展概要 101
二、典型EPROM扩展电路 102
6-4 数据存储器的扩展 104
一、数据存储器扩展概要 104
二、常用数据存储器扩展电路 105
一、EEPROM的特点 107
二、EEPROM的接口类型 107
6-5 采用EEPROM的存储器扩展 107
三、并行接口EEPROM的写入方式 108
四、并行接口EEPROM写入周期结束的检测方法 109
五、EEPROM的扩展电路 109
6-6 采用FlashMemory的扩展 113
一、FlashMemory的主要性能特点 113
二、FlashMemory的工作方式(以28F256为例) 114
三、FlashMemory的操作——命令寄存器 115
四、28F256与8031的接口和编程 118
6-7 I/O口扩展 120
一、简单I/O口的扩展 121
二、可编程I/O口的扩展 122
第七章 MCS-51系统的串行接口 130
7-1 串行通讯概说 130
一、串行通讯的两种基本方式 131
二、波特率 131
7-2 MCS-51单片机的串行接口 132
三、数据传送的方向 132
一、串行口的构成 133
二、串行口控制寄存器SCON 133
三、串行口的工作方式 135
7-3 MCS-51单片机串行口的应用 138
一、MCS-51单片机串行通讯的波特率 138
二、串行口方式0用做扩展并行I/O口 139
三、方式1与点对点的异步通讯 142
四、方式2、方式3与多机通讯 144
7-4 相互通道接口标准及其选择 151
一、相互通道的典型结构 151
二、关于RS-232C、RS-422、RS-423和RS-449标准接口 152
7-5 PC机与MCS-51单片机的通讯技术 160
一、异步通讯接口芯片8250的结构、逻辑及其初始化编程 161
二、PC机与8051单片机间点对点的通讯技术 169
三、PC机与多台8051单片机间的通讯技术 173
第八章 MCS-51单片机的中断系统 184
8-1 中断系统及其管理 185
一、中断源 185
二、中断请求标志 185
三、中断允许控制 186
四、中断响应过程及响应时间 188
8-2 扩充外中断源 189
一、利用定时器扩充外部中断源 189
二、采用中断和查询相结合的方法扩充外部中断源 190
8-3 中断系统的应用(x=0,1) 192
一、8051系统的单步操作 192
二、只有一个外部中断源的情况 193
三、多个外部中断源的情况 194
第九章 单片机应用系统的组成 196
9-1 组成单片机应用系统的基本方法 196
一、组成应用系统的基本方法 196
二、应用系统举例 197
9-2 显示器、键盘与单片机的连接 198
一、七段发光管显示器与单片机的连接方法 199
二、简易键盘与单片机的连接方法 202
三、键盘、显示器与单片机连接的其他方案 206
9-3 A/D转换器与单片机的连接 207
一、逐次比较型A/D转换器与单片机的接口方法 208
二、双积分型A/D转换器与单片机的接口方法 210
9-4 D/A转换器与单片机的连接 214
一、不带数据寄存器D/A转换器的接口方法 215
二、带数据寄存器的D/A转换器的接口方法 216
三、高于8位的D/A转换器接口方法 218
9-5 步进电机与单片机的连接 219
一、步进电机的基本工作原理 220
二、步进电机的基本运行方式 220
三、步进电机与单片机的接口 221
一、硬件设计 223
9-6 单片机应用系统设计举例 223
二、软件设计 224
第十章 I2C总线技术及其应用 227
10-1 I2C总线的基本原理 228
一、什么是I2C总线 228
二、I2C总线在单片机应用系统设计中的优势 229
三、I2C总线的基本原理 230
10-2 I2C总线应用举例 238
一、AT24Cxx芯片与MCS-51的连接 239
二、通用I2C总线发送/接收程序 247
三、PCF8563时钟/日历芯片与MCS-51的连接 252
第十一章 单片机应用系统的开发 257
11-1 开发的概念及开发系统 257
11-2 应用系统开发过程 258
11-3 单片机开发系统的基本组成 258
一、仿真与仿真器 259
三、交叉汇编 260
二、EPROM写入器 260
11-4 常见的几类单片机开发系统 261
一、专门研制的开发系统 261
二、用通用微机做成的开发系统 261
三、普及型的开发装置 261
四、各种单片单板机 262
五、软件模拟开发 262
12-1 对MCS-51的简要回顾 263
第十二章 新型的MCS-51兼容单片机简介 263
12-2 8xC552系列单片机 265
12-3 Atmel公司的AT89系列 269
一、AT89系列单片机的特点 269
二、AT89系列单片机的分档 270
三、AT89系列单片机的基本结构 272
四、AT89系列单片机的应用 273
12-4 不断涌现的与8051兼容的新型单片机 273
二、8051兼容单片机的新进展 274
一、8051兼容的新型8位单片机在不断涌现 274
第十三章 8098准16位单片机简介 279
13-1 概述 279
13-2 中央处理机CPU 282
一、CPU总线 283
二、CPU寄存器阵列 283
三、RALU 283
13-3 内部定时 284
13-4 存储器空间 285
一、内部RAM空间 286
二、保留的存储空间 288
三、片内ROM/EPROM空间 289
四、存储控制器 289
13-5 中断系统 290
一、中断源 290
二、中断的控制 291
二、定时器2 293
13-6 定时器 293
一、定时器1 293
三、关于定时器的中断 294
13-7 高速输入单元 294
一、HSI的运行方式 295
二、HSI队列 296
三、HSI中断 296
四、HSI中数据的读取 296
五、HSI输入引脚控制 297
13-8 高速输出单元 297
一、HSOCAM 298
二、HSO状态 299
三、软件定时器 299
13-9 模拟接口 299
一、模拟输入 299
二、脉冲宽度调制输出(PWM) 301
一、串行口的工作方式 302
13-10 串行口 302
二、串行口控制 303
三、波特率 304
四、多机通讯 305
13-11 I/O口 305
13-12 控制寄存器和状态寄存器 305
13-13 监视定时器(WDT) 307
13-14 复位 308
13-15 MCS-96的软件 309
一、操作数的类型 309
二、操作数的寻址 310
三、程序状态字 312
四、指令系统概要 313
附录Ⅰ MCS-51系列单片机的指令表 316
附录Ⅱ MCS-96系列单片机的指令表 325
参考文献 332