第1章 绪论 1
1.1 单片微机的发展 1
1.1.1 单片微机的概念 1
1.1.2 单片微机的发展 2
1.2 80C51系列单片微机 4
1.3 单片微机的应用 8
1.4 本教程的教学安排 9
思考与练习 10
第2章 80C51单片微机的基本结构 11
2.1 80C51单片微机的主要特性 11
2.2 8OC51CPU的结构与特点 11
2.2.1 运算器 12
2.2.2 中央控制器 14
2.3 存储器和I/O接口电路 15
2.4 80C51单片微机的封装及引脚功能 15
2.4.1 PDIP封装的80C51单片微机引脚及功能 15
2.4.2 PLCC和TQFP封装的80C51单片微机引脚及功能 18
2.5 复位操作和复位电路 19
2.6 振荡器及时序 20
2.6.1 振荡器 21
2.6.2 80C51的时序 21
2.7 80C51的低功耗工作方式 23
思考与练习 26
第3章 80C51存储器 27
3.1 存储器的概述 27
3.2 80C51单片微机的存储器结构 28
3.2.1 程序存储器 28
3.2.2 数据存储器 29
3.2.3 特殊功能寄存器SFR 30
3.3 外部存储器及其访问 33
3.3.1 外部程序存储器与访问 33
3.3.2 外部数据存储器与访问 36
3.4 片内程序存储器操作 37
3.4.1 程序存储器的加密 38
3.4.2 Flash存储器的并行编程 39
3.4.3 Flash存储器的串行编程 41
思考与练习 44
第4章 80C51指令系统 45
4.1 汇编语言指令格式 46
4.1.1 汇编语言执行指令格式 46
4.1.2 汇编伪指令 46
4.2 寻址方式 49
4.3 指令系统 54
4.3.1 数据传送指令 54
4.3.2 算术运算指令 58
4.33 逻辑运算指令 63
4.3.4 位(布尔)操作类指令 65
4.3.5 控制转移类指令 68
思考与练习 75
第5章 80C51程序设计与调试 79
5.1 程序设计步骤 79
5.2 源程序的基本格式及编辑环境 81
5.2.1 源程序的基本格式 81
5.2.2 源程序的编辑环境 83
5.3 程序设计方法 83
5.3.1 顺序结构程序 83
5.3.2 分支结构程序 84
5.3.3 循环结构程序 86
5.3.4 子程序结构程序 89
5.3.5 中断服务程序 94
5.4 C51基础 95
5.4.1 C51的程序结构及编译环境 95
5.4.2 C51的数据类型与存储类型 97
5.4.3 80C51结构的C51定义 100
5.4.4 C51和汇编语言的混合编程 102
5.4.5 C51程序设计举例 108
5.5 程序调试与下载运行 110
5.5.1 单片微机开发系统(装置) 111
5.5.2 源程序调试 112
5.5.3 程序下载运行 113
思考与练习 114
实践训练 115
第6章 接口部件的结构及其功能 116
6.1 并行I/O口结构与功能 116
6.1.1 I/O口概述 116
6.1.2 I/O接口的功能 116
6.1.3 接口与端口 117
6.1.4 I/O口编址技术 118
6.1.5 I/O数据传送的控制方式 119
6.1.6 80C51并行I/O口的内部结构 121
6.1.7 I/O端口的结构特点 121
6.1.8 80C51的并行I/O口 122
6.1.9 并行I/O口操作 127
6.1.10 I/O端口应用特性 129
6.1.11 I/O口的应用 129
6.2 定时器/计数器结构与功能 135
6.2.1 定时器/计数器的结构 136
6.2.2 定时器/计数器工作模式寄存器TMOD 137
6.2.3 定时器/计数器控制寄存器TCON 137
6.2.4 模式O及应用 138
6.2.5 模式1及应用 140
6.2.6 模式2及应用 141
6.2.7 模式3及应用 143
6.2.8 定时器/计数器的其他应用 144
6.2.9 T2控制寄存器—T2CON 145
6.2.10 T2模式寄存器—T2MOD 146
6.2.11 定时器/计数器T2的工作模式 146
6.2.12 定时监视器(看门狗定时器) 149
6.2.13 80C51系列单片微机的定时监视器 150
6.3 串行口原理与应用 151
6.3.1 串行通信概述 152
6.3.2 串行通信的实现 152
6.3.3 串行通信的通信方式 153
6.3.4 串行通信的传输方式 155
6.3.5 RS232C接口的引脚描述 155
6.3.6 RS232C接口的具体规定 157
6.3.7 RS232C接口的典型应用 157
6.3.8 串行口的控制 159
6.3.9 串行口的工作模式 161
6.3.10 多机通信 165
6.3.11 波特率的确定 166
6.3.12 串行口模式O的应用 169
6.3.13 串行口模式1的应用 170
6.3.14 串行口模式2和模式3的应用 172
思考与练习 174
实践训练 176
第7章 单片微机中断系统 177
7.1 中断概述 177
7.2 中断系统结构与中断控制 180
7.2.1 8OC52的中断源 180
7.2.2 中断标志与控制 182
7.3 中断响应 185
7.3.1 中断响应条件 185
7.3.2 中断响应过程 186
7.3.3 中断响应时间 187
7.4 中断请求的撤除 188
7.5 外部中断源的扩展 189
7.5.1 采用“OC门”经“线或”后实现 189
7.5.2 通过片内定时/计数器来实现 190
7.6 中断程序设计 191
思考与练习 196
实践训练 196
第8章 单片微机应用系统扩展技术 198
8.1 总线扩展及地址分配 198
8.1.1 总线扩展 198
8.1.2 地址分配 200
8.2 外部程序存储器扩展 202
8.2.1 常用EPROM芯片 202
8.2.2 典型EPROM扩展电路实现 203
8.3 外部数据存储器的扩展 204
8.3.1 RAM(SRAM)扩展 204
8.3.2 并行E2PROM扩展 206
8.3.3 串行E2PROM扩展 208
8.4 并行I/O口的扩展 211
8.4.1 简单I/O口的扩展 211
8.4.2 可编程8155H的并行I/O扩展 212
8.4.3 8255A可编程并行I/O接口扩展 222
8.5 A/D和D/A转换接口的扩展 228
8.5.1 8位并行A/D转换器ADC0809扩展 228
8.5.2 12位并行A/D转换器AD574扩展 231
8.5.3 12位串行A/D转换器TLC2543扩展 234
8.5.4 8位并行D/A转换器DAC0832扩展 236
8.5.5 12位串行D/A转换器TLV5616的扩展 239
思考与练习 242
实践训练 244
第9章 单片微机应用系统设计及举例 245
9.1 单片微机应用系统的开发过程 245
9.2 液氧容器温度控制系统设计 248
9.2.1 系统的目标任务 249
9.2.2 系统的总体设计 249
9.2.3 系统的结构框图及工作原理 249
9.2.4 硬件设计 250
9.2.5 软件设计 252
9.3 基于GSM/CDMA的防盗报警系统 257
9.3.1 系统的目标任务 257
9.3.2 系统的总体设计 258
9.3.3 系统的结构框图及工作原理 258
9.3.4 程序流程及软件设计 259
思考与练习 265
实践训练 265
第10章 其他系列单片微机介绍 266
10.1 HOLTEK公司HT48XX系列单片微机概述 266
10.1.1 HT48XX系列单片微机的主要性能 266
10.1.2 HT48系列单片微机引脚描述 267
10.1.3 HT48系列单片微机内部结构框图 268
10.1.4 HT48系列单片微机指令集 269
10.2 PIC16C5X系列单片微机概述 272
10.2.1 PIC16C5X系列单片微机的主要性能 272
10.2.2 PIC16C5X系列单片微机引脚描述 273
10.2.3 PIC16C5X系列单片微机内部结构框图 274
10.2.4 PIC16C5X系列单片微机指令集 275
10.3 其他型号单片微机及其生产厂商简介 276
附录一 80C51指令速查表 279
附录二 80C51指令详表 280
附录三 C51中的关键字 284
附录四 C语言运算符优先级和结合性 286
附录五 ASC1码表 287
附录六 主要单片微机生产厂商网址及相关信息网址 289
附录七 多种单片微机型号命名法 290
参考文献 294