第1章 8051单片机的基础知识及开发工具 1
1.1 计算机中的主要数制及转换 1
1.1.1 计算机中的数制 1
1.1.2 数制之间的转换 2
1.1.3 计算机中数的表示形式 4
1.2 计算机中数和字符的编码 5
1.3 单片机概述 7
1.3.1 单片机的概念及特点 7
1.3.2 单片机的应用 8
1.3.3 单片机的开发环境 8
1.3.4 单片机系统的开发流程 9
1.4 Keil μVision IDE集成开发环境 10
1.4.1 软件简介 10
1.4.2 Keil的使用方法 14
习题与思考题 25
第2章 8051单片机的结构与最小系统 27
2.1 8051单片机的内部结构 27
2.1.1 CPU 28
2.1.2 存储器 31
2.1.3 并行I/O口 35
2.1.4 可编程串行口 36
2.1.5 定时器/计数器 36
2.1.6 中断系统 36
2.2 8051单片机的封装和引脚 37
2.3 8051单片机的基本电路 39
2.3.1 时钟电路 39
2.3.2 复位电路 40
2.4 8051单片机的最小系统 41
2.4.1 8051单片机最小系统的组成 41
2.4.2 8051单片机最小系统的工作方式 43
习题与思考题 44
第3章 8051单片机输出口应用 46
3.1 8051单片机输入/输出口 46
3.2 常用元器件 50
3.3 常见输出电路设计 54
3.4 指令格式 55
3.5 寻址方式 57
3.6 数据传送指令 61
3.6.1 内部数据传送指令 61
3.6.2 外部数据传送指令 63
3.6.3 堆栈操作指令 65
3.6.4 数据交换指令 66
3.7 输出接口电路应用 67
习题与思考题 71
第4章 8051单片机输入口应用 73
4.1 8051单片机时序分析 73
4.1.1 时钟周期、机器周期和指令周期 74
4.1.2 8051单片机指令的取指时序 75
4.1.3 访问外部存储器的指令时序 76
4.2 常见输入电路设计 78
4.2.1 输入设备 79
4.2.2 输入电路设计 81
4.2.3 抖动与防抖动 83
4.3 控制转移指令 84
4.3.1 无条件转移指令 84
4.3.2 条件转移指令 86
4.3.3 子程序调用和返回指令 88
4.3.4 比较转移指令 90
4.3.5 减1转移指令 91
4.3.6 空操作指令 92
4.4 输入接口电路应用 92
习题与思考题 94
第5章 8051单片机常用外部设备应用 96
5.1 键盘扫描原理 96
5.1.1 键盘组成及特性 96
5.1.2 按键的去抖动方法 96
5.1.3 独立式键盘的原理 97
5.1.4 矩阵式键盘的原理 98
5.2 数码管显示原理 101
5.2.1 LED数码管结构与原理 101
5.2.2 LED数码管显示方式 102
5.3 液晶显示原理 105
5.3.1 LCD模块显示分类 105
5.3.2 LCD 1602液晶显示模块 106
5.4 可编程并行接口芯片 112
5.5 算术运算指令 123
5.6 人机交互方法及电路应用 127
5.6.1 8051单片机与键盘接口及应用 127
5.6.2 8051单片机与LED数码管接口及应用 133
5.6.3 8051单片机与LCD1602接口及应用 135
习题与思考题 139
第6章 8051单片机中断应用 140
6.1 8051单片机中断概述 140
6.1.1 中断的定义和作用 140
6.1.2 8051单片机的中断源 141
6.1.3 中断嵌套 141
6.1.4 中断系统功能 142
6.2 逻辑运算及移位指令 143
6.2.1 逻辑操作指令 143
6.2.2 循环移位指令 146
6.3 8051单片机的中断系统 147
6.3.1 8051单片机的中断源和中断标志 147
6.3.2 8051单片机对中断请求的控制 149
6.3.3 8051单片机对中断的响应 152
6.3.4 8051单片机对中断的响应时间 154
6.3.5 8051单片机对中断请求的撤除 154
6.4 8051单片机中断的应用 155
6.4.1 外部中断源的应用 156
6.4.2 外部中断源的扩展应用 163
习题与思考题 164
第7章 8051单片机定时器/计数器应用 166
7.1 8051单片机的定时器/计数器 166
7.1.1 定时器的结构和控制 166
7.1.2 定时器/计数器的工作方式 168
7.1.3 定时器/计数器的初始化 170
7.2 位操作指令 171
7.3 定时器/计数器的应用 173
习题与思考题 178
第8章 8051单片机与A/D、D/A接口应用 179
8.1 A/D转换原理 179
8.1.1 A/D转换工作原理 179
8.1.2 A/D转换器的主要技术指标 182
8.1.3 A/D转换器ADC0809 183
8.2 D/A转换原理 186
8.2.1 D/A转换器的主要技术指标 186
8.2.2 D/A转换器工作原理 188
8.2.3 D/A转换器DAC0832 190
8.3 8051单片机与A/D、D/A接口电路应用 194
8.3.1 8051单片机与A/D接口电路应用 194
8.3.2 8051单片机与D/A接口电路应用 200
习题与思考题 204
第9章 8051单片机串行口应用 205
9.1 串行与并行基本通信方式 205
9.2 8051单片机的串行口 207
9.3 RS232与TTL电平的转换 211
9.4 波特率设置 213
9.5 串行口电路应用 215
9.5.1 串行口的简单应用 215
9.5.2 双机通信应用 220
9.5.3 PC机和单片机之间的通信应用 221
习题与思考题 224
第10章 Proteus ISIS仿真软件 226
10.1 软件简介 226
10.2 Proteus电路设计方法 233
10.2.1 文件操作 233
10.2.2 在原理图中放置和编辑对象 233
10.2.3 连线 237
10.3 Proteus单片机仿真实例 237
10.3.1 单片机仿真 237
10.3.2 Proteus与Keil C的联合仿真 241
附录A 单片机应用系统实训题目 244
题目1 交通灯控制器 244
题目2 汽车转弯信号灯模拟控制 245
题目3 循环彩灯 246
题目4 键值识别 248
题目5 电子钟 249
题目6 数据采集(冷却液温度测量) 250
题目7 波形发生器 251
题目8 实用信号源 252
题目9 数字电压表设计 253
题目10 单片机控制电机转速 255
题目11 液晶屏显示 257
题目12 三相步进电机控制 259
题目13 简单数字频率计 260
题目14 DS1302时钟芯片控制日历和时钟 261
题目15 DS18B20数字温度传感器测温 263
题目16 可调节分频器的设计 264
题目17 I2C器件AT24C02的读写 265
附录B MCS-51系列单片机指令表 267
参考文献 273