第1章 绪论 1
1.1 单片机的发展概况 1
1.1.1 单片机的发展历史 1
1.1.2 单片嵌入式系统 2
1.2 单片机的应用及发展趋势 3
1.2.1 单片机应用系统结构 3
1.2.2 单片嵌入式系统的应用领域 4
1.2.3 单片机的发展趋势 5
1.3 SoC单片机简介 7
1.3.1 C8051F系列单片机简介 7
1.3.2 C8051F系列单片机的特点 7
1.3.3 C8051F系列单片机的应用 9
1.4 思考与练习 9
第2章 标准单片机硬件结构与指令系统 11
2.1 标准51单片机的基本结构及信号引脚 11
2.1.1 标准51单片机的基本结构 11
2.1.2 标准51单片机的内部结构 12
2.1.3 标准51单片机的引脚及其功能 14
2.2 标准51单片机的存储器结构 15
2.2.1 标准51单片机的数据存储器 16
2.2.2 标准51单片机的程序存储器 18
2.2.3 标准51单片机的特殊功能寄存器 19
2.3 标准51单片机并行输入/输出口电路结构 21
2.3.1 标准51单片机的P1接口、P3接口的结构 21
2.3.2 标准51单片机的P0接口、P2接口的结构 23
2.3.3 标准51单片机并行接口的负载能力 24
2.4 标准51单片机指令系统和寻址方式 24
2.4.1 标准51单片机指令格式及常用符号 25
2.4.2 标准51单片机的寻址方式 27
2.5 标准51单片机指令分类介绍 30
2.5.1 数据传送类指令(30条) 31
2.5.2 算术运算类指令(24条) 35
2.5.3 逻辑运算与循环类指令(25条) 39
2.5.4 控制转移类指令(22条) 42
2.5.5 标准51单片机指令长度和周期数规律归纳 45
2.6 标准51单片机汇编语言程序设计举例 46
2.6.1 程序编制的方法和技巧 46
2.6.2 源程序的编制 49
2.6.3 基本程序结构 51
2.6.4 简单程序举例 56
2.7 思考与练习 57
第3章 单片机C51语言程序设计基础 60
3.1 C51语言程序设计概述 60
3.1.1 C51与汇编语言的区别 60
3.1.2 C51程序设计基础 62
3.2 C51程序设计实例解析 70
3.2.1 基于C51的程序设计 70
3.2.2 C51程序设计与汇编语言程序设计的比较 71
3.3 Keil C51集成开发环境简介 76
3.4 思考与练习 84
第4章 标准51单片机的中断与定时 87
4.1 输入输出的基本概念 87
4.1.1 输入输出接口 87
4.1.2 输入输出方式 88
4.2 标准51单片机中断系统 92
4.2.1 标准51单片机中断源 93
4.2.2 标准51单片机中断控制 93
4.2.3 标准51单片机中断响应及中断处理过程 97
4.3 标准51单片机的定时器/计数器 104
4.3.1 标准51单片机定时器的控制 105
4.3.2 标准51单片机定时器的4种模式及其应用 107
4.4 定时器/计数器与中断应用举例 111
4.5 思考与练习 116
第5章 标准51单片机串行通信 118
5.1 串行口结构与工作原理 118
5.1.1 并行和串行通信 118
5.1.2 串行通信的波特率 119
5.1.3 标准51单片机的串行接口 119
5.2 串行通信工作方式 122
5.2.1 串行口方式0 122
5.2.2 串行口方式1 123
5.2.3 串行口方式2和方式3 123
5.2.4 波特率设定 124
5.3 串行口应用举例 125
5.3.1 双机通信硬件电路 125
5.3.2 PC和单片机之间的通信 132
5.4 本章小结 136
5.5 思考与练习 136
第6章 C8051F410单片机的结构与原理 137
6.1 C8051F410单片机系统结构 137
6.1.1 系统概述 137
6.1.2 系统内部结构 139
6.1.3 系统引脚 142
6.2 C8051F410存储器组织 145
6.3 C8051F410端口输入/输出 151
6.3.1 端口输入/输出 151
6.3.2 优先权交叉开关译码器 152
6.3.3 端口I/O初始化 154
6.3.4 通用端口I/O 157
6.4 C8051F410中断系统 163
6.4.1 C8051F410中断系统概述 163
6.4.2 中断寄存器说明 165
6.4.3 外部中断 169
6.5 复位与时钟 171
6.5.1 复位源 171
6.5.2 上电复位 172
6.5.3 掉电复位和VDD监视器 172
6.5.4 外部复位 173
6.5.5 时钟丢失检测器复位 173
6.5.6 比较器0复位 174
6.5.7 PCA看门狗定时器复位 174
6.5.8 FLASH错误复位 174
6.5.9 smaRTClock(实时时钟)复位 174
6.5.10 软件复位 175
6.6 电源管理方式 175
6.6.1 空闲方式 175
6.6.2 停机方式 175
6.6.3 挂起方式 176
6.7 思考与练习 176
第7章 C8051F41x片内定时器/计数器 177
7.1 定时器0和定时器1 177
7.2 定时器2 183
7.3 定时器3 187
7.4 可编程计数器阵列 191
7.4.1 PCA计数器/定时器 192
7.4.2 捕捉/比较模块 192
7.5 看门狗定时器方式 198
7.5.1 看门狗定时器操作 198
7.5.2 看门狗定时器使用 199
7.6 思考与练习 204
第8章 模数和数模转换 205
8.1 电压基准 205
8.2 模数转换器ADC 207
8.2.1 12位ADC结构 207
8.2.2 ADC工作方式 208
8.2.3 可编程窗口检测器 211
8.2.4 ADC相关的I/O寄存器 213
8.2.5 ADC应用设计 216
8.2.6 ADC应用设计的深入讨论 219
8.3 数模转换器DAC 219
8.3.1 12位IDAC结构 219
8.3.2 IDA0输出更新 220
8.3.3 IDAC输出字格式 221
8.3.4 IDAC相关的I/O寄存器 221
8.3.5 DAC的应用设计 223
8.4 思考与练习 225
第9章 综合应用 226
9.1 数控交流稳压电源简介 226
9.2 硬件电路设计 226
9.2.1 单片机最小系统 226
9.2.2 降压模块 228
9.2.3 键盘模块 228
9.2.4 显示模块 228
9.2.5 直流电机驱动模块 229
9.3 软件程序设计 229
9.3.1 变量声明和初始化设置 229
9.3.2 主程序设计 233
9.3.3 定时器中断任务程序设计 233
9.3.4 A/D中断任务程序设计 234
9.3.5 显示任务程序设计 235
9.3.6 按键任务程序设计 236
9.3.7 电机任务程序设计 238
附录 80C51单片机指令速查表 240
参考文献 244