第1章 51单片机的结构和原理 1
1.1 51单片机的结构 2
1.1.1 基本结构 2
1.1.2 CPU结构 3
1.2 51单片机的引脚功能 8
1.3 51单片机的存储器配置 9
1.3.1 程序存储器ROM 10
1.3.2 内部数据存储器RAM 10
1.4 51单片机的基本时序 14
1.4.1 51单片机的时序信号 14
1.4.2 CPU取指/执行时序 15
1.4.3 访问外部ROM和RAM的时序 16
1.5 51单片机的输入/输出端口 18
1.5.1 P0口 18
1.5.2 P1口 20
1.5.3 P2口 20
1.5.4 P3口 21
1.5.5 端口的负载能力 22
1.6 51单片机的中断系统 22
1.6.1 中断结构 23
1.6.2 中断源 24
1.6.3 中断控制 25
1.6.4 中断响应过程 27
1.6.5 中断服务程序的现场保护和恢复 28
1.7 51单片机的定时/计数器 28
1.7.1 定时/计数器的结构 28
1.7.2 定时/计数器的工作方式 30
1.7.3 定时/计数器及外部中断应用举例—8051控制包装生产线 33
1.8 51单片机的串行口 35
1.8.1 串行口的控制寄存器 35
1.8.2 串行口的工作方式 37
1.8.3 波特率的设计 38
习题1 40
第2章 从标准C转向KeilC 41
2.1 概述 41
2.2 C51程序的一般结构 43
2.3 KeilC上机的基本方法 44
2.3.1 μVision3中编程的基本步骤 44
2.3.2 Vision3上机实例 44
2.3.3 μVision3上机注意事项 51
2.4 KeilC软仿真器及程序调试方法 53
2.4.1 调试相关工具介绍 53
2.4.2 断点设置及应用实例 54
2.4.3 程序调试实例 56
2.5 C51中的变量和函数 57
2.5.1 数据类型 57
2.5.2 存储类型 61
2.5.3 字节顺序 66
2.5.4 存储模式选择 67
2.5.5 绝对地址访问和I/O端口读/写 68
2.5.6 指针 69
2.5.7 C51函数 71
2.6 KeilC中的51单片机中断编程 76
2.6.1 C51中断处理函数编写方法 76
2.6.2 C51编写定时器中断处理函数实例 77
2.6.3 C51编写外部中断处理函数实例 78
2.7 编写KeilC程序的一些建议 81
2.7.1 合理定义变量 81
2.7.2 正确调用不可重入库函数 82
习题2 83
第3章 Proteus应用指南 85
3.1 Proteus简介 85
3.2 启动ProteusISIS 86
3.3 ProteusISIS工作界面 86
3.3.1 编辑窗口 86
3.3.2 预览窗口 87
3.3.3 对象选择器 88
3.4 原理图绘制的方法和步骤 90
3.4.1 创建新的设计文件 90
3.4.2 设置图纸类型 90
3.4.3 将所需元器件加入对象选择器 90
3.4.4 放置元器件 92
3.4.5 绘制总线 93
3.4.6 导线连接 94
3.4.7 导线标注 94
3.4.8 编辑对象的属性 95
3.4.9 制作标题栏 96
3.5 Proteus与KeilC的联合仿真 98
3.5.1 Proteus与KeilC的接口 98
3.5.2 Proteus与KeilC联合仿真实例 100
3.6 基本ProteusVSM的电路分析 102
3.6.1 激励源 102
3.6.2 虚拟仪器 102
3.6.3 探针 103
3.6.4 基于图表的分析 103
3.6.5 电源与地 104
3.6.6 交互式电路仿真 104
3.7 电路分析实例1 106
3.7.1 电路原理图的绘制 106
3.7.2 放置电路分析的仪器 109
3.7.3 电路仿真前的准备 113
3.7.4 仿真仪器的使用 115
3.8 电路分析实例2 117
3.8.1 子电路及其子电路图的绘制 118
3.8.2 程序实现 120
3.8.3 仿真结果及分析 121
习题3 121
第4章 单片机应用实践与Proteus仿真 124
4.1 8051存储系统扩展和PID温控器的存储系统设计 126
4.1.1 存储器分类 126
4.1.2 常用存储芯片及引脚功能 126
4.1.3 片外存储系统扩展 128
4.1.4 PID温控器存储系统设计 131
4.2 人机接口和PID温控器的输入/输出设计及仿真 133
4.2.1 八段LED显示器 134
4.2.2 LED显示器的显示方式 135
4.2.3 PID温控器LED显示及仿真 137
4.2.4 键盘检测基本原理 141
4.2.5 PID温控器的键盘设计及其Proteus仿真 143
4.3 A/D、D/A转换及PID温控器的温度采样子系统 148
4.3.1 A/D转换及器件 148
4.3.2 D/A转换接口及应用实例 158
4.4 PID温控器的炉温采样接口及仿真 166
4.4.1 PID温控器A/D转换原理 166
4.4.2 PID温控器A/D转换编程方法 167
4.4.3 PID温控器A/D转换编程实例 170
4.5 运算放大电路基础及应用 172
4.5.1 传感器及放大电路 173
4.5.2 运算放大电路分析基础 174
4.5.3 常用运算放大器 179
4.5.4 运算放大电路实例 180
4.6 PID温控器的温度测量电路设计及仿真 182
4.6.1 热电阻电桥电路分析 182
4.6.2 PID温控器测温放大电路初步设计 184
4.6.3 测温放大电路的进一步完善 186
4.6.4 标度变换 188
4.6.5 测温放大电路与ADC0808的接口及仿真 189
4.7 8051串口通信及应用仿真 191
4.7.1 串行通信的基本概念 192
4.7.2 串行通信编程的基本方法 194
4.7.3 8051双机直接通信 195
4.7.4 8051主从式多机串行通信网络 199
4.7.5 串行口工作方式0扩展I/O口 205
4.8 PID温控器上/下位机串口通信及仿真 208
4.8.1 PC双机串口通信原理 208
4.8.2 Proteus串行通信仿真 209
4.8.3 PID温控器与上位PC机的串口通信设计及仿真 213
4.8.4 串行通信应用层协议简介 214
4.9 PID温控器直流电源与加热功率控制子系统的设计及仿真 214
4.9.1 直流电源设计 214
4.9.2 加热功率控制 215
4.9.3 炉温PID控制 220
4.9.4 炉温闭环PID控制系统仿真模型 221
习题4 225
附录A 常用51单片机选型指南 227
附录B 8255A资料 232
附录C 关于上/下拉电阻 237
参考文献 240