第1章 单片机基础知识 1
1.1 计算机系统概述 1
1.1.1 计算机 1
1.1.2 微型计算机 2
1.1.3 单片微型计算机 2
1.1.4 嵌入式系统 3
1.1.5 计算机的发展与分类 6
1.2 单片机数据表示方法 6
1.2.1 数制及其转换 6
1.2.2 单片机中的常用编码 9
1.2.3 单片机中数的表示方法 11
1.3 单片机中的数据运算 17
1.3.1 算术运算 17
1.3.2 逻辑运算 20
1.4 单片机的内部结构 21
1.4.1 中央处理器 22
1.4.2 存储器 24
1.4.3 输入/输出接口 26
1.4.4 总线 27
1.5 单片机的类型和典型单片机产品 27
1.5.1 单片机的类型和特点 27
1.5.2 典型单片机产品 29
1.6 单片机的应用和应用系统结构 31
1.6.1 单片机的应用 31
1.6.2 单片机应用系统结构 33
习题 34
第2章 51系列单片机硬件结构和功能 36
2.1 总体结构 36
2.1.1 51系列单片机的总体结构 36
2.1.2 51系列单片机的引脚定义及功能 38
2.2 存储器的组织结构及功能 40
2.2.1 程序存储器 41
2.2.2 内部数据存储器 42
2.2.3 外部数据RAM和I/O口 48
2.3 I/O接口的结构及功能 48
2.3.1 并行接口的结构及功能 48
2.3.2 串行接口的结构及功能 53
2.4 定时/计数器的结构及功能 53
2.4.1 定时/计数器的结构 54
2.4.2 定时/计数器方式寄存器和控制寄存 55
2.4.3 T0、T1的工作方式和内部结构 57
2.4.4 定时/计数器T2的功能和使用方法 59
2.5 中断系统的结构及功能 63
2.5.1 中断系统结构 64
2.5.2 中断源 64
2.5.3 中断控制 66
2.5.4 中断响应过程 68
2.5.5 中断服务程序的现场保护和恢复 69
2.5.6 中断请求的撤出 69
2.6 时钟、时钟电路、CPU定时 70
2.6.1 CMOS型51单片机时钟电路 71
2.6.2 CPU时序 71
2.7 单片机工作方式 73
2.7.1 复位方式与复位电路 73
2.7.2 程序执行方式 74
2.7.3 省电工作方式 75
2.7.4 CHMOS型单片机节电工作方式 76
习题 78
第3章 51系列单片机指令系统及Keil集成开发环境 79
3.1 指令系统和指令格式 79
3.1.1 指令系统的概念 79
3.1.2 指令格式和常用伪指令 80
3.2 指令寻址方式 84
3.2.1 操作数寻址方式 84
3.2.2 指令地址寻址方式 87
3.2.3 位寻址方式 89
3.3 指令状态标志和类型 90
3.3.1 指令状态标志 90
3.3.2 指令类型 91
3.4 数据传送指令 92
3.4.1 内部数据传送指令 93
3.4.2 外部数据存储器传送指令 98
3.4.3 查表指令 99
3.5 算术运算指令 101
3.5.1 加减指令 101
3.5.2 乘除指令 105
3.6 逻辑运算指令 105
3.6.1 ACC的逻辑操作指令 105
3.6.2 两个操作数的逻辑操作指令 108
3.7 位操作指令 110
3.7.1 位变量传送指令 110
3.7.2 位变量修改指令 111
3.7.3 位变量逻辑操作指令 111
3.8 控制转移指令 112
3.8.1 绝对转移指令 112
3.8.2 条件转移指令 115
3.8.3 调用、返回及空操作指令 118
3.9 Keil μVision4集成开发环境简介 121
3.9.1 μVision4项目管理窗口 121
3.9.2 μVision4的菜单栏 122
3.9.3 μVision4工具栏 128
3.9.4 μVision4的管理配置 132
3.9.5 μVision4的各种常用窗口 136
3.9.6 用μVision4创建项目 140
3.9.7 项目仿真和调试 143
习题 145
第4章 51系列单片机汇编语言程序设计方法 147
4.1 单片机系统程序结构及设计过程 147
4.1.1 程序总体构成 147
4.1.2 程序设计过程 150
4.2 顺序程序结构设计 150
4.3 分支程序结构设计 152
4.3.1 基本分支结构程序设计 152
4.3.2 多分支结构程序设计 154
4.4 循环结构程序设计 157
4.4.1 单重循环程序 158
4.4.2 多重循环程序 159
4.4.3 已知循环次数结构程序设计 159
4.4.4 未知循环次数结构程序设计 160
4.5 子程序设计及参数传递方法 161
4.5.1 子程序的调用与返回 162
4.5.2 子程序的参数传递 163
4.6 中断程序设计 169
4.6.1 中断的初始化 169
4.6.2 中断服务程序 170
4.6.3 外部中断程序 171
4.6.4 定时中断程序 172
4.6.5 串行中断程序 173
4.7 常用程序设计及调试实例 174
4.7.1 定点数运算程序 174
4.7.2 查表程序 179
4.7.3 数制转换程序 180
习题 182
第5章 51系列单片机接口应用及Proteus仿真 183
5.1 Proteus简介 183
5.1.1 Proteus编辑环境 183
5.1.2 电路原理图设计 188
5.1.3 单片机的仿真 191
5.1.4 ISIS模块应用举例 193
5.2 51系列单片机内部接口和定时器的应用 195
5.2.1 并行接口应用 195
5.2.2 定时/计数器应用 204
5.2.3 串行接口电路 211
5.3 51系列单片机并行扩展系统的扩展原理 223
5.3.1 51单片机最小系统 223
5.3.2 51单片机扩展总线与编址技术 223
5.4 程序存储器扩展 228
5.4.1 外部程序存储器的操作时序 228
5.4.2 常用EPROM存储器 229
5.4.3 程序存储器扩展方法 231
5.5 数据存储器扩展 233
5.5.1 外部数据存储器的操作时序 233
5.5.2 常用的RAM芯片 234
5.5.3 RAM存储器扩展方法 235
5.5.4 外部RAM的读写程序 236
5.6 74系列器件的接口技术及应用 237
5.6.1 用74HC245扩展并行输入口 238
5.6.2 用74HC377扩展并行输出口 238
5.6.3 74HC154译码器 238
5.6.4 74HC595 240
5.7 RAM/IO扩展电路8155的接口技术和应用 243
5.7.1 8155的结构与引脚功能 243
5.7.2 内部寄存器及其操作 244
5.7.3 8155的命令/状态字 245
5.7.4 8155的定时/计数器 248
5.8 LED键盘/显示专用电路接口技术和应用 250
5.8.1 LED显示接口技术 250
5.8.2 按键、键盘与单片机的接口技术 256
5.8.3 键盘、显示器接口芯片——HD7279A 266
5.9 LED点阵显示电路接口技术和应用 277
5.9.1 点阵LED显示器原理 278
5.9.2 LED点阵显示接口电路及编程方法 279
5.10 LCD显示电路接口技术和应用 287
5.10.1 SMC1602显示器工作原理 288
5.10.2 指令集及时序 292
5.10.3 应用实例 297
5.11 ADC与DAC器件接口技术 304
5.11.1 DAC转换器接口 305
5.11.2 ADC转换接口 315
5.12 实时时钟电路接口技术——DS1302 322
5.12.1 DS1302概述 322
5.12.2 DS1302与微控制器的接口软件及功能应用举例 327
5.12.3 DS1302时钟日历实例 330
5.13 温度传感器接口技术 331
5.13.1 DS18B20的基础知识 331
5.13.2 参考程序 336
5.13.3 DS18B20测温实例 338
习题 341
参考文献 344