第1章 嵌入式系统概述 1
1.1 生活中的嵌入式系统 1
1.2 嵌入式系统的定义及特点 2
1.2.1 嵌入式系统的定义 2
1.2.2 嵌入式系统的特点 2
1.2.3 嵌入式系统与通用计算机系统的区别 3
1.3 嵌入式系统的基本结构 4
1.3.1 嵌入式系统的硬件组成 4
1.3.2 嵌入式系统的软件 6
1.3.3 嵌入式软件系统的设计方法 8
1.3.4 嵌入式系统的开发模式 11
1.3.5 嵌入式项目开发流程 11
1.4 嵌入式系统的发展 12
1.4.1 嵌入式系统的历史 12
1.4.2 嵌入式系统的发展现状 13
1.4.3 嵌入式系统的发展趋势 13
1.5 小结 14
第2章 嵌入式系统硬件基础 15
2.1 嵌入式系统硬件的基本概念 15
2.1.1 精简指令集RISC和复杂指令集CISC 15
2.1.2 冯·诺依曼体系结构和哈佛体系结构 16
2.1.3 流水线技术 18
2.2 嵌入式系统基本硬件组件 19
2.2.1 嵌入式处理器 19
2.2.2 存储器 23
2.2.3 输入设备 25
2.2.4 输出设备 26
2.3 小结 26
第3章 MCS-51单片机原理(一) 27
3.1 MCS-51系列单片机概述 27
3.1.1 什么是单片机 27
3.1.2 单片机的发展历史 27
3.1.3 单片机的应用领域 28
3.1.4 单片机的发展方向 28
3.2 MCS-51系列单片机总体结构 29
3.2.1 MCS-51单片机基本结构 29
3.2.2 MCS-51单片机的分类 30
3.3 89C51单片机的内部架构 30
3.3.1 89C51单片机的内部结构 30
3.3.2 89C51中央处理单元(CPU) 31
3.3.3 89C51存储器 31
3.3.4 89C51 I/O 31
3.3.5 89C51单片机的运算器 31
3.3.6 89C51单片机的控制器 37
3.3.7 89C51单片机的存储器 37
3.4 小结 43
第4章 MCS-51单片机原理(二) 44
4.1 MCS-51单片机的结构及引脚功能 44
4.1.1 电源、地引脚 45
4.1.2 外接晶体引脚 45
4.1.3 控制信号引脚 45
4.1.4 输入/输出端口 46
4.2 并行输入/输出电路结构 46
4.2.1 单片机并行输入/输出电路的特点 46
4.2.2 P0口 47
4.2.3 P1口 48
4.2.4 P2口 48
4.2.5 P3口 49
4.3 单片机最小系统的搭建 49
4.3.1 什么是单片机最小系统 49
4.3.2 单片机引脚知识点回顾 50
4.3.3 单片机最小系统 51
4.3.4 最小系统举例 52
4.4 单片机时序的概念 53
4.5 89C51单片机工作方式 54
4.5.1 复位电路与复位方式 54
4.5.2 程序运行方式 55
4.6 单片机开发环境KeilμVision 55
4.6.1 KeilμVision简介 55
4.6.2 KeilμVision应用流程 55
4.6.3 KeilμVision集成开发平台介绍 56
4.7 小结 57
第5章 MCS-51单片机原理(三) 58
5.1 C语言与MCS-51单片机 58
5.1.1 C语言的特点 58
5.1.2 C语言的程序结构 58
5.1.3 单片机C语言与汇编语言比较 60
5.1.4 C51与标准C语言的比较 60
5.2 C51的数据类型 61
5.2.1 字符型char 61
5.2.2 int整型 61
5.2.3 特殊功能寄存器型 61
5.2.4 位类型 62
5.2.5 数据类型的隐式转换 63
5.2.6 C51数据类型小结 63
5.3 C51的运算量 64
5.3.1 常量 64
5.3.2 变量 65
5.4 存储模式 68
5.5 绝对地址的访问 68
5.5.1 使用C51运行库中预定义宏 68
5.5.2 通过指针访问 70
5.5.3 使用C51扩展关键字at 70
5.6 C51的运算符及表达式 71
5.6.1 赋值运算符 71
5.6.2 算术运算符 72
5.6.3 关系运算符 72
5.6.4 逻辑运算符 72
5.6.5 位运算符 73
5.6.6 复合赋值运算符 73
5.6.7 逗号运算符 74
5.6.8 条件运算符 74
5.6.9 指针与地址运算符 74
5.7 表达式语句及复合语句 74
5.7.1 表达式语句 74
5.7.2 复合语句 75
5.8 小结 76
第6章 MCS-51单片机原理(四) 77
6.1 C51的输入/输出 77
6.1.1 格式输出函数printf 77
6.1.2 格式输入函数scanf 82
6.2 C51程序基本结构与相关语句 87
6.2.1 C51的基本结构 87
6.2.2 If语句 88
6.2.3 switch/case语句 89
6.2.4 while语句 89
6.2.5 do while语句 91
6.2.6 for语句 91
6.2.7 循环的嵌套 92
6.2.8 break和continue语句 93
6.2.9 return语句 94
6.3 单片机仿真环境Proteus 94
6.3.1 Proteus简介 94
6.3.2 Proteus微处理器系统仿真流程 94
6.3.3 Proteus设计方法和步骤 95
6.3.4 Proteus电路绘图工具的使用 96
6.3.5 常用Proteus库元件 97
6.4 Proteus仿真实例 97
6.5 小结 98
第7章 MCS-51单片机原理(五) 99
7.1 什么是中断 99
7.2 为什么需要中断 99
7.3 与中断有关的几个概念 100
7.4 89C51中断系统结构及中断控制 101
7.4.1 89C51中断源 101
7.4.2 89C51中断系统结构 101
7.4.3 中断控制 102
7.4.4 如何应用中断 104
7.5 中断优先级控制 105
7.6 中断扩展 110
7.7 小结 113
第8章 MCS-51单片机原理(六) 114
8.1 单片机定时器/计数器的结构 114
8.2 定时器的控制 115
8.2.1 工作模式寄存器TMOD(Timer Mode) 115
8.2.2 控制器寄存器TCON(Timer Control) 117
8.3 定时器的4种模式及应用 118
8.3.1 模式0及其应用 118
8.3.2 模式1及其应用 123
8.3.3 模式2及其应用 125
8.3.4 模式3简介 127
8.4 定时器应用 128
8.5 小结 132
第9章 常见单片机外设应用初步(一) 133
9.1 七段数码管及其应用 133
9.1.1 七段数码管 133
9.1.2 七段数码管静态显示方式 140
9.1.3 七段数码管动态显示方式 140
9.2 按键及其应用 146
9.2.1 概述 146
9.2.2 按键的消抖 147
9.2.3 独立式非编码键盘 147
9.2.4 矩阵键盘接口及工作原理 149
9.3 小结 153
第10章 常见单片机外设应用初步(二) 154
10.1 液晶显示器概述 154
10.2 1602液晶显示模块概述 154
10.3 1602液晶显示模块引脚定义 156
10.4 1602液晶显示模块和单片机接口 157
10.5 单片机对1602的4种操作模式 157
10.5.1 读操作时序 157
10.5.2 写操作时序 160
10.6 1602液晶内部显示存储器 162
10.7 1602液晶指令 163
10.7.1 显示功能设置 163
10.7.2 显示开关及光标设置 163
10.7.3 清屏 164
10.7.4 设定显示屏或光标移动方向指令 165
10.7.5 AC值控制及屏幕移动设置 166
10.7.6 光标归位指令 167
10.7.7 指令小结及编程技巧 167
10.7.8 综合实验 167
10.8 1602液晶的初始化 167
10.9 1602液晶综合应用 169
10.9.1 LCD显示字符串 169
10.9.2 1602液晶显示时钟 170
10.9.3 1602液晶显示时钟(定时器) 171
10.10 小结 172
第11章 常见单片机外设应用初步(三) 173
11.1 12864液晶模块概述 173
11.1.1 HD61202的特点 174
11.1.2 HD61202的引脚功能 175
11.1.3 HD61202显示RAM地址 176
11.2 12864液晶模块管脚定义 177
11.3 单片机对12864液晶模块的操作时序 178
11.3.1 写操作时序 178
11.3.2 读操作时序 179
11.4 12864液晶模块的指令 180
11.4.1 读状态指令 180
11.4.2 行设置命令 181
11.4.3 页设置命令 182
11.4.4 列地址设置命令 183
11.4.5 显示开/关 185
11.5 12864液晶模块的初始化 185
11.6 12864液晶模块综合应用 185
11.6.1 字模软件 186
11.6.2 12864液晶模块显示数字 186
11.6.3 12864液晶模块显示汉字 188
11.6.4 12864显示图片 189
11.6.5 12864液晶模块的绘图 190
11.7 实验板12864液晶显示 193
11.8 小结 194
第12章 单片机串口通信及应用 195
12.1 串行通信基本概念 195
12.1.1 同步通信方式 195
12.1.2 异步通信方式 196
12.1.3 串行通信的数据传送方式 196
12.1.4 串行通信的奇偶校验 197
12.1.5 异步串行通信的波特率 197
12.1.6 串行接口标准 197
12.2 RS-232C接口 197
12.2.1 接口信号 197
12.2.2 技术指标 199
12.2.3 RS-232的帧结构 199
12.2.4 RS-232的编程和使用 200
12.3 8051单片机串口的编程与应用 200
12.3.1 89C51串行口结构 200
12.3.2 89C51串行口控制字及控制寄存器 200
12.3.3 串行通信工作方式 202
12.4 小结 213
第13章 RTX-51实时多任务操作系统 214
13.1 操作系统基础知识 214
13.1.1 什么是计算机操作系统 214
13.1.2 操作系统的功能 214
13.1.3 进程和线程的基本概念 215
13.1.4 实时系统及实时操作系统 218
13.2 RTX-51实时多任务操作系统概述 219
13.2.1 RTX-51实时多任务系统 219
13.2.2 RTX-51特点 220
13.2.3 RTX-51任务管理 220
13.2.4 RTX-51事件 221
13.2.5 RTX-51 Tiny系统函数 222
13.2.6 RTX-51 Tiny程序设计仿真 230
13.2.7 使用OS编程的优势 239
13.3 小结 239
第14章 单片机IIC和SPI接口及应用 240
14.1 SPI通信接口 240
14.1.1 什么是SPI 240
14.1.2 SPI接口的定义及通信原理 240
14.1.3 DS1302实时时钟及其应用 241
14.2 IIC总线通信接口 245
14.2.1 什么是IIC总线 245
14.2.2 IIC总线的特性 246
14.2.3 IIC总线的基本术语及协议分析 246
14.2.4 24C04基本应用仿真 249
14.3 小结 253
参考文献 254