第一章 单片机概述 1
第一节 单片机简介 1
第二节 单片机的开发条件 1
习题 4
第二章 单片机开发软件快速入门 5
第一节 Proteus 7.2安装 5
第二节 Proteus 7.2快速入门 6
第三节 Keil μVision2安装 17
第四节 Keil μVision2快速入门 17
第五节 Keil μVision2和Proteus 7.2联调 26
习题 34
第三章 AT89S51单片机的结构和原理 35
第一节 AT89S51单片机的基本结构 35
第二节 AT89S5I单片机的引脚及片外总线结构 39
第三节 AT89S51单片机的存储器配置 41
第四节 CPU的时序及辅助电路 45
第五节 I/O口应用举例 47
习题 51
第四章 C51语法简介 52
第一节 关键字 52
第二节 数据与数据类型 53
第三节 变量定义的格式 54
第四节 直接对51单片机的SFR的定义 56
第五节 51单片机SFR中可位寻址的单元的位的定义 56
第六节 51单片机中可位寻址区(0x20~0x2f)的访问 57
第七节 关键字bit与sbit区别 57
第八节 51单片机外扩I/O口的访问 57
第九节 函数的递归调用与再入函数 58
第十节 中断服务函数与寄存器组定义 59
第十一节 C51的运算符和表达式 61
第十二节 C51流程控制语句 62
第十三节 C51的指针类型 64
习题 65
第五章 AT89S51汇编指令系统 67
第一节 AT89S51指令系统的格式及符号说明 67
第二节 寻址方式 68
第三节 按功能分类指令介绍 70
习题 82
第六章 定时器和中断 85
第一节 定时器/计数器概述 85
第二节 定时器/计数器4种工作方式 91
第三节 定时器/计数器的应用举例 94
第四节 AT89S51单片机中断系统 102
习题 109
第七章 单片机串行通信 111
第一节 串行通信概述 111
第二节 AT89S51单片机的串行口及控制寄存器 115
第三节 AT89S51单片机串行通信工作方式 117
第四节 串行口通信实例 122
习题 131
第八章 AT89S51单片机的扩展 132
第一节 AT89S51单片机系统的扩展 132
第二节 简单I/O口扩展 137
第三节 单片机和CPLD接口设计 139
习题 145
第九章 键盘和显示 146
第一节 键盘及其接口 146
第二节 LED显示器件 156
第三节 LED点阵显示器件 167
习题 179
第十章 点阵字符型液晶模块LCD1602 180
第一节 点阵字符型液晶模块LCD1602简介 180
第二节 LCD1602总线方式的应用 189
第三节 LCD1602间接方式的应用 194
习题 207
第十一章 点阵图形液晶模块128×64 208
第一节 128×64点阵液晶显示屏 208
第二节 128×64点阵型LCD总线方式的应用 215
第三节 128×64点阵型LCD间接方式的应用 216
习题 224
第十二章 A/D和D/A转换器 225
第一节 D/A转换器 225
第二节 AT89S51和D/A转换器的接口 228
第三节 A/D转换器 233
第四节 标度变换(工程量变换)—现场物理量的显示 236
第五节 ADC0832转换器的应用 239
习题 249
第十三章 常见串行总线 250
第一节 I2C总线及其应用 250
第二节 SPI总线及其应用 257
第三节 单总线温度传感器DS18B20 263
习题 272
第十四章 红外线和无线遥控 273
第一节 红外线遥控原理及其应用 273
第二节 无线遥控模块及其应用 277
习题 285
附录 SP-28 USB开发板原理图(见文后插页)参考文献 286