单元1 单片机系统设计概述 1
【学习目标】 1
【技能(知识)点】 1
1.1 单片机概述——初识单片机 1
1.1.1 单片机的定义及其特点 1
1.1.2 单片机的发展历史 2
1.1.3 单片机的发展趋势 3
1.1.4 单片机的应用领域 4
1.1.5 单片机的主要系列与区别 4
1.2 单片机开发系统概述——掌握单片机开发工具 7
1.2.1 单片机开发系统概述 7
1.2.2 软件开发工具Keil uVision3简介 8
1.2.3 Keil uVision3的使用方法 8
1.2.4 仿真开发工具PROTEUS ISIS简介 19
1.2.5 PROTEUS ISIS的使用方法 21
1.2.6 目标代码下载与调试方法 23
1.3 单片机应用系统设计——让单片机动起来 25
1.3.1 单片机应用系统的组成 25
1.3.2 单片机应用系统的设计原则 26
1.3.3 单片机应用系统的设计方法 27
1.3.4 单片机应用系统的调试方法 29
1.3.5 项目1——单个信号灯控制器设计 30
【单元小结】 34
【巩固与提高】 34
单元2 单片机内部结构和工作原理 36
【学习目标】 36
【技能(知识)点】 36
2.1 单片机的硬件结构——简易彩灯控制器硬件设计 36
2.1.1 单片机的功能特点 36
2.1.2 单片机的内部结构 37
2.1.3 单片机的引脚概述 39
2.1.4 最小系统硬件电路结构 41
2.1.5 单片机的工作时序 43
2.1.6 并行I/O端口 44
2.1.7 发光二极管的基本知识 47
2.1.8 按键的基本知识 48
2.1.9 项目2——简易彩灯控制器硬件设计 48
2.2 单片机的存储器结构——简易彩灯控制器软件设计 50
2.2.1 AT89S51单片机存储器的组织形式 50
2.2.2 程序存储器(ROM) 51
2.2.3 片内数据存储器(片内RAM) 52
2.2.4 片外数据存储器(片外RAM) 58
2.2.5 项目3——简易彩灯控制器软件设计 58
【单元小结】 61
【巩固与提高】 62
单元3 单片机指令系统及汇编语言程序设计 64
【学习目标】 64
【技能(知识)点】 64
3.1 单片机顺序结构程序设计——简易加法运算器设计 65
3.1.1 程序设计的基本概念 65
3.1.2 MCS-51单片机指令系统概述 67
3.1.3 寻址方式 68
3.1.4 数据传送类指令(29条) 72
3.1.5 算术运算类指令(24条) 78
3.1.6 顺序结构程序设计 82
3.1.7 项目4——简易加法运算器设计 83
3.2 单片机分支结构程序设计——多路信号灯控制器设计 86
3.2.1 控制转移类指令(17条) 86
3.2.2 位操作类指令(17条) 91
3.2.3 分支结构程序设计 94
3.2.4 项目5——多路信号灯控制器设计 96
3.3 单片机循环结构程序设计——跑马灯控制器设计 100
3.3.1 逻辑运算类指令(24条) 100
3.3.2 循环结构程序设计 102
3.3.3 项目6——跑马灯控制器设计 106
3.4 单片机查表程序设计——LED数码管显示器设计 110
3.4.1 LED数码管结构与工作原理 110
3.4.2 常用伪指令 111
3.4.3 查表程序设计 113
3.4.4 项目7——LED数码管显示器设计 114
3.5 单片机子程序设计——简单交通灯控制器设计 118
3.5.1 子程序设计 118
3.5.2 常用子程序 120
3.5.3 项目8——简单交通灯控制器设计 122
【单元小结】 130
【巩固与提高】 130
单元4 单片机内部资源的应用 138
【学习目标】 138
【技能(知识)点】 138
4.1 单片机中断系统——带应急信号处理的交通灯控制器设计 138
4.1.1 中断的概述 138
4.1.2 中断系统结构与控制 139
4.1.3 中断处理过程 143
4.1.4 中断系统的应用 145
4.1.5 项目9——带应急信号处理的交通灯控制器设计 146
4.2 单片机定时/计数器——定时器应用设计 153
4.2.1 定时/计数器的结构和工作原理 153
4.2.2 定时/计数器的控制 155
4.2.3 定时/计数器的初始化 156
4.2.4 定时/计数器的工作方式 156
4.2.5 定时/计数器的应用 159
4.2.6 项目10——电子秒表设计 161
4.2.7 项目11——音乐播放器设计 166
4.2.8 项目12——简易频率计设计 174
4.2.9 项目13——脉宽调制(PWM)器设计 178
4.3 单片机串行通信——串行通信应用设计 182
4.3.1 串行通信的基本知识 182
4.3.2 MCS-51单片机的串口及控制寄存器 187
4.3.3 串行口的工作方式 188
4.3.4 串行通信的波特率 189
4.3.5 串行口的初始化 190
4.3.6 项目14——单片机双机通信设计 191
4.3.7 项目15——PC机与单片机通信设计 196
【单元小结】 201
【巩固与提高】 203
单元5 单片机系统扩展接口电路设计 205
【学习目标】 205
【技能(知识)点】 205
5.1 单片机系统扩展——存储器扩展电路设计 205
5.1.1 MCS-51单片机系统扩展 205
5.1.2 单片机系统的片选方法 209
5.1.3 程序存储器 211
5.1.4 程序存储器的扩展原理 214
5.1.5 数据存储器 218
5.1.6 数据存储器的扩展原理 220
5.1.7 项目16——存储器扩展电路设计 221
5.2 单片机I/O端口扩展——I/O接口电路设计 227
5.2.1 单片机并行I/O接口概述 227
5.2.2 用TTL或CMOS芯片扩展并行I/O接口原理 228
5.2.3 用串行口扩展并行I/O接口原理 231
5.2.4 用可编程芯片扩展并行I/O接口原理 234
5.2.5 项目17——并行I/O接口扩展电路设计 241
【单元小结】 246
【巩固与提高】 248
单元6 单片机键盘与显示器接口电路设计 249
【学习目标】 249
【技能(知识)点】 249
6.1 单片机LED显示接口——简易电子钟设计 250
6.1.1 LED显示器的结构与原理 250
6.1.2 LED显示器的显示方式 250
6.1.3 MCS-51单片机与LED显示器的接口设计 251
6.1.4 项目18——简易电子钟设计 255
6.2 单片机键盘接口——多功能数字电子钟设计 265
6.2.1 键盘的结构和工作原理 265
6.2.2 MCS-51单片机与键盘的接口设计 267
6.2.3 项目19——多功能数字电子钟设计 271
【单元小结】 285
【巩固与提高】 286
单元7 单片机A/D与D/A接口电路设计 287
【学习目标】 287
【技能(知识)点】 287
7.1 单片机A/D转换接口——电压报警器设计 287
7.1.1 A/D转换芯片的结构与工作原理 287
7.1.2 MCS-51单片机与ADC0809的接口设计 290
7.1.3 项目20——电压报警器设计 294
7.2 单片机D/A转换接口——简易波形发生器设计 302
7.2.1 D/A转换芯片的结构与工作原理 302
7.2.2 MCS-51单片机与DAC0832的接口设计 305
7.2.3 项目21——简易波形发生器设计 308
【单元小结】 319
【巩固与提高】 320
单元8 单片机应用系统开发与设计 321
【学习目标】 321
【技能(知识)点】 321
8.1 单片机应用系统结构设计——单片机的选型 321
8.1.1 单片机发展的新技术 322
8.1.2 单片机的分类及主要生产厂商 324
8.1.3 单片机的选型分析 326
8.2 单片机应用系统硬件设计——自己动手做开发板 330
8.2.1 单片机开发板功能简介 330
8.2.2 单片机开发板实验项目 330
8.2.3 单片机开发板设计 331
8.2.4 单片机开发板制作 335
8.3 单片机应用系统设计案例——数字温度报警器 338
8.3.1 数字温度报警器结构设计 338
8.3.2 数字温度报警器硬件设计 339
8.3.3 数字温度报警器软件设计 344
8.3.4 数字温度报警器虚拟仿真调试 348
8.3.5 数字温度报警器硬件制作与调试 349
附录A:MCS-51系列单片机指令表 352
附录B:ASCII码字符表 358
参考文献 359