项目一 单片机介绍 1
1.1 任务一:认识单片机 1
1.1.1 单片机的基本概念 1
1.1.2 单片机的应用领域 2
1.1.3 单片机的种类 3
1.1.4 单片机的选择 5
1.1.5 MCS-51单片机识读 5
1.1.6 单片机最小系统的组成 9
1.2 任务二:Keil开发软件的使用 12
1.2.1 Keil软件安装 12
1.2.2 Keil基本情况介绍 14
1.2.3 Keil软件的使用 17
1.3 任务三:Proteus仿真软件的使用 24
1.3.1 Proteus软件安装 24
1.3.2 Proteus软件的使用 27
项目二 输入/输出功能 38
2.1 任务一:输出功能——点亮LED灯 38
2.1.1 LED灯介绍 38
2.1.2 任务实施 39
2.2 任务二:输入功能——按键检测 45
2.2.1 键盘介绍 45
2.2.2 MCS-51单片机并行I/O接口结构 46
2.2.3 独立按键扫描 49
2.2.4 任务实施 51
项目三 数码管基础与矩阵键盘扫描 53
3.1 任务一:认识数码管 53
3.1.1 数码管的基本介绍 53
3.1.2 数码管真值表 54
3.1.3 数码管的静态显示 56
3.2 任务二:矩阵键盘扫描 58
3.2.1 结构和工作原理 58
3.2.2 软件设计思路 59
3.2.3 任务实施 60
项目四 定时器与数码管动态显示 63
4.1 任务一:定时器的使用 63
4.1.1 定时器的初步认识 63
4.1.2 定时器的寄存器 64
4.1.3 定时器初始化 67
4.1.4 定时器中断 68
4.1.5 定时器的应用 73
4.2 任务二:数码管动态显示 75
4.2.1 动态显示的基本原理 75
4.2.2 数码管动态显示应用 75
项目五 外部中断与串行通信 80
5.1 任务一:STC89C52外部中断 80
5.1.1 外部中断触发电路 80
5.1.2 外部中断初始化 81
5.1.3 外部中断的应用 82
5.2 任务二:串行通信 84
5.2.1 串行口介绍 84
5.2.2 串行口初始化 89
5.2.3 串口助手使用说明 90
5.2.4 串行数据发送 91
5.2.5 串行数据接收 93
项目六 LCD1602显示原理及实现 95
6.1 任务一:了解液晶显示器 95
6.1.1 1602字符型液晶显示模块的基本组成 95
6.1.2 LCD1602字符型液晶显示器引脚及功能 96
6.1.3 LCD指令码工作说明 97
6.1.4 LCD控制器接口时序说明 101
6.1.5 LCD初始化设置 103
6.1.6 LCD1602简单实例 103
6.2 任务二:LCD显示时钟 106
项目七 I2C总线与EEPROM 110
7.1 任务一:认识I2C总线 110
7.1.1 I2C总线内部结构 110
7.1.2 I2C时序 111
7.1.3 I2C数据传输格式 111
7.1.4 I2C寻址模式 112
7.2 任务二:学习EEPROM 118
7.2.1 EEPROM读写操作时序 118
7.2.2 EEPROM跨页写操作时序 119
7.3 任务三:设计计数器 119
项目八 温度传感器DS18B20与蜂鸣器 125
8.1 任务一:了解温度传感器DS18B20 125
8.1.1 温度传感器DS18B20特性 125
8.1.2 应用范围 126
8.1.3 温度传感器DS18B20引脚定义 126
8.1.4 温度传感器DS18B20工作原理 126
8.2 任务二:了解蜂鸣器 131
8.3 任务三:制作温度报警器 132
项目九 A/D与D/A转换 137
9.1 任务一:了解A/D转换 137
9.1.1 A/D的主要指标 137
9.1.2 PCF8591的硬件接口 138
9.1.3 PCF8591的软件编程 139
9.1.4 任务实施 140
9.2 任务二:了解D/A转换 143
项目十 实时时钟DS1302 146
10.1 任务一:了解DS1302 146
10.1.1 DS1302的特点 146
10.1.2 DS1302的硬件电路 147
10.1.3 DS1302寄存器介绍 149
10.1.4 DS1302通信时序介绍 150
10.2 任务二:设计具有闹钟功能的高精度时钟 151
项目十一 红外与步进电机 170
11.1 任务一:了解红外遥控器 170
11.1.1 红外光的基本原理 170
11.1.2 红外遥控通信原理 170
11.1.3 NEC协议(红外遥控器) 172
11.2 任务二:认识28BYJ-48型步进电机 177
11.2.1 步进电机的分类 177
11.2.2 让电机转起来 179
11.3 任务三:用红外遥控器控制步进电机正反转 182
附录A ASCII码字符表 187
附录B 单片机C语言基础 191
附录C 单片机C语言技术规范 214
参考文献 230