项目1 单片机控制的LED流水灯的设计和制作 1
任务1.1 初识单片机 1
1.1.1 什么是单片机 1
1.1.2 单片机的应用形式 2
1.1.3 单片机的发展历程 2
1.1.4 单片机的主要产品种类 4
1.1.5 单片机的应用领域 7
任务1.2 了解单片机中的数制与码制 8
1.2.1 数制 8
1.2.2 各种数制间的转换 9
1.2.3 计算机中数的表示 10
1.2.4 常用二进制编码 11
任务1.3 学习MCS-51单片机的内部配置和引脚功能 12
1.3.1 MCS-51单片机的内部结构及工作原理 13
1.3.2 MCS-51单片机的引脚功能 16
1.3.3 MCS-51单片机的存储器结构 20
1.3.4 单片机最小系统的概念 25
任务1.4 了解单片机的开发环境 28
1.4.1 WAVE6000软件使用简介 28
1.4.2 KEIL μVision4软件使用简介 31
1.4.3 Proteus 7.8软件简介 37
任务1.5 学习单片机C51编程 48
1.5.1 C51的数据结构 48
1.5.2 C51的运算符 52
1.5.3 一个完整的C51程序结构 53
1.5.4 C51的应用举例? 55
任务1.6 8位LED流水灯的控制设计与仿真 57
1.6.1 硬件介绍 57
1.6.2 程序的编制 58
1.6.3 综合仿真调试 59
思考与练习 59
项目2 单片机控制的数码管电子时钟的设计与制作 61
任务2.1 学习单片机汇编语言 61
2.1.1 汇编语言的特点 61
2.1.2 汇编语言的语句和指令 61
2.1.3 MCS-51单片机指令简介及指令中符号的含义 62
2.1.4 寻址方式 63
任务2.2 学习MCS-51单片机指令系统 66
2.2.1 数据传送类指令 66
2.2.2 算术运算指令 70
2.2.3 逻辑运算与移位类指令 73
2.2.4 控制转移类指令 75
2.2.5 位操作指令 79
任务2.3 学习汇编语言程序设计 81
2.3.1 软件编程的步骤和方法 81
2.3.2 汇编语言源程序的汇编 82
2.3.3 汇编语言编程实例 85
任务2.4 学习MCS-51单片机中断系统 88
2.4.1 中断的基本概念 88
2.4.2 引入中断技术的优点 89
2.4.3 中断系统应有的功能 90
2.4.4 中断请求标志 90
2.4.5 中断允许控制 91
2.4.6 中断优先级的设定 92
2.4.7 中断处理过程分析 93
2.4.8 中断技术应用 96
任务2.5 学习MCS-51单片机定时器/计数器 99
2.5.1 定时器/计数器的结构和工作原理 99
2.5.2 定时器/计数器的四种工作方式分析 103
2.5.3 定时器/计数器的应用 104
任务2.6 认识LED数码管显示器 111
2.6.1 LED数码管显示器的内部结构和显示原理 111
2.6.2 LED显示方式 112
2.6.3 MCS-51和八段数码管显示器的接口设计 114
任务2.7 8位数字时钟的设计与仿真 116
2.7.1 硬件电路设计 116
2.7.2 程序设计 116
2.7.3 综合调试 122
思考与练习 122
项目3 可调控的走马灯的设计与制作 124
任务3.1 学习键盘接口技术 124
3.1.1 独立式键盘应用 124
3.1.2 按键的消抖处理 126
3.1.3 行列式键盘应用 128
任务3.2 可以调控的走马灯的设计与仿真 131
3.2.1 硬件电路设计 131
3.2.2 程序编制 131
3.2.3 综合仿真调试 135
思考与练习 135
项目4 单片机控制的点阵显示屏的设计与制作 136
任务4.1 LED点阵显示器介绍 136
4.1.1 LED点阵显示器的结构和原理 136
4.1.2 MCS-51单片机和LED点阵显示器的接口设计 138
任务4.2 单片机控制的点阵显示屏的设计与仿真 140
4.2.1 硬件电路设计 140
4.2.2 程序编制 143
4.2.3 综合仿真调试 145
思考与练习 145
项目5 用LCD1602与DS18B20设计数字温度计 146
任务5.1 学习LCD1602的原理与接口 146
5.1.1 LCD1602的内部结构 146
5.1.2 LCD1602的控制命令 149
5.1.3 MCS-51与LCD1602的接口技术 150
任务5.2 1-wire总线技术与DS18B20的应用 157
5.2.1 1-wire总线技术简介 157
5.2.2 DS18B20简介 162
任务5.3 数字温度计设计与仿真 166
5.3.1 硬件电路设计 166
5.3.2 程序编制 166
5.3.3 综合仿真调试 174
思考与练习 175
项目6 用24C02与LED数码管设计电子密码锁 176
任务6.1 学习I2C总线扩展 176
6.1.1 I2C总线基础知识 176
6.1.2 串行EEPROM 24C02扩展 177
任务6.2 电子密码锁设计与仿真 182
6.2.1 硬件电路设计 182
6.2.2 程序编制 183
6.2.3 综合仿真调试 192
思考与练习 192
项目7 单片机控制的波形发生器的设计与制作 193
任务7.1 了解D-A转换器原理及指标 193
7.1.1 D-A转换器的原理 193
7.1.2 D-A转换器的性能指标 194
7.1.3 典型的D-A转换器芯片DAC0832 195
任务7.2 学习单片机与D-A转换器的接口应用 197
7.2.1 单片机与并行8位DAC的接口应用 197
7.2.2 单片机与并行12位DAC的接口方法 200
7.2.3 单片机与串行DAC接口 202
任务7.3 了解A-D转换器原理及指标 208
7.3.1 逐次逼近式A-D转换器的原理分析 208
7.3.2 A-D转换器的性能指标 209
7.3.3 典型的A-D转换器芯片ADC0809 209
任务7.4 学习单片机与A-D转换器的接口应用 210
7.4.1 单片机与并行8位A-D转换器的接口应用 210
7.4.2 单片机与串行8位A-D转换器的接口应用 212
任务7.5 波形发生器的设计与仿真 216
7.5.1 硬件电路设计 216
7.5.2 典型波形分析 217
7.5.3 程序设计 220
7.5.4 综合仿真调试 221
思考与练习 221
项目8 单片机交通灯远程控制系统的设计与制作 222
任务8.1 认识串行通信接口 222
8.1.1 串行通信基础知识 222
8.1.2 AT89S51单片机串行口 224
8.1.3 串行通信的电平转换 227
8.1.4 串行口应用 228
任务8.2 单片机交通灯远程控制系统的设计与仿真 232
8.2.1 硬件电路设计 232
8.2.2 虚拟串口驱动软件及串口调试软件的使用 232
8.2.3 程序设计 234
8.2.4 综合仿真调试 237
思考与练习 238
项目9 基于单片机的直流电动机正反转控制系统的设计与仿真 239
任务9.1 认识步进电动机 239
9.1.1 步进电动机简介 239
9.1.2 步进电动机工作原理 239
任务9.2 直流电动机正反转控制设计与仿真 240
9.2.1 硬件电路设计 240
9.2.2 程序设计 242
9.2.3 综合仿真调试 244
思考与练习 245
项目10 SF6气体密度实时监测系统的设计与仿真 246
任务10.1 学习LCD12864的原理与接口技术 246
10.1.1 LCD12864硬件接口与内部寄存器 246
10.1.2 LCD12864控制器软件接口 250
10.1.3 LCD12864应用实例 252
任务10.2 学习DS1302的原理与接口 256
10.2.1 DS1302硬件原理 256
10.2.2 DS1302软件接口 258
任务10.3 了解SF6密度继电器工作原理 261
10.3.1 SF6密度继电器简介 261
10.3.2 SF6气体密度继电器工作原理 261
任务10.4 单片机系统的抗干扰设计 262
10.4.1 干扰的作用机制 262
10.4.2 抗干扰的硬件措施 263
10.4.3 抗干扰的软件措施 264
任务10.5 SF6气体密度实时监测系统设计 266
10.5.1 系统硬件设计 266
10.5.2 系统软件设计 266
10.5.3 系统调试运行 282
思考与练习 283
附录 284
附录A 单片机及常用接口芯片引脚图 284
附录B MCS-51系列单片机汇编指令表 286
参考文献 289