第1章 单片机基础知识 1
1.1 单片机概述 1
1.2 计算机中的数制与编码 2
1.2.1 数制 2
1.2.2 计算机中数的表示 4
1.2.3 字符编码 5
1.3 单片机的电平特性 6
1.4 MCS-51单片机的结构 7
1.4.1 MCS-51单片机的内部结构 8
1.4.2 MCS-51的外部引脚及功能 10
1.5 MCS-51的存储器 11
1.5.1 存储器的结构 11
1.5.2 程序存储器 12
1.5.3 数据存储器 12
1.6 MCS-51单片机的时钟、时序与复位 14
1.6.1 时钟电路 14
1.6.2 单片机的时序单位 15
1.6.3 复位电路 15
1.7 输入/输出端口结构 16
1.8 初步了解单片机应用 18
习题 21
第2章 单片机常用开发软件 23
2.1 Proteus 23
2.1.1 ISIS模块应用举例 23
2.1.2 ARES模块应用举例 26
2.2 Keil C51软件介绍 31
2.2.1 新建一个工程 31
2.2.2 Keil的调试功能 35
2.3 STC单片机烧写程序示例 40
习题 44
第3章 MCS-51单片机指令系统与汇编语言 45
3.1 MCS-51指令系统概述 45
3.1.1 指令格式 45
3.1.2 操作数的简记符号 45
3.1.3 寻址方式 46
3.2 MCS-51指令系统简介 47
3.2.1 数据传送指令 47
3.2.2 算术运算指令 48
3.2.3 逻辑操作及移位指令 49
3.2.4 控制转移指令 50
3.3 汇编语言的伪指令 51
3.4 STARTUP.A51文件 52
3.5 小结 53
习题 53
第4章 单片机的C语言编程 55
4.1 C51程序结构 55
4.2 C51的数据类型 56
4.2.1 标识符与关键字 56
4.2.2 C51的变量 58
4.2.3 C51的指针 61
4.3 C51与汇编语言的混合编程 61
4.3.1 C语言程序和汇编语言程序参数的传递 62
4.3.2 在C51中嵌入汇编代码 62
4.4 C51对存储器和外部I/O的绝对地址访问 63
4.5 C51的运算符 64
4.6 C51初步应用 65
4.7 小结 68
习题 68
第5章 单片机的中断系统 69
5.1 中断概述 69
5.2 中断控制系统 70
5.2.1 中断源 70
5.2.2 中断控制寄存器 70
5.3 中断处理过程 73
5.4 中断的编程和应用举例 74
5.5 小结 78
习题 79
第6章 定时器/计数器 80
6.1 定时器/计数器的结构和工作原理 80
6.1.1 定时器/计数器的基本结构 80
6.1.2 定时器/计数器的工作原理 80
6.2 定时器/计数器的控制 81
6.3 定时器/计数器的工作方式 82
6.4 定时器/计数器T2介绍 85
6.4.1 定时器/计数器T2的寄存器 85
6.4.2 T2的工作方式 86
6.5 定时器/计数器的初始化 88
6.6 定时器/计数器的应用例程 89
6.7 小结 96
习题 96
第7章 串行通信接口 98
7.1 串行通信的分类 98
7.2 串行接口寄存器 99
7.2.1 串行口内部结构 99
7.2.2 串行口控制寄存器 100
7.3 串行口的工作方式 102
7.4 RS-232标准及其应用 102
7.5 单片机串行通信电路 104
7.6 串行口应用实例 105
7.7 小结 113
习题 114
第8章 A-D和D-A转换器接口 115
8.1 D-A转换 115
8.1.1 D-A转换器简介 115
8.1.2 DAC0832的工作原理 115
8.1.3 DAC的主要性能指标 117
8.1.4 DAC0832与51单片机的接口 117
8.2 A-D转换与ADC0809应用 119
8.2.1 逐次逼近式模数转换器的工作原理 120
8.2.2 A-D转换器的主要性能指标 120
8.2.3 DAC0809与51单片机的接口 121
8.3 小结 123
习题 123
第9章 单片机C程序软件架构设计与程序优化 124
9.1 模块化的程序设计 124
9.1.1 模块化概念 124
9.1.2 头文件的建立 126
9.2 程序优化 128
9.2.1 单片机中的C语言预处理命令的应用 128
9.2.2 常用程序优化方法 129
9.3 重要的关键字 133
9.3.1 static 133
9.3.2 volatile 134
9.3.3 extern 136
9.3.4 const 136
第10章 多功能显示仪项目开发实践 137
10.1 多功能显示仪项目构建 137
10.1.1 项目简介 137
10.1.2 硬件设计 137
10.2 矩阵键盘 141
10.2.1 线反转法与扫描法 141
10.2.2 综合显示仪键盘程序 143
10.3 SG12864-12带汉字库液晶 147
10.3.1 SG12864-12带汉字库液晶基础知识 147
10.3.2 多功能显示仪液晶显示程序 152
10.4 I2C总线AT24C02设计 158
10.4.1 I2C总线 158
10.4.2 AT24C02基础知识 161
10.4.3 多功能显示仪AT24C02程序 163
10.5 SPI总线DS1302实时时钟设计 167
10.5.1 SPI总线基础知识 167
10.5.2 DS1302实时时钟 170
10.5.3 多功能显示仪DS1302程序 172
10.6 1-Wire单总线DS18B20测温设计 180
10.6.1 1-Wire单总线概述 180
10.6.2 DS18B20芯片介绍 181
10.6.3 多功能显示仪DS18B20程序 184
10.7 GPS接收模块设计 188
10.7.1 基础知识 188
10.7.2 多功能显示仪GPS程序 190
10.8 小结 194
参考文献 195