第1章 单片机应用系统仿真开发平台 1
1.1 单片机软件仿真开发工具Keil C51 1
1.1.1 Keil C51的工作环境 1
1.1.2 工程的创建 5
1.1.3 工程的设置 10
1.1.4 工程的调试运行 14
1.1.5 存储空间资源的查看和修改 18
1.1.6 变量的查看和修改 19
1.2 单片机硬件仿真开发工具Proteus ISIS 20
1.2.1 Proteus ISIS的用户界面 21
1.2.2 设置Proteus ISIS工作环境 24
1.2.3 电路原理图的设计与编辑 32
1.2.4 Proteus ISIS与Keil C51的联合使用 41
1.3 本章小结 42
1.4 实训一 简单的单片机应用系统 42
第2章 单片机C51语言基础 46
2.1 C51语言的基本知识 46
2.1.1 标识符 46
2.1.2 常量 49
2.1.3 基本数据类型 50
2.1.4 存储区域与存储模式 57
2.2 运算符与表达式 60
2.2.1 算术运算符与算术表达式 62
2.2.2 赋值运算符与赋值表达式 63
2.2.3 关系运算符、逻辑运算符及其表达式 66
2.2.4 条件运算符与条件表达式 68
2.2.5 逗号运算符与逗号表达式 70
2.3 指针与绝对地址访问 71
2.3.1 指针 71
2.3.2 绝对地址访问 74
2.4 本章小结 75
2.5 实训二 发光二极管流水广告灯 76
第3章 单片机C51语言程序设计基础 80
3.1 语句与流程控制 80
3.1.1 基本语句 80
3.1.2 分支语句 83
3.1.3 循环语句 89
3.1.4 辅助控制语句 97
3.2 函数 99
3.2.1 中断函数 100
3.2.2 重入函数 101
3.2.3 标准库函数 103
3.3 本章小结 112
3.4 实训三 简易十字路口交通信号灯控制 112
第4章 单片机中断系统的C51语言编程 117
4.1 单片机的中断系统 117
4.1.1 51系列单片机的中断系统 118
4.1.2 51系列单片机中断系统的控制 120
4.1.3 51系列单片机的中断处理过程 121
4.2 外部中断 123
4.2.1 外部中断源编程 123
4.2.2 外部中断源的扩展 126
4.3 定时器/计数器中断 129
4.3.1 定时器/计数器的结构及工作原理 130
4.3.2 定时器/计数器的控制 130
4.3.3 定时器/计数器的工作方式及应用编程 131
4.4 本章小结 140
4.5 实训四 十字路口交通信号灯控制 141
第5章 单片机人机交互系统的C51语言编程 148
5.1 单片机的输入/输出端口 148
5.2 LED数码管显示器 150
5.2.1 LED数码管显示器简介 150
5.2.2 静态显示编程 152
5.2.3 动态显示编程 153
5.3 LED数码管点阵显示器 156
5.3.1 字母、数字及图形的显示 157
5.3.2 中文字符的显示 161
5.4 液晶显示器 168
5.4.1 点阵字符型LCD的内部结构 168
5.4.2 点阵字符型LCD的指令系统 172
5.4.3 点阵字符型LCD应用举例 174
5.5 非编码键盘 181
5.5.1 线性非编码键盘 181
5.5.2 矩阵非编码键盘 185
5.6 本章小结 190
5.7 实训五 模拟数字密码锁 190
第6章 单片机串行通信接口的C51语言编程 200
6.1 串行数据通信的基本概念 200
6.1.1 串行数据通信的分类 200
6.1.2 串行通信数据的传送方向 202
6.1.3 串行数据通信的接口电路 203
6.2 51系列单片机的串行通信接口 204
6.2.1 串行口的结构及工作原理 204
6.2.2 串行口的控制寄存器 205
6.2.3 串行口的工作方式与波特率 207
6.3 串行通信接口的C51语言编程 217
6.3.1 查询方式 217
6.3.2 中断方式 221
6.4 本章小结 226
6.5 实训六 单片机之间的单工通信 227
参考文献 234