第1章 单片机的基础知识 1
1.1 单片机概述 1
1.1.1 单片机名称的由来 1
1.1.2 单片机的特点 1
1.1.3 单片机的应用 3
1.1.4 80C51单片机简介 4
1.2 单片机的结构 5
1.2.1 单片机的引脚及其功能 5
1.2.2 单片机的输入/输出端口结构 7
1.2.3 单片机的基本工作条件 9
1.3 单片机的存储器 11
1.3.1 存储器的常用单位和数制 11
1.3.2 存储器的配置 13
1.3.3 寻址方式 17
第2章 单片机的开发环境 21
2.1 单片机的集成开发系统软件 21
2.1.1 Keil的安装 21
2.1.2 用Keil开发单片机程序 22
2.2 单片机的实验板 29
2.3 Easy51Pro v2.0软件的使用 32
第3章 单片机的指令系统 35
3.1 单片机的编程语言概述 35
3.1.1 编程语言简介 35
3.1.2 80C51汇编语言的语句结构 36
3.2 80C51单片机的指令 37
3.2.1 数据传送指令 37
3.2.2 算术运算类指令 43
3.2.3 逻辑运算类指令 47
3.2.4 控制转移类指令 49
3.2.5 位操作类指令 53
3.2.6 常用伪指令 54
第4章 LED灯的控制 55
4.1 LED灯简介 55
4.2 延时时间的计算与程序设计 58
4.2.1 延时程序的设计 58
4.2.2 延时时间的计算 59
4.3 一只灯的控制 61
4.3.1 点亮一只灯 61
4.3.2 闪烁一只灯 63
4.4 流水灯的控制 64
4.4.1 依次点亮灯 65
4.4.2 亮灯循环左移与右移 66
4.4.3 花样流水灯 68
第5章 LED数码管的显示 72
5.1 LED数码管 72
5.2 代码转换 75
5.2.1 二进制数转换为BCD码 75
5.2.2 BCD码转换为七段码 77
5.3 一位数码管的显示 78
5.3.1 显示一个数 78
5.3.2 循环显示10个数 80
5.4 多位数码管的显示 82
5.4.1 常数的显示 82
5.4.2 变量的显示 84
5.5 LCD简介 86
5.5.1 LCD的分类与引脚 86
5.5.2 LCD寄存器 88
5.6 LCD字符显示 92
5.6.1 一行字符的显示 92
5.6.2 两行字符的显示 95
5.6.3 LCD字符串的显示 97
5.6.4 LCD字符的动态显示 100
第6章 单片机的键盘控制 106
6.1 独立按键 106
6.1.1 按键特性 107
6.1.2 用独立键盘控制灯的移动 108
6.1.3 按键控制发声 111
6.1.4 一个按键控制两个任务 113
6.2 矩阵键盘 115
6.2.1 矩阵键盘的结构及工作原理 116
6.2.2 矩阵键盘的编程与显示控制 117
第7章 单片机内部的三大功能 124
7.1 中断系统 124
7.1.1 中断概述 124
7.1.2 中断处理过程 126
7.1.3 中断的控制与设置 127
7.1.4 中断应用举例 132
7.2 定时/计数器 137
7.2.1 定时/计数器的用途、结构及工作原理 137
7.2.2 定时/计数器的控制 139
7.2.3 定时器应用举例 140
7.2.4 计数器应用举例 142
7.3 串行通信 144
7.3.1 串行通信中双方的基本约定 144
7.3.2 串行口的结构与通信过程 146
7.3.3 串行口的控制 147
7.3.4 串行通信应用举例 152
第8章 综合实例 154
8.1 实例一 电子钟设计 154
8.2 实例二 数显抢答器设计 163
8.3 实例三 篮球比赛计分器设计 167
8.4 实例四 电子琴设计 171
第9章 A/D与D/A转换器 177
9.1 信号转换概述 177
9.2 模数转换器(A/D转换器) 178
9.3 数模转换器(D/A转换器) 182
9.4 数字温度传感器 186
9.5 数字温度计 190
第10章 步进电机的控制 198
10.1 步进电机的工作原理 198
10.1.1 步进电机的种类 198
10.1.2 步进电机的工作原理介绍 199
10.1.3 小型步进电机驱动电路 200
10.2 步进电机的转动 201
10.2.1 步进电机的正转 201
10.2.2 步进电机的反转 204
10.3 按键控制步进电机的正、反转 205