第1章 概述 1
1.1 单片机的概念 1
1.2 单片机内部的主要结构 2
1.3 ADμC841单片机简介 3
1.4 本课程的学习方法和要求 9
思考题与习题 9
第2章 实验板简介 10
2.1 实验板的电路原理 10
2.2 初步认识实验板 20
思考题与习题 22
第3章 开发工具与集成开发环境 23
3.1 单片机开发工具 23
3.2.2 Keil C51 μVision2的安装 26
3.2.1 简介 26
3.2 单片机通用集成开发环境Keil C51 μVision2 26
3.2.3 Keil C51 μVision2的设置 28
3.3 Keil C51 μVision2的使用 33
3.3.1 单片机的仿真过程 33
3.3.2 MON51仿真器的特点 33
3.3.3 第一个实验 34
3.4 ADμC系列单片机的专用开发工具 40
3.4.1 专用开发工具的安装 40
3.4.2 编译器ASM51的使用 41
3.4.3 串行下载器WSD 42
3.4.4 ADμC系列单片机的专用开发环境Aspire 44
3.4.5 AD输入分析工具WASP 55
思考题与习题 59
4.1.1 存储器类型 60
第4章 片内存储器与数据传送指令 60
4.1 片内存储器组织结构 60
4.1.2 存储器组织 61
4.2 数据传送指令 68
4.3 数据传送指令说明 72
4.4 若干数据传送实验 78
思考题与习题 84
第5章 并行输入/输出端口与总线 87
5.1 并行I/O口 87
5.1.1 P0口 87
5.1.2 P1口 89
5.1.3 P2口 90
5.1.4 P3口 92
5.1.5 端口的负载能力与接口要求 93
5.2 访问外部数据存储器 94
5.3 访问外部存储器的实验 96
思考题与习题 99
第6章 时钟、时序与定时器/计数器 100
6.1 振荡器、PLL电路和CPU时序 100
6.1.1 振荡器 100
6.1.2 PLL电路 101
6.2 定时器/计数器 102
6.2.1 定时器/计数器0和1 102
6.2.2 定时器/计数器2 105
6.2.3 定时器/计数器3与波特率发生器 108
6.2.4 时间间隔计数器 111
6.2.5 看门狗定时器 113
6.2.6 若干有关定时器/计数器的控制和状态寄存器 114
6.3 时钟与定时器/计数器实验 117
思考题与习题 130
第7章 复位、中断与程序控制 132
7.1 复位 132
7.1.1 复位的意义 132
7.1.2 复位电路 132
7.1.3 单片机复位后的状态 134
7.2 程序控制 135
7.3 程序流向控制指令 135
7.4 中断 144
7.4.1 中断源 144
7.4.2 中断控制寄存器 145
7.4.4 中断服务程序入口地址 148
7.4.3 中断优先级结构 148
思考题与习题 155
第8章 串行接口 156
8.1 标准UART操作 156
8.2 多机通信 157
8.3 串行端口控制寄存器SCON 158
8.4 波特率 159
8.5 UART的工作模式 160
8.6 SPI串口 173
8.7 I2C兼容串口 176
思考题与习题 180
第9章 模拟接口 181
9.1 ADμC841片上ADC 181
9.2 DAC 198
9.3 脉宽调制器 206
思考题与习题 216
第10章 指令系统与系统编程 217
10.1 指令系统的分类及一般说明 217
10.2 算术操作类指令 218
10.3 逻辑操作及移位类指令 228
10.4 布尔变量操作(位操作)类指令 233
10.5 伪指令 241
10.6 汇编语言程序的基本结构 244
10.7 系统编程的步骤、方法和技巧 245
思考题与习题 250
第11章 单片机应用系统设计 251
11.1 概述 251
11.1.1 资源冗余与成本控制 251
11.1.2 硬件处理与软件处理 252
11.1.3 嵌入式实时操作系统与开发用软件 253
11.1.4 不要忽略电磁兼容性问题 259
11.1.5 系统的电源设计是一个重要问题 260
11.2 方案认证与硬件系统设计 261
11.3 系统软件设计 265
11.3.1 软件框图 265
11.3.2 软件设计的重要提示 266
11.4 系统仿真调试设计 268
思考题与习题 268
附录A 标准8051单片机指令说明 270
附录B 部分新型8051兼容单片机性能速查表 297
附录C 8051单片机指令速查表 327
参考文献 332