第1章 单片机概述 1
1.1 引言 1
1.1.1计算机的基本结构与工作原理 1
1.1.2微型计算机的结构 2
1.1.3 单片机及其结构特点 3
1.2几种常见的单片机简介 5
1.2.1 MCS-51系列单片机 5
1.2.2 MCS-96系列单片机 5
1.2.3 MC6801系列单片机 6
1.2.4 PIC16C5X系列单片机 7
1.3单片机的发展历史与发展方向 7
思考题 9
1.4单片机的应用 9
第2章 MCS-51单片机的硬件结构和原理分析 10
2.1 MCS-51单片机的主要性能特点 10
2.2 MCS-51单片机内部总体结构 11
2.2.1 总体结构 11
2.2.2 CPU程序设计模型 12
2.3 MCS-51的引脚功能 14
2.4 MCS-51单片机的存储器配置 16
2.4.1 程序存储器地址空间 17
2.4.2数据存储器地址空间 18
2.5时钟电路、复位电路和CPU时序 23
2.6并行输入/输出端口 24
2.6.1 P1口 25
2.6.3 P3口 26
2.6.2 P2口 26
2.6.4 P0口 27
2.6.5负载能力 28
思考题 28
第3章 指令系统 29
3.1 寻址方式 29
3.2数据传送类指令 33
3.2.1 以累加器A为一方的传送指令 33
3.2.2不以累加器A为一方传送指令 34
3.2.3用立即数置数的指令 34
3.2.4访问片外RAM的传送指令 35
3.2.5基址寄存器加变址寄存器问址指令 36
3.2.7进栈出栈指令 37
3.2.6交换指令 37
3.3算术运算类指令 39
3.3.1加法指令 39
3.3.2减法指令 42
3.3.3加1指令 43
3.3.4减1指令 44
3.3.5其他算术运算指令 45
3.4逻辑运算类指令 47
3.4.1与指令 47
3.4.2或指令 48
3.4.3异或指令 49
3.4.4 A操作指令 50
3.5控制程序转移类指令 52
3.5.1条件转移指令 52
3.5.2条件转移指令 55
3.5.3调子指令 57
3.5.4空操作指令 59
3.6位操作类指令 60
3.6.1位传送指令 60
3.6.2位逻辑操作指令 61
3.6.3位条件转移指令 61
思考题 64
第4章 汇编语言程序设计 65
4.1 汇编语言与机器语言 65
4.2汇编语言语句的格式 66
4.3汇编语言伪指令 67
4.3.1 指令与伪指令 67
4.3.2伪指令 68
4.4顺序程序设计 71
4.5查表程序设计 72
4.6分支程序设计 75
4.7散转程序设计 77
4.8循环程序设计 80
4.9子程序及其调用 84
思考题 87
第5章 输入/输出与中断 88
5.1 输入/输出和接口的概念 88
5.1.1输入设备与输出设备 88
5.1.2输入/输出接口 89
5.2输入/输出的方式 90
5.2.1 I/O接口的编址方式 90
5.2.2 CPU与I/O接口交换信息的控制方式 91
5.3.1 中断技术及基本概念 96
5.3中断 96
5.3.2 MCS-51单片机的中断系统 100
5.3.3 中断程序设计示例 102
思考题 107
第6章 定时器/计数器 108
6.1 定时器/计数器结构和工作原理 108
6.1.1定时器/计数器的结构 108
6.1.2定时器/计数器的选择 109
6.2定时器/计数器的模式及控制寄存器 109
6.2.1模式控制寄存器TMOD 110
6.2.2控制寄存器TCON 111
6.3定时器/计数器的工作模式 111
6.3.1模式0 111
6.3.3模式2 112
6.3.2模式1 112
6.3.4模式3 113
6.4定时器/计数器应用举例 114
6.4.1利用基本方法产生周期性方波信号 114
6.4.2利用TCON中GATE 门控位来测量脉冲宽度 116
6.4.3利用定时器/计数器扩展中断接口 116
6.4.4利用定时器/计数器产生实时时钟信号 117
思考题 118
第7章 单片机系统扩展设计 120
7.1单片机系统扩展概述 120
7.1.1总线扩展的方法 120
7.1.2单片机最小应用系统 121
7.2.1扩展存储器应掌握的设计步骤 123
7.2程序存储器和数据存储器扩展设计 123
7.2.2程序存储器的扩展方法 124
7.2.3数据存储器的扩展方法 128
7.3 I/O接口扩展 130
7.3.1 I/O接口扩展性能 131
7.3.2 I/O接口扩展方法及注意事项 131
7.3.3简单I/O接口的扩展 132
7.3.4可编程I/O接口的扩展 133
思考题 141
第8章 单片机系统的人机配置与接口 142
8.1 键盘及其接口 142
8.1.1单片机应用系统中的键盘输入 142
8.1.2单片机系统中两种典型的键盘 143
8.2显示及显示器接口 150
8.2.1 LED显示器 151
8.2.2串行口控制的键盘/LED显示器接口电路 155
8.3打印机及其接口 157
8.3.1 TPμP-40A微型打印机 157
8.4 A/D转换接口的扩展 161
8.5 D/A转换接口的扩展 163
思考题 165
第9章 MCS-51单片机串行接口与通信功能 166
9.1 8051串行通信口结构及工作原理 166
9.1.1 8051串行通信口结构 166
9.1.2 8051串行通信协议 167
9.2.1 串行通信的传输方式 169
9.2.2串行口控制字及控制寄存器 169
9.2 8051串行口 169
9.2.3串行口的工作方式 171
9.2.4波特率设计 174
9.3 8051双机串行通信技术 176
9.3.1查询方式双机通信设计 176
9.3.2甲机查询乙机中断方式通信程序设计 181
9.3.3双机均为中断方式通信程序设计举例 184
9.3.4两个8051的C语言通信程序 188
9.4 8051多机通信技术 192
9.4.1主从式8051多机通信 192
9.4.2主机从机均采用查询方式通信程序设计 193
9.4.3主机从机均为中断方式通信程序设计 197
思考题 200
10.1.1 PC机串行异步通信接口 201
10.1.2汇编语言通信程序 201
第10章 8051与PC机间的通信 201
10.1 8051单片机与PC机间的通信 201
10.1.3 C语言通信程序 205
10.1.4Visual Basic通信程序 211
10.2 PC机与多台8051单片机间的通信 217
10.2.1通信原理 217
10.2.2汇编语言通信程序设计 221
10.2.3 C语言通信程序设计实例 226
思考题 233
第11章 单片机应用系统开发技术 234
11.1 单片机应用系统的开发过程 234
11.1.1总体论证 234
11.2.1 硬件电路设计的一些原则 235
11.2硬件电路设计与调试 235
11.1.2系统设计 235
11.1.3硬件与软件的设计及联机调试 235
11.2.2硬件电路的调试 236
11.3 应用软件的开发 237
11.3.1 应用软件具有的特点 237
11.3.2应用软件的开发 237
11.4单片机仿真系统及其使用 239
11.4.1 单片机仿真开发器 239
11.4.2单片机仿真软件Insight_MedWin使用 240
思考题 252
12.1.3液晶显示器概述 253
12.1.2需用设备及材料 253
12.1.1 目的及要求 253
12.1 单片机LCD液晶显示器设计 253
第12章 单片机应用系统课程设计与指导 253
12.1.4图形点阵式液晶显示器DMF5001N 256
12.1.5具体设计内容 260
12.1.6关键部分的参考设计 260
12.2单片机控制电饭锅的课程设计 264
12.2.1 设计目的及要求 264
12.2.2需用设备及材料 264
12.2.3预备知识 265
12.2.4设计内容 265
12.3.2需用设备及材料 266
12.3.3设计前的准备 266
12.3声光报警器 266
12.3.1 设计目的和要求 266
12.3.4声光报警器程序流程图 268
12.3.5声光报警器程序 268
12.4串行接口通信 268
12.4.1设计目的和要求 268
12.4.2需用设备及材料 268
12.4.3设计前的准备 269
12.4.4设计内容 269
12.4.5关键部分的参考设计 269
A.1 ICES-G3仿真器的仿真存储器配置 270
A.2 ICES-G3仿真器的键盘使用方法 270
附录A ICES-G3仿真器使用方法 270
附录 单片机实验指导 270
A.3 ICES-G3仿真器的脱机仿真 273
附录B 实验项目 276
实验一 键盘调试的实验 276
实验二 拆字程序 277
实验三 拼字程序 278
实验四 数据排序实验 280
实验五 无符号双字节快速乘法子程序 282
实验六 P1 口亮灯实验 283
实验七 P3.3 输入、P1 口输出 285
实验八 8255A、B、C口输出方法 286
实验九 A/D转换实验 288
实验十 继电器控制 290
参考文献 292