项目1 单片机基础 1
任务1.1 计算机数学基础 1
1.1.1 数制 1
1.1.2 数制间的互相转换 2
1.1.3 二进制数运算 4
1.1.4 计算机表示数字的方法 7
1.1.5 计算机中的编码 9
任务1.2 单片微型计算机原理 11
1.2.1 单片机组成 11
1.2.2 单片机特点 15
1.2.3 常见单片机的介绍 16
任务1.3 单片机应用及开发过程 18
1.3.1 单片机应用 18
1.3.2 单片机开发过程 19
1.3.3 单片机编程语言 21
任务1.4 AVR单片机简介 21
1.4.1 AVR单片机特点 21
1.4.2 AVR单片机分类 22
1.4.3 ATmega内核单片机简介 22
任务1.5 ATmega16单片机原理 26
1.5.1 中央处理单元(CPU) 26
1.5.2 寄存器 28
1.5.3 存储器组织 29
1.5.4 引脚功能 30
1.5.5 单片机工作模式 32
项目总结 33
项目训练 33
项目2 单片机程序设计基础 34
任务2.1 一个简单的单片机程序 34
2.1.1 单片机软件开发平台 35
2.1.2 I/O口结构 38
任务2.2 单片机C语言编程基础 40
2.2.1 C语言的特点 41
2.2.2 C语言构成要素 42
2.2.3 运算符与表达式 43
2.2.4 数据类型与数据结构 46
2.2.5 C语言程序语句 54
2.2.6 C语言函数 59
任务2.3 项目设计 63
2.3.1 基本I/O口操作 63
2.3.2 简易电子琴 65
2.3.3 流水灯 69
项目总结 71
项目训练 73
项目3 人机交互接口 74
任务3.1 键盘输入设备 74
3.1.1 非编码键盘 75
3.1.2 编码键盘 78
任务3.2 输出显示设备 79
3.2.1 数码管 79
3.2.2 液晶显示器 85
任务3.3 单片机中断系统 102
3.3.1 中断概述 102
3.3.2 ATmega 16的中断 103
3.3.3 ATmega 16的外部中断 105
3.3.4 函数的中断 107
任务3.4 项目设计 107
数字密码锁 107
项目总结 116
项目训练 116
项目4 ATmega 16定时计数器 117
任务4.1 ATmega16定时器原理 118
4.1.1 定时工作原理 118
4.1.2 波形发生器 119
任务4.2 T/C0定时/计数器 120
4.2.1 T/C0定时/计数器工作原理 121
4.2.2 T/C0定时/计数器工作模式 122
4.2.3 T/C0定时/计数器寄存器 125
4.2.4 T/C0定时/计数器应用 127
任务4.3 T/C2定时器 130
4.3.1 T/C2定时器工作原理 130
4.3.2 T/C2定时器寄存器 132
4.3.3 T/C2定时器应用 135
任务4.4 T/C1定时/计数器 137
4.4.1 T/C1定时/计数器工作原理 137
4.4.2 T/C1定时/计数器工作模式 138
4.4.3 T/C1定时/计数器寄存器 140
4.4.4 T/C1定时/计数器应用 143
任务4.5 项目设计 152
4.5.1 数字时钟 152
4.5.2 数字频率计 156
项目总结 160
项目训练 160
项目5 数字信号转换 161
任务5.1 D/A转换器 161
5.1.1 D/A转换器工作原理 161
5.1.2 集成D/A转换器 163
任务5.2 A/D转换器 165
5.2.1 逐次渐进比较式A/D转换器 166
5.2.2 A/D转换器的性能参数 166
任务5.3 ATmega16集成A/D转换器 167
5.3.1 A/D转换器结构 168
5.3.2 A/D转换器工作原理 168
5.3.3 集成A/D转换器的寄存器 172
5.3.4 A/D转换器应用 175
任务5.4 项目设计 177
5.4.1 简易数字电压表 177
5.4.2 差分信号转换 179
项目总结 185
项目训练 185
项目6 串行通信接口 186
任务6.1 串行通信基础 186
6.1.1 串行通信与并行通信 186
6.1.2 串行通信方式 186
6.1.3 同步通信与异步通信 187
6.1.4 串行通信接口规范 188
任务6.2 ATmega16异步串行通信接口 191
6.2.1 串行通信接口特点 191
6.2.2 串行通信接口组成 192
6.2.3 串行通信接口寄存器 193
任务6.3 单片机I/O口模拟串行通信 199
6.3.1 单片机模拟串行口输出 199
6.3.2 单片机模拟串行口输入 201
任务6.4 项目设计 204
6.4.1 双机串行通信 204
6.4.2 字符串收发通信 208
项目总结 211
项目训练 211
项目7 同步串行通信接口 213
任务7.1 I2C总线 213
7.1.1 I2C总线概述 213
7.1.2 ATmega16单片机的TWI总线 216
任务7.2 SPI总线 220
7.2.1 SPI总线概述 220
7.2.2 ATmega16的SPI接口 221
任务7.3 项目设计 224
实时时钟万年历 224
项目总结 236
项目练习 236
项目8 红外线遥控音量控制电路 237
任务8.1 PGA2310原理 237
8.1.1 引脚功能 237
8.1.2 内部结构 238
8.1.3 串行通信口 238
8.1.4 PGA2310功能 238
任务8.2 红外遥控原理 240
8.2.1 红外编码传输 240
8.2.2 红外接收解码 241
8.2.3 系统原理图 243
任务8.3 软件设计 245
任务8.4 测试与结论 253
项目9 数控调频收音机 254
任务9.1 单芯片FM接收 254
9.1.1 TEA5767概述 254
9.1.2 TEA5767工作原理 255
9.1.3 TEA5767应用 257
任务9.2 TEA5767 PLL频率合成 258
9.2.1 PLL频率合成 258
9.2.2 电台搜索算法 259
任务9.3 TEA5767编程操作 260
9.3.1 通信接口 260
9.3.2 TEA5767寄存器 261
任务9.4 FM调频接收设计 264
9.4.1 FM接收硬件设计 264
9.4.2 FM软件设计 266
任务9.5 调试与总结 269
附录A:AVR单片机汇编指令简表 271
附录B:AVR单片机选型表 276
附录C:常用的ATmega内核AVR单片机引脚功能图 279
附录D:USB程序下载工具 289
附录E:ATmega16单片机学习板 292
参考文献 293