第1篇 基础认识篇——原来我是个菜鸟第1章 初识单片机——与单片机第一次接触 3
1.1 什么是单片机 3
1.1.1 单片机发展的4个阶段 3
1.1.2 8位单片机的特点 4
1.2 了解单片机 4
1.2.1 8051单片机 5
1.2.2 FREESCALE(飞思卡尔)单片机 6
1.2.3 其他单片机 8
1.3 接触AVR单片机 8
1.3.1 AVR概述 8
1.3.2 AVR的特性 9
1.3.3 AVR的外设 9
1.4 小结 11
第2章 AVR开发利器——菜鸟的装备 12
2.1 ICCAVR——AVR软件开发工具一 12
2.1.1 ICCAVR的简介 12
2.1.2 ICCAVR的安装 12
2.1.3 ICCAVR工程的建立 14
2.2 AVR Studio——AVR软件开发工具二 16
2.2.1 AVR Studio的简介及AVR Studio 4的安装 16
2.2.2 AVR Studio 4的第一个工程 18
2.2.3 ICCAVR过渡到AVR Studio——不同平台的移植 20
2.3 Proteus——软件仿真工具 23
2.3.1 Proteus的简介 23
2.3.2 Proteus的安装 23
2.3.3 Proteus的使用 25
2.4 小结 27
第3章 流水灯重现——第一次操刀 28
3.1 I/O简述 28
3.1.1 I/O寄存器 28
3.1.2 与51单片机的比较 29
3.2 让流水灯动起来 29
3.2.1 流水灯程序 29
3.2.2 流水灯重现 32
3.3 小结 34
第4章 HELLO WORLD——重现经典 35
4.1 USART简述 35
4.1.1 USART的寄存器 35
4.1.2 USART的相关电路 36
4.2 在Proteus中显示“HELLO WORLD” 38
4.2.1 驱动USART 38
4.2.2 显示“HELLO WORLD” 40
4.2.3 双机通信 42
4.2.4 USART开发的用处 44
4.3 小结 45
第5章 ADC——模拟到数字的转换 46
5.1 ADC简述 46
5.1.1 ADC的寄存器 46
5.1.2 ADC的参考电压 47
5.2 模拟到数字的转换 48
5.2.1 初始化ADC 48
5.2.2 驱动ADC 48
5.2.3 实现模拟到数字的转换 49
5.3 小结 52
第6章 AVR内部的EEPROM——存储菜鸟越来越多的信心 53
6.1 EEPROM简述 53
6.1.1 EEPROM的寄存器 53
6.1.2 EEPROM的操作特点 53
6.2 存储菜鸟越来越多的信心 54
6.2.1 读/写EEPROM 54
6.2.2 实现存储菜鸟的信心 56
6.3 小结 57
第2篇 技能进阶篇——菜鸟会飞了 61
第7章 菜鸟装备升级 61
7.1 Altium Designer(DXP) 61
7.1.1 Altium Designer简介 61
7.1.2 Altium Designer的安装 62
7.1.3 Altium Designer的使用 65
7.2 AVR Studio 4升级为ATMEL Studio 6.0 67
7.2.1 ATMEL Studio 6.0概述 67
7.2.2 AVR Studio 4与ATMEL Studio 6.0的区别 68
7.3 其他工具简介 68
7.3.1 UEStudio——编辑工具1 68
7.3.2 Source Insight——编辑工具2 68
7.3.3 Beyond Compare——编辑工具3 69
7.4 小结 69
第8章 AVR最小系统板——菜鸟动手玩硬件 70
8.1 AVR最小系统板的作用 70
8.2 AVR最小系统的原理图 70
8.2.1 原理图库制作 70
8.2.2 原理图的绘制 72
8.3 AVR最小系统板的PCB 76
8.3.1 PCB封装的制作 76
8.3.2 PCB的绘制 77
8.3.3 制作自己常用的器件库 80
8.4 小结 80
第9章 中断——处理“突发” 81
9.1 中断简述 81
9.1.1 中断定义 81
9.1.2 中断系统 81
9.2 处理“突发” 82
9.2.1 初始化中断 82
9.2.2 处理“突发” 84
9.3 小结 86
第10章 定时器——时间最重要 87
10.1 定时器简述 87
10.1.1 时钟系统 87
10.1.2 8位定时器 90
10.1.3 16位定时器 92
10.2 定时器的运用 94
10.2.1 初始化定时器 94
10.2.2 时间最重要 95
10.3 小结 102
第11章 WDT——学习“打狗棒法” 103
11.1 WDT简述 103
11.1.1 WDT寄存器 103
11.1.2 WDT的注意事项 104
11.2 驱动WDT 104
11.2.1 驱动WDT 104
11.2.2 WDT开发应用 111
11.3 小结 111
第12章 SPI(串行外设接口)——沟通信息世界的桥梁之二 112
12.1 SPI简述 112
12.1.1 SPI寄存器 112
12.1.2 SPI的相关电路 113
12.2 双机模式和模拟SPI 114
12.2.1 双机模式 114
12.2.2 模拟SPI 119
12.3 小结 122
第13章 TWI(两线接口)——沟通信息世界的桥梁之三 123
13.1 TWI简述 123
13.1.1 浅谈I2C总线 123
13.1.2 TWI寄存器 126
13.1.3 TWI的相关电路 128
13.2 驱动TWI及相关应用 129
13.2.1 驱动TWI 129
13.2.2 模拟TWI 138
13.3 小结 142
第3篇 实战开发篇——菜鸟进化中 145
第14章 LCD1602——有屏有真相 145
14.1 LCD1602简述 145
14.1.1 LCD1602的特性及引脚定义 145
14.1.2 LCD1602的操作时序 146
14.2 驱动LCD1602 147
14.2.1 LCD1602的指令集 147
14.2.2 LCD1602的配置及驱动 150
14.2.3 有屏有真相 154
14.3 小结 157
第15章 DS18B20——温度采集 158
15.1 DS18B20简述 158
15.1.1 浅谈单总线 158
15.1.2 DS18B20的特性及引脚定义 159
15.1.3 DS18B20的操作时序 160
15.2 驱动DS18B20 161
15.2.1 DS18B20的指令集 161
15.2.2 DS18B20的驱动 162
15.2.3 温度采集 165
15.3 小结 167
第16章 AT24C16——存储更多经验 168
16.1 存储设备 168
16.1.1 内部存储设备 168
16.1.2 外部存储设备 169
16.2 AT24C16简述 169
16.2.1 AT24C16的特性及引脚定义 169
16.2.2 AT24C16的操作时序 169
16.3 存储更多的“经验” 170
16.3.1 驱动AT24C16 170
16.3.2 实现存储更多的“经验” 175
16.4 小结 178
第17章 SD卡——存储更多信息 179
17.1 文件系统浅谈 179
17.1.1 文件系统 179
17.1.2 FAT简介 179
17.2 SD卡的总线方式及命令集 182
17.2.1 SD卡的总线方式 182
17.2.2 SD卡的命令集 184
17.3 存储更多的信息 185
17.3.1 驱动SD卡 185
17.3.2 实现存储更多信息 190
17.4 小结 193
第4篇 综合开发篇——菜鸟变凤凰 197
第18章 MP3播放器——歌声飞扬 197
18.1 制作MP3播放器的目的与要求 197
18.1.1 制作目的 197
18.1.2 制作要求 197
18.2 MP3播放器的硬件设计 197
18.2.1 总体设计的框图及说明 198
18.2.2 VS1003——MP3处理器 200
18.3 MP3播放器的软件设计 208
18.3.1 软件结构说明 209
18.3.2 软件流程图及部分程序 209
18.4 歌声飞扬 217
18.5 小结 222
第19章 无线测温迷你系统 223
19.1 制作无线测温迷你系统的目的 223
19.1.1 制作目的 224
19.1.2 制作要求 224
19.2 无线测温迷你系统的硬件设计 224
19.2.1 总体设计框图及说明 224
19.2.2 SI4432——无线管理器 227
19.3 无线测温迷你系统的软件设计 236
19.3.1 程序结构说明 236
19.3.2 程序流程图及部分程序 237
19.4 无线监控环境温度 250
19.5 小结 253
第20章 “菜鸟”手机 254
20.1 制作“菜鸟”手机的目的与要求 254
20.1.1 制作目的 254
20.1.2 制作要求 255
20.2 “菜鸟”手机的硬件设计 255
20.2.1 总体设计框图及说明 255
20.2.2 SIM900——GSM模块 257
20.3 “菜鸟”手机的软件设计 259
20.3.1 矩阵键盘及程序 259
20.3.2 SIM900模块的程序流程图及部分程序 265
20.4 用“菜鸟”手机打电话、接电话 276
20.5 小结 279