第1章 单片机应用开发工具 1
项目一 二-十六进制数转换器 2
1.1 单片机应用开发工具Keil A51 4
1.1.1 工程的创建 5
1.1.2 工程的设置 9
1.1.3 工程的调试运行 12
1.1.4 存储空间资源的查看和修改 15
1.2 单片机应用开发工具Proteus ISIS 17
1.2.1 Proteus ISIS的用户界面 17
1.2.2 电路原理图的设计与编辑 20
1.2.3 Proteus ISIS与Keil A51的联合使用 28
本章小结 29
第2章 单片机汇编语言程序设计 30
项目二 8路键控LED灯 31
2.1 简单程序设计 34
2.2 分支程序设计 38
2.2.1 二分支程序设计 38
2.2.2 多分支程序设计 40
2.2.3 散转程序设计 46
2.3 循环程序设计 48
2.3.1 单循环程序设计 50
2.3.2 嵌套循环程序设计 51
2.3.3 数据传送程序 54
2.3.4 查表程序 56
2.4 子程序设计与堆栈技术 59
2.4.1 子程序设计 59
2.4.2 堆栈及其应用 64
2.4.3 实用汇编子程序 66
本章小结 71
第3章 显示器与键盘 72
项目三 两位共阳数码管循环显示00~59 73
3.1 LED数码管显示器 75
3.1.1 LED数码管显示器的结构及工作原理 75
3.1.2 静态显示编程 79
3.1.3 动态显示编程 82
项目四 8×8LED点阵循环显示0~9 86
3.2 LED点阵显示器 88
项目五 字符型LCD液晶显示字符 95
3.3 液晶显示器 99
3.3.1 LCD1602概述 100
3.3.2 LCD1602使用 100
项目六 4×4矩阵键盘控制数码管显示键名 105
3.4 非编码键盘 109
3.4.1 键盘接口概述 109
3.4.2 线性非编码键盘接口技术及编程 110
3.4.3 矩阵非编码键盘接口技术及编程 111
本章小结 113
第4章 中断系统与定时器/计数器 114
项目七 模拟十字路口交通灯控制 115
4.1 单片机的中断系统 118
4.1.1 51系列单片机的中断系统 119
4.1.2 51系列单片机中断系统的控制 121
4.1.3 51系列单片机的中断处理过程 122
4.2 外部中断 126
4.2.1 外部中断源编程 126
4.2.2 外部中断源的扩展 128
4.3 定时器/计数器中断 131
4.3.1 定时器/计数器的结构及工作原理 131
4.3.2 定时器/计数器的控制 132
4.3.3 定时器/计数器的工作方式及应用编程 134
本章小结 148
第5章 串行口通信技术 150
项目八 基于RS-232的双机双向串行通信 151
5.1 51系列单片机的串行通信接口 157
5.1.1 串行通信的基本概念 158
5.1.2 RS.232C串行通信接口标准 160
5.1.3 51系列单片机的串行通信接口 162
5.2 串行通信接口的工作方式 163
5.2.1 工作方式0 164
5.2.2 串行通信接口工作方式1 167
5.2.3 串行通信接口工作方式2、3 170
5.3 串行通信接口应用 172
5.3.1 串行通信接口的编程方式 173
5.3.2 单片机之间的双机串行通信 175
5.3.3 单片机之间的多机串行通信 178
本章小结 187
第6章 小型应用系统编程实例 189
项目九 可设置时分秒的数字钟 190
项目十 数字电压表 195
项目十一 简单的万年历 199
项目十二 数字温度计 205
本章小结 211
附录A 51系列单片机的组成原理 212
附录B 51系列单片机的存储结构 220
附录C 51系列单片机的寻址方式 234
附录D 51系列单片机的指令系统 240
附录E 部分ASCII码对照表 255
参考文献 257