第1章 概述 1
1.1单片机发展概况 1
1.2单片机硬、软件系统及种类 2
1.2.1单片机的硬件系统 2
1.2.2单片机的软件系统 3
1.2.3单片机的种类 3
1.3单片机应用领域与开发工具 4
1.3.1应用领域 4
1.3.2开发工具 5
小结 6
习题 6
第2章 单片机的结构原理 7
2.1常用术语及内部结构 7
2.1.1常用术语 7
2.1.2内部结构 9
2.2 CPU及存储器 10
2.2.1运算器 10
2.2.2控制器 12
2.2.3程序存储器 12
2.2.4数据存储器 13
2.3引脚功能及CPU的时序 17
2.3.1引脚功能 17
2.3.2振荡电路和时钟电路 19
2.3.3 CPU的时序 20
2.4输入、输出接口 22
2.4.1 P0口 22
2.4.2 P1口 23
2.4.3 P2口 23
2.4.4 P3口 24
小结 25
习题 25
第3章 单片机的指令系统及程序设计 27
3.1指令系统 27
3.1.1指令格式 27
3.1.2助记符语言 28
3.1.3寻址方式及常用符号注释 28
3.1.4数据传送指令功能及应用举例 33
3.1.5算术运算指令功能及应用举例 36
3.1.6逻辑运算类指令的功能及应用举例 39
3.1.7控制转移类指令的功能及应用举例 41
3.1.8位操作类指令的功能及应用举例 45
上机实验1 数据传送指令的使用及编程方法 47
上机实验2 算术运算指令的使用及编程方法 53
上机实验3 逻辑运算指令的使用及编程方法 56
上机实验4 位操作指令的使用及编程方法 58
上机实验5 控制转移指令的使用及编程方法 60
3.2汇编语言程序设计举例 65
3.2.1汇编语言程序的格式 65
3.2.2汇编语言程序设计方法 68
3.2.3汇编语言程序设计的几个实例 74
上机实验6 多字节算术运算 83
上机实验7 数据的拼拆及转换 88
小结 92
习题 93
第4章 单片机中断的使用技巧 97
4.1中断的功能、控制及响应 97
4.1.1中断的功能 97
4.1.2中断的控制及响应 98
4.2中断应用的4个实例 103
上机实验8 中断的使用及编程方法 105
小结 110
习题 111
第5章 单片机定时器/计数器的使用技巧 112
5.1定时器/计数器的结构与原理 112
5.2定时器/计数器的工作方式及控制 113
5.2.1工作方式寄存器TMOD 113
5.2.2控制寄存器TCON 114
5.2.3工作方式 114
5.3定时器/计数器的应用举例 116
上机实验9 定时器/计数器使用及编程方法 117
小结 121
习题 122
第6章 单片机串行接口的使用技巧 123
6.1串行通信中的几个概念 123
6.1.1通信方向 123
6.1.2异步通信和同步通信 123
6.1.3波特率 124
6.1.4传送编码 125
6.1.5信号的调制与解调 125
6.2串行口的工作原理及波特率设计 125
6.2.1串行口的工作原理 125
6.2.2波特率设计 127
6.3串行口的4种工作方式 129
6.3.1工作方式0 129
6.3.2工作方式1 129
6.3.3工作方式2 129
6.3.4工作方式3 129
6.4串行口应用举例 130
6.4.1利用串行口扩展并行输入、输出口 130
6.4.2利用串行口进行异步单工通信 131
6.4.3利用串行口进行异步双工通信 132
6.4.4主-从式多机通信 133
上机实验10 双机通信 134
上机实验11 主-从式多机通信 138
小结 140
习题 141
第7章 单片机系统的扩展技巧 142
7.1程序存储器的扩展 142
7.1.1地址线 142
7.1.2数据线 142
7.1.3控制线 143
7.2数据存储器的扩展 143
7.3 I/O接口的扩展 144
7.3.1概述 144
7.3.2常用的选址方法 145
7.3.3用TTL芯片扩展I/O接口 147
7.3.4 8255 A可编程并行I/O口的扩展 148
7.3.5 8155可编程I/O接口的扩展 153
7.3.6 8279可编程键盘显示器接口的扩展 158
7.3.7 8243并行I/O接口的扩展 170
上机实验12 程序存储器和外部数据存储器的扩展 173
上机实验13 74LS244、74LS273等芯片简单接口的扩展 177
上机实验14 8255A可编程控制芯片的应用 178
上机实验15 8155可编程控制芯片的应用 179
上机实验16 8279可编程键盘/显示器与8031接口 181
小结 189
习题 189
第8章 单片机系统的接口技巧 191
8.1 A/D(模-数)转换接口的扩展技巧 191
8.1.1逐次逼近式A/D转换器 191
8.1.2双积分式A/D转换器 192
8.1.3 A/D转换器的主要技术指标 193
8.1.4单片机与ADC0809的接口技巧 193
8.1.5单片机与MC14433(3 1/2位)的接口技巧 196
8.2 D/A(数-模)转换接口的扩展技巧 200
8.2.1 D/A转换器的原理及性能 200
8.2.2 8031单片机与DAC0832接口技巧及产生任意波形的方法 203
8.2.3 8031单片机与AD7520接口技巧 208
上机实验17 8路8位逐次比较A/D 0809接口 209
上机实验18 3 1/2位MC14433 A/D接口 211
上机实验19 8位D/A 0832接口 213
上机实验20 A/D与D/A输出综合实验 221
小结 222
习题 222
第9章 单片机系统的工程设计 223
9.1设计要求 223
9.1.1可靠性 223
9.1.2系统自诊断功能 228
9.1.3操作维修方便 228
9.1.4性能/价格比 228
9.2设计方法 228
9.2.1总体设计 229
9.2.2硬件设计 230
9.2.3软件设计 231
9.3设计实例 234
9.3.1交通信号灯模拟控制 234
9.3.2水塔水位控制 239
9.3.3自然风发生控制 242
9.3.4发音电路及程序设计 245
9.3.5红外线遥控单片机接口系统 249
9.3.6数字温度接口及程序设计 252
9.3.7人工语音合成 255
小结 263
习题 263
第10章 单片机C语言程序设计 264
10.1 C51程序的结构特点 264
10.2 C51程序的运算符、表达式及其语法规则 266
10.2.1 C51算术运算符及其表达式 266
10.2.2 C51关系运算符、表达式及优先级 267
10.2.3 C51逻辑运算符、表达式及优先级 268
10.2.4 C51位操作及其表达式 269
10.2.5自增(减)运算符、复合运算符及其表达式 275
10.3 C51程序设计技巧 276
10.3.1存取8051单片机特殊功能寄存器 276
10.3.2位的控制 277
10.3.3中断子程序的设计 278
10.3.4内存应对式I/O 279
10.3.5程序中加入汇编语言语句 279
10.4 C51程序设计举例 280
10.4.1求和的C51程序设计 280
10.4.2求最大值的C51程序设计 281
10.4.3单片机主从多机通信 282
10.4.4 PC机与多台单片机通信 284
10.4.5步进电机系统控制 290
小结 303
习题 304
附录A 通用单片机仿真器 305
A.1系统结构 305
A.2仿真功能 305
A.3外部设备 306
A.4软件功能 306
A.5 SICE硬件结构和工作方式 306
附录B 通用单片机仿真器连接键盘使用方法 309
B.1各键功能 309
B.2操作说明 310
附录C 通用单片机仿真器连接IBM-PC机使用方法 318
C.1连接使用方法 318
C.2基本操作命令 318
附录D 单片机与IBM-PC机通信方法 321
D.1使用的设备 321
D.2通信原理 321
D.3通信电路 325
D.4通信操作步骤 326
D.5参考程序 326
附录E 脱机实验(程序固化)方法 331
E.1使用的设备 331
E.2方法与步骤 331
附录F MCS-51指令速查表与指令编码表 332
F.1指令速查表 332
F.2指令编码表 334
附录G 常用芯片引脚图 339