绪论 1
第1章 80C51单片机基础 6
本章学习目标 6
1.1 单片机及其发展应用 6
1.1.1 单片机的产生及发展 6
1.1.2 单片机、单片机系统及单片机应用系统 8
1.1.3 常用单片机简介 9
1.1.4 单片机的应用 10
1.1.5 课题与实训1 单片机应用系统的开发演示 11
1.2 80C51单片机的内部结构 13
1.2.1 80C51单片机和80C51系列单片机 13
1.2.2 80C51单片机的基本组成 13
1.2.3 80C51典型产品的资源配置 14
1.2.4 80C51的内部结构 15
1.2.5 80C51引脚功能 17
1.3 80C51单片机的存储器结构 19
1.3.1 程序存储器ROM 19
1.3.2 数据存储器RAM 20
1.3.3 特殊功能寄存器 22
1.4 80C51单片机的并行I/O接口 25
1.4.1 并行I/O接口的结构特点 26
1.4.2 并行I/O接口的应用特性 27
1.4.3 并行I/O接口的负载能力 28
1.4.4 课题与实训2 单灯点亮 29
1.5 时钟与时序 30
1.5.1 时钟电路 31
1.5.2 CPU时序 31
1.6.1 复位方式 33
1.6 复位电路 33
1.6.2 复位方法 34
本章小结 34
思考题与习题 34
第2章 单片机指令系统 36
本章学习目标 36
2.1 指令系统概述与寻址方式 36
2.1.1 指令系统概述 36
2.1.2 寻址方式 38
2.2 数据传送指令 41
2.2.1 通用传送指令 41
2.2.2 特殊传送指令 42
2.3 算术运算指令 45
2.3.1 加法指令 45
2.3.2 减法指令 48
2.3.3 乘法指令 49
2.3.4 除法指令 49
2.4 逻辑运算与循环类指令 49
2.4.1 逻辑“与”运算指令 49
2.4.2 逻辑“或”运算指令 50
2.4.3 逻辑“异或”运算指令 50
2.4.4 累加器清零和取反指令 50
2.4.5 逻辑运算指令的典型应用 51
2.4.6 累加器循环移位指令 51
2.4.7 课题与实训3 流水灯及系统脱机运行 52
2.5 控制转移类指令 53
2.5.1 无条件转移 53
2.5.2 条件转移 55
2.5.3 调用与返回 57
2.6.2 位变量修改指令 58
2.6.1 位传送指令 58
2.6 位操作指令 58
2.6.3 位逻辑运算指令 59
2.6.4 条件转移类指令 59
2.6.5 位操作指令用于交流电机的起动与停止控制 59
本章小结 61
思考题与习题 61
第3章 单片机编程技术 64
本章学习目标 64
3.1 程序设计方法及技巧 64
3.1.1 程序设计流程 64
3.1.2 汇编语言编程技巧 65
3.1.3 汇编语言的语句格式 65
3.2.1 源程序的编辑和汇编 66
3.2 源程序的编制 66
3.2.2 伪指令 67
3.3 基本程序结构 69
3.3.1 顺序程序 70
3.3.2 分支程序 71
3.3.3 循环程序 73
3.4 程序设计实例 77
3.4.1 数据极值查找程序 77
3.4.2 数码转换程序 77
3.4.3 课题与实训4 程序设计 79
3.4.4 课题与实训5 交通灯的设计 80
3.4.5 课题与实训6 以循环方式实现流水灯 83
本章小结 85
思考题与习题 86
4.1.1 中断系统的基本概念 88
4.1 中断系统 88
本章学习目标 88
第4章 中断系统和定时/计数器 88
4.1.2 中断源 90
4.1.3 中断控制 90
4.1.4 中断响应 93
4.1.5 中断嵌套 94
4.2 中断的应用 94
4.2.1 中断应用指导 94
4.2.2 课题与实训7 中断控制流水灯 96
4.3 定时/计数器 98
4.3.1 定时/计数器结构 98
4.3.2 定时/计数器控制 100
4.3.3 定时/计数器工作方式 101
4.4.1 应用指导 104
4.4 定时/计数器应用与训练 104
4.4.2 基本训练——初始化训练 105
4.4.3 应用实例 105
4.4.4 课题与实训8 简易方波发生器 108
4.5 中断与定时/计数器综合应用举例 111
4.5.1 概述 111
4.5.2 课题与实训9 音乐门铃 111
4.6 外部中断源的扩展 116
4.6.1 利用定时器溢出中断扩展外部中断源 116
4.6.2 利用中断与查询相结合的方式扩展外部中断源 117
本章小结 118
思考题与习题 118
第5章 串行口与通信 121
本章学习目标 121
5.1 串行通信基础知识 121
5.1.2 串行通信的方式 122
5.1.1 串行通信的制式 122
5.1.4 调制解调器 124
5.1.3 串行通信的传输速率 124
5.2 串行口的基本结构和工作方式 125
5.2.1 串行口的基本组成 125
5.2.2 串行口的特殊功能控制寄存器 126
5.2.3 串行口的四种工作方式 126
5.3 串行通信的常用标准接口 128
5.3.1 RS-232C接口 128
5.3.2 RS-485接口 131
5.4 串行口应用与训练 132
5.4.1 应用指导 132
5.4.2 基本训练 134
5.4.3 课题与实训10 串行输出控制彩灯 135
5.5.1 单片机与显示器的串行通信 137
5.5 单片机串行口应用举例 137
5.5.2 课题与实训11 双机通信 139
5.5.3 多机通信 142
5.6 课外阅读——CAN总线介绍 142
5.6.1 CAN总线的发展前景 143
5.6.2 CAN总线简介 143
本章小结 146
思考题与习题 146
第6章 80C51的系统扩展 148
本章学习目标 148
6.1 系统扩展概述 148
6.1.1 系统扩展的概念 148
6.1.2 扩展系统总线结构 148
6.2 存储器扩展 149
6.2.1 存储器的分类 150
6.2.2 常用存储器扩展芯片 151
6.2.3 扩展EEPROM程序存储器 152
6.2.4 扩展EEPROM数据存储器 153
6.2.5 存储器的综合扩展 154
6.3 并行I/O口扩展 156
6.3.1 I/O接口简介 156
6.3.2 并行I/O口的简单扩展 156
6.3.3 可编程I/O扩展芯片8155 158
6.4 显示器接口技术 164
6.4.1 LED数码显示器 164
6.4.2 点矩阵显示器 168
6.4.3 课题与实训12 交通路口读秒计时显示器 170
6.4.4 课题与实训13 小小显示屏 172
6.5.1 独立式按键 174
6.5 键盘接口 174
6.5.2 矩阵式键盘 176
6.5.3 课题与实训14 矩阵式键盘的扩展 178
6.6 I2C总线扩展 180
6.6.1 I2C总线基础 180
6.6.2 I2C总线原理 181
6.6.3 I2C总线应用实例 183
本章小结 185
思考题与习题 185
第7章 80C51的测控技术 187
本章学习目标 187
7.1 数/模转换接口 188
7.1.1 DAC0832的结构 188
7.1.2 DAC0832与80C51的接口与编程 189
7.1.3 课题与实训15 由DAC0832构成的简易波形发生器 190
7.2 模/数转换接口 193
7.2.1 ADC0809的结构 193
7.2.2 ADC0809与80C51的接口 195
7.2.3 ADC0809应用指导 196
7.2.4 ADC0809应用实例 197
7.2.5 串行A/D转换芯片TLC1549 197
7.2.6 课题与实训16 简易数字电压表 199
7.3 电动机控制 202
7.3.1 直流电动机控制芯片——TA7257P 202
7.3.2 步进电动机及其控制 204
本章小结 207
思考题与习题 208
8.1 干扰的来源 209
本章学习目标 209
第8章 单片机系统的抗干扰技术 209
8.2 主要干扰通道及抗干扰措施 210
8.2.1 供电系统干扰及抗干扰措施 210
8.2.2 过程通道干扰及抗干扰措施 211
8.3 印制电路板及电路的抗干扰设计 215
8.3.1 印制电路板的尺寸及元件的选择 216
8.3.2 印制电路板的合理布局 217
8.3.3 印制电路板的合理布线 217
8.4 软件的抗干扰设计 219
8.4.1 控制状态失常的软件对策 219
8.4.2 程序运行失常的软件对策 220
8.4.3 数据采集误差的软件对策 223
8.5 课外阅读 223
8.5.1 固态继电器的基本应用 223
8.5.2 由光电隔离器构成的电流环电路 225
思考题与习题 226
本章小结 226
第9章 综合设计实例 227
本章学习目标 227
9.1 单片机应用系统设计过程 227
9.1.1 单片机应用系统设计的基本要求 227
9.1.2 单片机应用系统的组成 227
9.1.3 单片机应用系统的研制开发过程 229
9.2 单片机的选型 232
9.2.1 单片机的性能指标 232
9.2.2 单片机的选型原则 233
9.3.2 设计方案 234
9.3.3 硬件原理 234
9.3.1 设计要求 234
9.3 设计实例——多功能数字钟 234
9.3.4 程序设计 236
本章小结 246
思考题与习题 246
第10章 综合实训(课程设计) 248
本章说明 248
课题一 水温控制系统设计 248
课题二 用8×8点阵显示器制作电子显示屏 255
课题三 电子万年历的设计与制作 261
附录A 80C51单片机指令表 270
附录B ASCII码表 274
附录C 常用芯片引脚 275
附录D 仿真器的使用 276
附录E 固化器的使用 277
参考文献 279