基础原理篇 3
第1章 单片机概述 3
1.1 单片机的发展历史 3
1.2 AT89系列单片机及主要特性 6
1.2.1 低档型AT89系列单片机的基本特性 6
1.2.2 标准型AT89系列单片机的基本特性 7
1.2.3 高档型AT89系列单片机的基本特性 9
1.2.4 AT89系列单片机型号的编码说明及封装形式 11
1.2.5 部分ATMEL单片机的升级替代及推荐产品 13
1.3 单片机的应用 13
1.4 单片机的发展趋势 15
第2章 AT89S51单片机的基本结构 17
2.1 AT89S51单片机的主要特性 17
2.2 AT89S51单片机的结构 18
2.3 AT89S51单片机的封装及引脚功能 19
2.3.1 PDIP封装的AT89S51单片机引脚及功能 19
2.3.2 PLCC和TQFP封装的AT89S51单片机引脚及功能 21
2.4 AT89S51单片机内部结构 21
2.4.1 AT89S51单片机CPU的运算器 22
2.4.2 控制器 24
2.5 单片机最小系统 26
2.5.1 振荡器 26
2.5.2 复位操作和复位电路 28
2.6 单片机时序 30
2.7 AT89S51的低功耗工作方式 32
习题 34
第3章 AT89S51存储器及总线扩展 35
3.1 存储器概述 35
3.2 数据存储器 36
3.3 特殊功能寄存器SFR 38
3.4 Flash程序存储器 40
3.5 总线扩展及地址分配 41
3.6 外部存储器扩展及访问 46
3.6.1 外部数据存储器扩展与访问 46
3.6.2 程序存储器扩展与访问 49
3.7 Flash存储器操作 52
3.7.1 签名字节及读出 52
3.7.2 程序存储器的加密 53
3.7.3 Flash存储器的并行编程 55
3.7.4 Flash存储器的串行编程 57
习题 59
第4章 指令系统 61
4.1 汇编语言指令格式 62
4.1.1 汇编语言执行指令格式 62
4.1.2 描述符号 62
4.1.3 汇编伪指令 63
4.2 寻址方式 65
4.3 指令系统 70
4.3.1 数据传送操作 70
4.3.2 算术运算指令 75
4.3.3 逻辑运算指令 79
4.3.4 位(布尔)操作类指令 81
4.3.5 控制转移类指令 84
习题 91
第5章 AT89S51程序设计与调试 93
5.1 程序设计步骤 93
5.2 源程序的基本格式及编辑环境 95
5.2.1 源程序的基本格式 95
5.2.2 源程序的编辑环境 97
5.3 程序调试与下载运行 97
5.3.1 单片机开发系统(装置) 97
5.3.2 源程序调试 99
5.3.3 程序下载运行 100
5.4 程序设计方法 101
5.4.1 顺序结构程序 101
5.4.2 分支结构程序 101
5.4.3 循环结构程序 104
5.4.4 子程序结构程序 108
5.4.5 中断服务程序 113
5.5 C51基础 114
5.5.1 C51的程序结构及编译环境 115
5.5.2 C51的数据类型与存储类型 117
5.5.3 AT89S51结构的C51定义 119
5.5.4 C51程序设计举例 121
习题 123
第6章 AT89S51单片机并行I/O口 125
6.1 AT89S51的并行I/O口 125
6.2 AT89S51并行I/O口结构与特点 125
6.2.1 I/O口结构 125
6.2.2 I/O端口的结构特点 131
6.3 并行I/O口操作 132
6.4 I/O口应用 133
6.4.1 I/O端口应用特性 133
6.4.2 I/O口的应用 134
习题 136
第7章 AT89S51单片机中断系统 137
7.1 中断概述 137
7.2 中断系统结构与中断控制 139
7.2.1 AT89S51中断系统结构 139
7.2.2 中断相关寄存器 140
7.2.3 中断触发条件 143
7.3 中断响应 145
7.3.1 中断响应条件 145
7.3.2 中断响应过程 145
7.3.3 中断响应时间 147
7.4 中断请求的撤除 147
7.5 中断程序设计 148
习题 152
第8章 AT89S51定时器/计数器 154
8.1 定时器/计数器的结构 154
8.2 定时器/计数器相关寄存器 155
8.2.1 定时器/计数器工作模式寄存器TMOD 155
8.2.2 定时器/计数器控制寄存器TCON 156
8.3 定时器/计数器的4种模式及应用 156
8.4 定时器/计数器程序设计 159
8.4.1 相关寄存器设置 159
8.4.2 程序设计实例 159
8.5 定时监视器(看门狗定时器) 164
8.5.1 AT89S51的定时监视器 164
8.5.2 WDT程序编写 165
8.5.3 WDT程序 165
习题 166
第9章 AT89S51单片机串行通信 167
9.1 串行通信概述 167
9.1.1 串行通信方式 167
9.1.2 串行通信协议及帧格式 168
9.2 RS232C标准总线与单片机通信 170
9.2.1 RS232C标准总线接口引脚描述 170
9.2.2 RS232C接口的具体规定 171
9.2.3 RS232C标准总线接口通信连接 172
9.3 AT89S51串行通信接口 173
9.3.1 串行口的控制 173
9.3.2 串行口的工作模式 175
9.3.3 波特率的确定 180
9.4 串行通信应用举例 181
9.4.1 相关寄存器设置 181
9.4.2 串行口模式0的应用 182
9.4.3 串行口模式1的应用 183
9.4.4 串行口模式2和模式3的应用 184
习题 186
编程实践篇 189
第10章 KEIL C51软件的使用指导 189
10.1 如何建立一个C项目 189
10.2 如何进行工程详细设置 193
第11章 I/O的应用实例 196
11.1 实例1 位移法流水灯 196
11.2 实例2 逐个送数法流水灯 199
11.3 实例3 蜂鸣器嘀嘀声 202
第12章 键盘与6段数码管显示 206
12.1 实例1 数码管显示123456 206
12.2 实例2 独立按键与数码管综合实验 210
12.3 实例3 行列式按键 215
第13章 中断应用 221
13.1 实例1 外部中断 221
13.2 实例2 定时器计数器 223
13.3 实例3 串行口通信 226
第14章 扩展功能 230
14.1 温度测量(DS18B20)扩展 230
14.2 EEPROM扩展 240
14.3 继电器控制电路扩展 248
14.4 时钟芯片(DS1302)扩展 251
附录 271
参考文献 276