第1章 MCS-51硬件结构 1
1.1 引言 1
1.2 MCS-51系列 1
1.3 内部结构 2
1.3.1 专用寄存器 2
1.3.2 端口结构及运作 5
1.3.3 存储器组织 9
1.3.4 CPU定时 11
1.3.5 片外存储器的存取 13
1.3.6 复位电路 15
1.3.7 片内时钟振荡器 16
1.4 定时/计时器 18
1.4.1 定时器0和定时器1 18
1.4.2 定时器2 20
1.5 串行口 22
1.5.1 运作方式 22
1.5.2 串行口控制寄存器 23
1.5.3 多机通讯 24
1.5.4 波特率 24
1.6 中断系统 26
1.6.1 中断源 26
1.6.2 中断允许和优先级寄存器 27
1.6.3 中断处理过程 29
1.6.4 外部中断的触发方式 30
1.7 引脚功能 31
1.6.5 中断响应时间 31
思考题与练习题 33
第2章 指令系统 34
2.1 寻址方式 34
2.1.1 寄存器寻址 34
2.1.2 直接寻址 34
2.1.3 寄存器间接寻址 34
2.3.1 单向数据传送指令 35
2.3 数据传送指令 35
2.2 指令分类 35
2.1.4 立即寻址 35
2.1.5 基址寄存器加变址寄存器间接寻址 35
2.3.2 数据交换指令 41
2.4 算术指令 41
2.4.1 加法类指令 42
2.4.2 减法类指令 44
2.5 逻辑指令 45
2.5.1 单操作数逻辑运算指令 45
2.4.3 乘除法指令 45
2.5.2 双操作数逻辑运算指令 47
2.6 控制跳转操作指令 50
2.6.1 子程序调用和返回指令 50
2.6.2 无条件跳转指令 50
2.6.3 条件跳转指令 51
2.6.4 比较不等则跳转指令 53
2.6.5 循环控制及其他指令 54
思考题与练习题 55
3.1.1 数据转换子程序 57
第3章 程序设计示例 57
3.1 通用程序 57
3.1.2 多倍精度运算 58
3.1.3 查表程序 58
3.1.4 分支程序 60
3.1.5 堆栈操作程序 62
3.1.6 代码队列参数传递程序 65
3.2 硬件相关程序 66
3.2.1 控制信号的软件定时 66
3.2.2 串行口和定时器的方式设定 66
3.2.3 简单的串行I/O驱动程序 67
3.2.4 串行口字符串的传送 67
3.2.5 特别情况的辨识与处理 68
3.2.6 定时器中断示例 69
3.2.7 定时器溢出和中断的同步 70
3.2.8 定时器瞬时值的动态读出 71
3.2.9 程序的单步运行 71
3.2.11 程序存储器空白区的防范措施 72
3.2.10 中断优先级别的扩展 72
3.2.12 多机通讯程序 73
3.3 布尔处理程序 76
思考题与练习题 77
第4章 系统扩展 80
4.1 存储器扩展 80
4.1.1 程序存储器的扩展 80
4.1.3 程序/数据存储器的扩展 82
4.1.2 数据存储器的扩展 82
4.2 片外数据存储器和I/O扩展 85
4.2.1 8155的内部结构与引脚功能 85
4.2.2 8155的I/O部分 86
4.2.3 8155的命令/状态寄存器 87
4.2.4 8155片内定时器 89
4.2.5 8051和8155的连接 90
4.3 多中断源的安排 93
4.4 8031最小用户系统 93
4.5.1 8255A的结构和功能 94
4.5 I/O口扩展 94
4.5.2 8255A的运作方式 95
4.5.3 8031AH与8255A的连接 100
4.5.4 利用TTL芯片扩展I/O口 100
4.5.5 串行口在I/O扩展中的应用 102
思考题与练习题 104
5.2 CMOS和CHMOS电路的特点 105
5.2.1 逻辑电平与接口问题 105
5.1 CMOS电路的演化 105
第5章 MCS-51中的CHMOS器件 105
5.2.2 抗干扰能力 106
5.2.3 功耗 107
5.3 80C51BH概述 108
5.3.1 低功耗运作方式 108
5.3.2 与HMOS器件的互换性 110
5.3.3 配用CHMOS EPROM 112
5.4 8XC552概要 113
5.4.1 概述 113
5.4.2 内部结构 114
5.4.3 引脚配置及封装 117
5.5 8XC552主要部件 120
5.5.1 定时器T2 120
5.5.2 定时器T3——监视定时器 131
5.5.3 脉冲宽度调制输出 133
5.5.4 A/D转换器 134
5.5.5 I/O端口结构 137
5.5.6 中断系统 138
5.5.7 低功耗运作方式 141
思考题与练习题 142
第6章 接口技术 144
6.1 与键盘接口 144
6.1.1 独立按键接口 144
6.1.2 矩阵式键盘接口 145
6.2 与BCD码拨盘接口 147
6.3 与显示器接口 150
6.3.1 发光二极管显示器 150
6.3.2 液晶显示器 155
6.4 与微型打印机接口 160
6.4.1 TPμP系列微型打印机 160
6.4.2 单片机直接与打印机接口 161
6.5 与D/A和A/D转换器接口 162
6.5.1 与D/A转换器接口 162
6.5.2 与A/D转换器接口 168
思考题与练习题 170
7.1.1 8751H 171
7.1 EPROM型器件 171
第7章 87C51和89C51 171
7.1.2 8751BH/8752BH和87C552 173
7.1.3 87C51 176
7.2 闪速存储器型器件 177
7.2.1 89C51 178
7.2.2 AT89C2051 181
思考题与练习题 185
附录 思考题与练习题难点详解 187
参考文献 192