第1章 单片机概述 1
1.1 单片机的发展历史及应用 1
1.1.1 单片机的发展历史 1
目录 1
1.1.2 单片机的应用 4
1.2 AT89系列单片机及主要特性 5
1.2.1 低档型AT89系列单片机的基本特性 5
1.2.2 标准型AT89系列单片机的基本特性 6
1.2.3 高档型AT89系列单片机的基本特性 8
1.2.4 AT89系列单片机型号的编码说明及封装形式 10
1.3 单片机的发展趋势 11
2.1 AT89S52单片机的主要特性 13
第2章 AT89S52单片机的基本结构 13
2.2 AT89S52单片机的CPU 14
2.2.1 AT89S52单片机CPU的运算器 14
2.2.2 控制器 16
2.3 存储器和I/O接口电路 17
2.4 AT89S52单片机的封装及引脚功能 17
2.4.1 PDIP封装的AT89S52单片机引脚及功能 18
2.4.2 PLCC和TQFP封装的AT89S52单片机引脚及功能 20
2.5 复位操作和复位电路 21
2.6 振荡器、时钟电路及时序 23
2.6.1 振荡器 23
2.6.2 AT89S52的时序 24
2.7 AT89S52的低功耗工作方式 26
习题 28
第3章 AT89S52存储器结构 30
3.1 存储器概述 30
3.2 AT89S52单片机的存储器结构 31
3.2.1 程序存储器 31
3.2.2 数据存储器 32
3.2.3 特殊功能寄存器SFR 33
3.3 外部存储器及其访问 36
3.3.1 外部程序存储器与访问 36
3.3.2 外部数据存储器与访问 39
3.4.1 签名字节及读出 41
3.4 片内Flash存储器操作 41
3.4.2 程序存储器的加密 42
3.4.3 Flash存储器的并行编程 43
3.4.4 Flash存储器的串行编程 45
习题 48
第4章 AT89S52指令系统 49
4.1 汇编语言指令格式 49
4.1.1 汇编语言执行指令格式 49
4.1.2 汇编伪指令 49
4.2 寻址方式 53
4.3 指令系统 58
4.3.1 数据传送指令 58
4.3.2 算术运算指令 63
4.3.3 逻辑运算指令 67
4.3.4 位(布尔)操作类指令 70
4.3.5 控制转移类指令 72
习题 80
第5章 AT89S52程序设计与调试 82
5.1 程序设计步骤 82
5.2 源程序的基本格式及编辑环境 84
5.2.1 源程序的基本格式 84
5.2.2 源程序的编辑环境 86
5.3 程序设计方法 86
5.3.1 顺序结构程序 86
5.3.2 分支结构程序 87
5.3.3 循环结构程序 89
5.3.4 子程序结构程序 92
5.3.5 中断服务程序 97
5.4 C51基础 98
5.4.1 C51的程序结构及编译环境 98
5.4.2 C51的数据类型与存储类型 100
5.4.3 AT89S52结构的C51定义 103
5.4.4 C51和汇编语言的混合编程 105
5.4.5 C51程序设计举例 111
5.5 程序调试与下载运行 113
5.5.1 单片机开发系统(装置) 114
5.5.2 源程序调试 115
5.5.3 程序下载运行 116
习题 117
实践训练 117
第6章 AT89S52单片机并行I/O口 119
6.1 I/O口概述 119
6.1.1 I/O接口的功能 119
6.1.2 接口与端口 120
6.1.3 I/O口编址技术 121
6.1.4 I/O数据传送的控制方式 121
6.2 AT89S52并行I/O口的内部结构 124
6.2.1 I/O端口的结构特点 124
6.2.2 AT89S52的并行I/O口 125
6.3 并行I/O口操作 130
6.4 I/O口应用 132
6.4.1 I/O端口应用特性 132
6.4.2 I/O口的应用 132
习题 138
实践训练 139
第7章 AT89S52单片机中断系统 140
7.1 中断概述 140
7.2 中断系统结构与中断控制 142
7.2.1 AT89S52的中断源 142
7.2.2 中断标志与控制 145
7.3 中断响应 148
7.3.1 中断响应条件 148
7.3.2 中断响应过程 149
7.3.3 中断响应时间 150
7.4 中断请求的撤除 151
7.5 外部中断源的扩展 152
7.5.1 采用“OC门”经“线或”后实现 152
7.5.2 通过片内定时器/计数器来实现 154
7.6 中断程序设计 154
习题 159
实践训练 159
第8章 AT89S52定时器/计数器 161
8.1 定时器/计数器的结构 161
8.2.1 定时器/计数器工作模式寄存器TMOD 162
8.2 定时器/计数器的控制 162
8.2.2 定时器/计数器控制寄存器TCON 163
8.3 定时器/计数器的4种模式及应用 163
8.3.1 模式0及应用 163
8.3.2 模式1及应用 166
8.3.3 模式2及应用 167
8.3.4 模式3及应用 169
8.3.5 定时器/计数器的其他应用 170
8.4 定时器/计数器T2 171
8.4.1 T2控制寄存器 171
8.4.2 T2模式寄存器 172
8.4.3 定时器/计数器T2的工作模式 172
8.5.1 AT89S52的定时监视器 176
8.5 定时监视器 176
8.5.2 辅助功能寄存器AUXR 177
习题 178
实践训练 178
第9章 AT89S52单片机串行通信 179
9.1 串行通信概述 179
9.1.1 串行通信的实现 179
9.1.2 串行通信的通信方式 180
9.1.3 串行通信的传输方式 182
9.2 RS232C标准总线及通信设计 183
9.2.1 RS232C接口的引脚描述 183
9.2.2 RS232C接口的具体规定 184
9.2.3 RS232C接口的典型应用 185
9.3 AT89S52串行通信接口 187
9.3.1 串行口的控制 187
9.3.2 串行口的工作模式 188
9.3.3 多机通信 193
9.3.4 波特率的确定 194
9.4 串行通信应用举例 197
9.4.1 串行口模式0的应用 197
9.4.2 串行口模式1的应用 198
9.4.3 串行口模式2和模式3的应用 200
习题 202
实践训练 203
10.1.1 总线扩展 204
10.1 总线扩展及地址分配 204
第10章 单片机应用系统扩展技术 204
10.1.2 地址分配 206
10.2 外部程序存储器扩展 208
10.2.1 常用EPROM芯片 208
10.2.2 典型EPROM扩展电路实现 209
10.3 外部数据存储器的扩展 210
10.3.1 RAM(SRAM)的扩展 211
10.3.2 并行EEPROM的扩展 212
10.3.3 串行EEPROM的扩展 214
10.4 并行I/O口的扩展 217
10.4.1 简单I/O口的扩展 218
10.4.2 可编程8155H的并行I/O扩展 219
10.4.3 8255A可编程并行I/O接口扩展 229
10.5 A/D和D/A转换接口的扩展 236
10.5.1 8位并行A/D转换器ADC0809的扩展 237
10.5.2 12位并行A/D转换器AD574的扩展 240
10.5.3 12位串行A/D转换器TLC2543的扩展 242
10.5.4 8位并行D/A转换器DAC0832的扩展 245
10.5.5 12位串行D/A转换器TLV5616的扩展 248
习题 251
实践训练 251
第11章 单片机应用系统设计及举例 253
11.1 单片机应用系统的开发过程 253
11.2.2 系统的总体设计 256
11.2.1 系统的目标任务 256
11.2 液氧容器温度控制系统设计 256
11.2.3 系统的结构框图及工作原理 257
11.2.4 硬件设计 258
11.2.5 软件设计 260
11.3 基于GSM/CDMA的防盗报警系统 265
11.3.1 系统的目标任务 265
11.3.2 系统的总体设计 265
11.3.3 系统的结构框图及工作原理 266
11.3.4 程序流程及软件设计 266
习题 272
实践训练 273
12.1.1 HT48XX系列单片机的主要性能 274
第12章 其他系列单片机介绍 274
12.1 HOLTEK公司的HT48XX系列单片机概述 274
12.1.2 HT48XX系列单片机的引脚描述 275
12.1.3 HT48XX系列单片机的内部结构框图 275
12.1.4 HT48XX系列单片机的指令集 276
12.2 PIC16C5X系列单片机概述 279
12.2.1 PIC16C5X系列单片机的主要性能 279
12.2.2 PIC16C5X系列单片机的引脚描述 280
12.2.3 PIC16C5X系列单片机的内部结构框图 281
12.2.4 PIC16C5X系列单片机的指令集 282
12.3 其他型号单片机及其生产厂商简介 283
参考文献 296