第1章 走进单片机世界 1
1.1 什么是单片机 2
1.2 AT89系列单片机 2
1.2.1 AT89C51单片机主要性能 3
1.2.2 AT89C51单片机的组成 3
1.2.3 AT89C51单片机引脚功能说明 4
1.2.4 单片机存储器组织 7
1.2.5 AT89C51单片机I/O口的结构及功能 9
1.2.6 89系列单片机的型号说明 11
习题 12
第2章 单片机应用系统开发工具 13
2.1 案例1:流水灯控制 14
2.1.1 案例说明 14
2.1.2 硬件电路 14
2.1.3 程序设计 14
2.2 C51基础 16
2.2.1 C语言概述 16
2.2.2 C51的数据类型 18
2.2.3 常量、变量和标识符 19
2.2.4 常用运算符及表达式 22
2.2.5 C语言基础语句 27
2.2.6 数组 33
2.2.7 函数 36
2.2.8 编译预处理命令 37
2.3 单片机开发工具软件——Keil μ Vision3及基本操作 39
2.3.1 Keil μ Vision3的工作界面 39
2.3.2 创建项目 40
2.3.3 调试程序 45
2.3.4 项目的设置 47
2.4 单片机应用系统原理图设计及仿真工具软件——Proteus ISIS及基本操作 49
2.4.1 Proteus ISIS编辑环境简介 49
2.4.2 Proteus ISIS基本使用 53
习题 61
第3章 单片机系统信息显示与输入功能的实现 62
3.1 应用发光二极管实现信息显示 63
3.1.1 发光二极管与单片机的连接技术 63
3.1.2 如何用C51实现I/O端口数据输入/输出操作 64
任务1 设计一个开关量采集电路 64
3.1.3 彩灯控制器设计 66
任务2 用发光二极管制作一个节日彩灯 66
任务3 用发光二极管模拟交通信号灯 70
3.2 应用LED数码管实现信息显示 73
3.2.1 LED数码管的结构及分类 73
3.2.2 LED数码管的字形编码 73
3.2.3 LED数码管的显示方式 74
任务4 制作一个0~9数秒器 76
任务5 制作一个0~99计数器 77
3.3 LED点阵显示器及应用技术 79
3.3.1 LED点阵结构及显示信息原理 80
3.3.2 使用LED点阵显示汉字技术 81
任务6 制作一个16×16点阵显示屏 81
3.4 字符型LCD应用技术 84
3.4.1 字符型LCD1602显示模块 84
3.4.2 应用LCD1602实现信息显示 87
任务7 用LCD1602仿真电子广告牌 88
3.5 键盘检测及接口技术 90
3.5.1 按键及去抖动措施 91
3.5.2 独立式按键 91
3.5.3 行列式键盘 91
3.5.4 键盘接口技术 93
任务8 设计一个键盘指示器 93
习题 96
第4章 定时/计数功能与中断技术 97
4.1 中断系统 98
4.1.1 中断的概念 98
4.1.2 AT89C51单片机中断系统 99
4.1.3 中断函数的编写 102
任务1 设计一个流水花样灯 103
4.2 定时/计数器 105
4.2.1 定时与计数 106
4.2.2 定时/计数器的设置 107
4.2.3 定时/计数器的工作方式 108
4.2.4 定时/计数器应用技术 111
任务2 设计一个秒脉冲发生器 112
任务3 设计一个简易电子秒表 114
习题 117
第5章 串行口与串行通信技术 118
5.1 串行通信基本知识 119
5.1.1 串行通信与并行通信 119
5.1.2 串行通信的制式 121
5.2 AT89C51单片机串行口 122
5.2.1 串行口结构 122
5.2.1 串行口的工作方式及应用技术 124
任务1 设计一个8路LED流水灯 124
任务2 设计一个开关量指示电路 127
任务3 构建一个点对点通信系统 131
任务4 构建一个主从式多机通信系统 135
5.3 串行通信总线标准与接口电路 140
5.3.1 RS-232C通信总线标准与接口电路 140
5.3.2 RS-422A/485通信总线标准与接口电路 142
任务5 构建一个小型主从式远程多机通信系统 145
习题 150
第6章 单片机系统模拟量输入输出技术 151
6.1 单片机系统模拟量输入的实现 152
6.1.1 A/D转换器的主要技术指标 152
6.1.2 典型A/D转换器与外围连接电路 153
6.1.3 A/D转换器与单片机系统模拟量输入 158
任务1 制作一个简易数字电压表 159
任务2 设计一个多路模拟量采集系统 162
6.2 单片机系统模拟量输出的实现 166
6.2.1 常用的D/A转换器与外围连接电路 166
6.2.2 D/A转换器与单片机系统模拟量输出 170
任务3 设计一个波形发生器 171
习题 174
第7章 单片机应用系统设计与仿真 175
7.1 基于1-Wire总线的温度测量系统 176
7.1.1 1-wire总线技术 176
7.1.2 基于1-wire总线的数字温度传感器DS18B20 182
7.1.3 基于1-wire总线的温度测量系统 186
任务1 基于DS18B20的数字温度计设计 187
7.2 基于SPI总线的数字时钟 193
7.2.1 基于SPI总线的时钟/日历DS1302 193
7.2.2 数字时钟设计 197
任务2 基于DS1302的数字时钟设计 197
7.3 I2C总线与数据存储技术 212
7.3.1 I2C总线 213
7.3.2 单片机模拟I2C总线通信 217
7.3.3 I2C总线接口器件AT24CXX与数据存储 220
任务3 设计一个具有记忆功能的秒表 222
参考文献 228