第一部分 基础知识篇 1
基础知识1 ATmega16单片机硬件基础 2
1.1 单片机特点介绍 2
1.2 单片机引脚配置 3
1.3 单片机最小系统 5
基础知识2 ATmega16单片机软件基础 7
2.1 ICCAVR软件快速入门 7
2.1.1 ICCAVR软件安装 7
2.1.2 ICCAVR软件使用 9
2.2 CodeVisionAVR软件快速入门 13
2.2.1 CodeVisionAVR软件安装 13
2.2.2 CodeVisionAVR软件使用 14
2.3 AVR Studio软件快速入门 19
2.3.1 AVR Studio软件安装 20
2.3.2 AVR Studio软件使用 22
2.4 Proteus软件快速入门 27
2.4.1 Proteus软件安装 28
2.4.2 Proteus软件使用 29
2.4.3 Proteus软件绘制原理图 30
基础知识3 ATmega 16单片机C语言基础 35
3.1 C语言的特点 35
3.2 C语言的结构 36
3.3 数据类型 37
3.4 运算符与表达式 39
3.5 程序语句 45
3.6 数组与函数 49
第二部分 任务篇 56
任务1 ATmega16单片机I/O端口应用 56
1.1 任务要求 56
1.2 相关知识 56
1.2.1 I/O端口介绍 56
1.2.2 作为通用数字I/O的端口 57
1.2.3 端口的第二功能 58
1.2.4 I/O端口寄存器的说明 62
1.3 任务分析与实施 64
1.3.1 闪烁灯 64
1.3.2 流水灯 71
1.4 任务总结 79
任务2 ATmega16单片机中断系统应用 80
2.1 任务要求 80
2.2 相关知识 80
2.2.1 中断概述 80
2.2.2 中断系统 81
2.2.3 MCU控制寄存器—MCUCR 82
2.2.4 MCU控制与状态寄存器—MCUCSR 83
2.2.5 通用中断控制寄存器—GICR 83
2.2.6 通用中断标志寄存器—GIFR 84
2.3 任务分析与实施 84
2.3.1 按键控制LED 84
2.3.2 按键控制警报 89
2.4 任务总结 94
任务3 ATmega16单片机定时器/计数器应用 95
3.1 任务要求 95
3.2 相关知识 95
3.2.1 8位定时器/计时器T/C0 96
3.2.2 T/C0与T/C1的预分频器 102
3.2.3 16位定时器/计数器 103
3.2.4 8位有PWM与异步操作的定时器/计数器2 116
3.3 任务分析与实施 125
3.3.1 定时器0计时 125
3.3.2 定时器0计数 130
3.4 任务总结 135
任务4 ATmega16单片机AD转换应用 136
4.1 任务要求 136
4.2 相关知识 136
4.2.1 模拟比较器 136
4.2.2 模数转换器 138
4.3 任务分析与实施 145
4.3.1 电压监测器 145
4.3.2 数字电压表 150
4.4 任务总结 155
任务5 ATmega16单片机通信应用 156
5.1 任务要求 156
5.2 相关知识 156
5.2.1 串行外设接口SPI 156
5.2.2 通用串行接口US ART 161
5.2.3 两线串行接口TWI 171
5.3 任务分析与实施 177
5.3.1 单片机发收器 177
5.3.2 字符串收发器 183
5.4 任务总结 188
参考文献 189