第一章 51系列单片机概述 1
第一节 概述 1
第二节 51系列单片机分类 2
一、MCS-51系列单片机分类 2
二、AT89系列单片机分类 4
三、其他公司的51系列单片机 5
第三节 单片机开发系统简介 5
一、WAVE系列仿真器的硬件 5
二、WAVE系列仿真器的软件开发界面 7
三、编程器 8
思考与练习 9
第二章 MCS-51系列单片机组成及工作原理 10
第一节 MCS-51系列单片机的内部组成 10
一、8051单片机的内部组成 10
二、8051单片机各组成部件功能简介 11
第二节 MCS-51系列单片机典型芯片的外部引脚功能 12
一、引脚功能描述 12
二、引脚的第二功能 14
第三节 CPU的时钟电路和时序定时单位 15
一、时钟电路 15
二、时序定时单位 16
第四节 8051单片机的最小应用系统 16
第五节 8051的存储器结构 18
一、存储器概述 18
二、8051单片机存储器的组织结构 19
三、8051内部数据存储器 20
四、8051内部程序存储器 27
第六节 并行输入/输出口 27
一、P0口 27
二、P1口 28
三、P3口 29
四、P4口 29
第七节 单片机执行指令的过程 30
思考与练习 31
第三章 指令系统 32
第一节 指令系统简介 32
一、指令系统概述 32
二、指令系统分类 32
第二节 指令格式及指令符号 33
一、指令格式 33
二、指令中符号的约定 35
第三节 寻址方式 36
一、立即寻址 36
二、直接寻址 37
三、寄存器寻址 37
四、寄存器间接寻址方式 39
五、变址寻址 40
六、相对寻址 41
七、位寻址 41
第四节 数据传送指令 42
一、片内数据RAM及寄存器间的数据传送指令(16条) 42
二、片外RAM数据传送指令(4条) 45
三、程序存储器读数指令(2条) 46
四、堆栈操作指令(2条) 47
五、数据交换指令(5条) 49
第五节 算术运算指令 49
一、加法指令 50
二、减法指令 54
三、乘除指令(2条) 56
四、十进制调整指令 56
第六节 逻辑运算及循环移位指令 57
一、累加器A的清零,取反指令(2条) 57
二、逻辑“与”运算指令(6条) 58
三、逻辑“或”运算指令(6条) 58
四、逻辑“异或”运算指令(6条) 59
五、循环移位指令(4条) 60
第七节 控制转移指令 61
一、无条件转移指令(4条) 61
二、条件转移指令(13条) 62
三、调用和返回指令(4条) 65
四、空操作指令 67
第八节 位操作指令 67
一、位传送指令(2条) 67
二、位状态操作指令(6条) 68
三、位逻辑运算指令(4条) 68
第九节 伪指令 69
一、ORG(Origin)汇编起始地址命令 69
二、DB(Define Byte)定义字节数据命令 69
三、DW(Define Word)定义字数据命令 70
四、DS(Define Storage)定义存储区命令 70
五、EQU(Equat)赋值命令 70
六、DATA数据地址赋值命令 71
七、BIT定义位地址符号命令 71
八、END汇编结束命令 71
思考与练习 71
第四章 算法与结构化程序设计 76
第一节 算法 76
第二节 程序基本结构 78
一、顺序结构 78
二、分支结构 78
三、循环结构 78
第三节 结构化程序设计 79
第四节 汇编语言程序设计举例 80
一、双字节运算 80
二、定时 81
三、顺序表查找 82
四、排序 83
思考与练习 86
第五章 单片机中断系统 88
第一节 中断基本概念 88
一、CPU与外设之间的数据传送方式 88
二、中断的定义 89
三、中断的特点及中断技术的应用 90
第二节 8051单片机中断系统 90
一、8051的中断请求源 91
二、中断源的自然优先级与中断服务程序入口地址 92
第三节 8051单片机的中断控制 93
一、中断允许控制寄存器IE 93
二、中断优先级控制寄存器IP 93
第四节 8051单片机的中断响应过程 94
一、中断采样 94
二、中断查询 95
三、中断响应 95
四、中断响应时间 96
五、中断返回 96
六、中断请求的撤除 96
第五节 8051单片机的中断服务流程及中断程序举例 97
一、8051单片机中断服务流程 97
二、中断程序举例 98
思考与练习 103
第六章 定时器/计数器 104
第一节 概述 104
第二节 定时器/计数器基本结构工作方式及应用 104
一、定时器/计数器基本结构 104
二、定时器/计数器控制寄存器 105
三、工作方式及应用 106
思考与练习 112
第七章 8051单片机系统扩展与接口技术 113
第一节 8051单片机系统扩展概述 113
一、系统扩展的原因及一般方法 113
二、8051单片机系统扩展的实现 114
第二节 单片机外部存储器扩展 116
一、单片机访问外部程序存储器基本时序 116
二、单片机访问外部数据存储器时序 116
三、程序存储器的扩展 117
四、数据存储器的扩展 119
第三节 单片机并行输入输出(I/O)口扩展 120
一、MCS-51内部并行I/0口及其作用 120
二、简单的I/O口扩展 121
三、8155作单片机的I/O口扩展 123
第四节 LED显示器接口电路及显示程序 131
一、LED显示器工作原理 131
二、LED显示器与单片机的接口电路 133
三、显示程序的设计 133
第五节 单片机键盘接口技术 135
一、键盘工作原理 135
二、独立式按键 136
三、行列式键盘 138
第六节 单片机与数模(D/A)及模数(A/D)转换器的接口及应用 142
一、A/D转换器概述 142
二、常用A/D转换器接口及应用 142
三、D/A转换器概述 149
四、典型D/A转换器芯片DAC0832 149
思考与练习 154
第八章 8051单片机的异步串行通信技术 155
第一节 概述 155
第二节 8051串行口基本结构 156
一、串行口缓冲寄存器(SBUF) 156
二、串行通信控制寄存器(SCON) 157
第三节 8051串行通信工作方式及应用 158
一、串行工作方式0 158
二、串行工作方式1 159
三、串行工作方式2 164
四、串行工作方式3 165
第四节 多机通信原理 165
思考与练习 169
第九章 单片机应用举例 171
第一节 单片机数据采集系统 171
第二节 电机转速测量 176
第三节 步进电机控制系统设计 179
一、步进电机驱动方式 179
二、软件设计 180
第四节 机器人三觉机械手信号处理及控制算法 183
一、概述 183
二、算法 186
三、说明 189
思考与练习 189
第十章 单片机与字符式液晶显示模块连接技术 190
第一节 字符式液晶显示模块简介 190
一、内部结构 190
二、字符编码 190
三、显示地址 191
四、模块引脚功能介绍 191
第二节 模块指令系统 192
一、表10.3中,所用的符号说明 192
二、指令简要说明 193
第三节 模块与8051单片机的连接 195
第四节 模块字符显示举例 196
第五节 自定义字符显示 198
思考与练习 200
第十一章 单片机应用系统可靠性技术概论 201
第一节 干扰的种类、传播途径及抑制的常用方法 201
第二节 单片机系统硬件抗干扰技术 203
第三节 单片机系统软件抗干扰技术 211
思考与练习 214
附录Ⅰ 计算机数的运算基础 215
一、进位计数制及相互转换 215
二、计算机中数和字符的表示 218
附录Ⅱ 模拟试卷及参考答案 222
一、课程试卷A及参考答案 222
二、课程试卷B及参考答案 227
三、课程试卷C及参考答案 232
四、课程试卷D及参考答案 238
附录Ⅲ C51使用简介 244
附录Ⅳ MCS-51指令表 255
参考文献 259