第1章 绪论 1
1.1 AVR单片机的主要特性 1
1.2主流单片机系列产品比较 2
ATMEL公司的单片机 2
Microchip公司的单片机 11
Cygnal公司的单片机 14
第2章 AVR系统结构概况 20
2.1 AVR单片机ATmega8的总体结构 20
ATmega8特点 20
结构框图 21
ATmega8单片机封装与引脚 23
2.2中央处理器 25
算术逻辑单元 26
指令执行时序 29
复位和中断处理 29
2.3 ATmega8存储器 31
Flash程序存储器 31
SRAM 32
E2 PROM 33
I/O寄存器 35
ATmega8的锁定位、熔丝位、标识位和校正位 38
2.4系统时钟及其分配 42
时钟源 43
外部晶振 43
外部低频石英晶振 45
外部RC振荡器 45
可校准内部RC振荡器 46
外部时钟源 47
异步定时器/计数器振荡器 48
2.5系统电源管理和休眠模式 48
MCU控制寄存器 48
空闲模式 49
ADC降噪模式 49
掉电模式 49
省电模式 49
等待模式 50
最小功耗 50
2.6系统复位 51
复位源 52
MCU控制状态寄存器——MCUCSR 55
内部参考电压源 55
2.7 I/O端口 56
通用数字I/O端口 56
数字输入使能和休眠模式 60
端口的第二功能 61
第3章 ATmega8指令系统 66
3.1 ATmega8汇编指令格式 66
汇编语言源文件 66
指令系统中使用的符号 67
ATmega8指令 68
汇编器伪指令 68
表达式 72
文件“M8def.inc” 73
3.2寻址方式和寻址空间 74
3.3算术和逻辑指令 78
加法指令 78
减法指令 79
取反码指令 82
取补码指令 82
比较指令 83
逻辑与指令 84
逻辑或指令 86
逻辑异或 88
乘法指令 89
3.4转移指令 92
无条件转移指令 92
条件转移指令 93
子程序调用和返回指令 103
3.5数据传送指令 105
直接寻址数据传送指令 106
间接寻址数据传送指令 107
从程序存储器中取数装入寄存器指令 113
写程序存储器指令 114
I/O端口数据传送 114
堆栈操作指令 114
3.6位操作和位测试指令 115
带进位逻辑操作指令 115
位变量传送指令 117
位变量修改指令 117
3.7 MCU控制指令 121
3.8指令的应用 121
第4章 中断系统 137
4.1外部向量 137
4.2外部中断 140
4.3中断寄存器 140
第5章 自编程功能 148
5.1引导加载技术 148
5.2相关I/O寄存器 152
5.3 Flash程序存储器的自编程 155
5.4 Flash自编程应用 158
第6章 定时器/计数器 161
6.1定时器/计数器预定比例分频器 161
6.2 8位定时器/计数器0(T/C0) 162
6.3 16位定时器/计数器1(T/C1) 166
T/C1的结构 167
T/C1的操作模式 171
T/C1的计数时序 177
T/C1的寄存器 178
6.4 8位定时器/计数器2(T/C2) 187
T/C2的组成结构 187
T/C2的操作模式 190
T/C2的计数时序 193
T/C2的寄存器 194
T/C2的异步操作 197
6.5看门狗定时器 200
第7章 AVR单片机通信接口 204
7.1 AVR单片机串行接口 204
同步串行接口 204
通用串行接口 209
7.2两线串行TWI总线接口 239
TWI模块概述 240
TWI寄存器描述 241
TWI总线的使用 244
多主机系统和仲裁 255
第8章 AVR单片机A/D转换及模拟比较器 257
8.1 A/D转换 257
A/D转换概述 257
ADC噪声抑制器 262
ADC有关的寄存器 263
8.2 AVR单片机模拟比较器 269
第9章 系统扩展技术 276
9.1串行接口8位LED显示驱动器MAX7219 276
概述 276
引脚功能及内部结构 276
操作说明 278
应用 282
软件设计 283
9.2 AT24C系列两线串行总线E 2PROM 286
概述 286
引脚功能及内部结构 286
操作说明 287
软件设计 291
9.3 AT93C46——三线串行总线E 2PROM接口芯片 299
概述 299
内部结构及引脚功能 299
操作说明 300
软件设计 304
9.4串行12位的ADC TLC2543 307
概述 307
内部结构及引脚功能 307
操作说明 307
AD620放大器介绍 309
软件设计 311
9.5串行输出16位ADC MAX195 313
概述 313
引脚功能及内部结构 314
操作说明 314
应用 317
软件设计 319
9.6串行输入DAC TLC5615 323
概述 323
引脚功能及内部结构 323
操作说明 324
软件设计 325
9.7串行12位的DAC TLC5618 327
概述 327
内部结构及引脚功能 327
操作说明 328
软件设计 330
9.8串行非易失性静态RAM X24C44 331
概述 331
引脚功能及内部结构 332
操作说明 332
软件设计 335
9.9数据闪速存储器AT45DB041B 340
概述 340
引脚功能及内部结构 341
操作说明 342
软件设计 350
9.10 GM8164串行I/O扩展芯片 358
概述 358
引脚功能说明 358
操作说明 359
软件设计 361
9.11接口综合实例 364
附录1 ICCAVR简介 384
附录2 ATnnega8指令表 392
参考文献 397