标题：AVR单片机应用设计
基本信息
作者： 李长林 等   
出版社：电子工业出版社
ISBN：7121017482
出版日期：2005 年9月
开本：16开
页码：364
内容简介
本书介绍了avr单片机的系统结构、运行原理与指令系统，并结合avr单片机的先进性和特点，介绍了脉宽调制（pwm）输出，看门狗定时器，休眠模式的应用，片内a/d转换器的使用，异、同步串口通信，软件daa等。本书主要介绍目前常用的mega系列机，也适用于其他型号的avr单片机。
目录
第1章 avr单片机系统 
1.1 概述 
1.1.1 低开发成本 
1.1.2 安全、高速、低功耗的性能 
1.1.3 a/d转换功能 
1.1.4 具有较强驱动能力的i/o口 
1.1.5 精简指令集 
1.1.6 其他功能 
1.2 avr系列单片机的选型 
1.2.1 attiny系列单片机特点 
1.2.2 at90s系列单片机特点 
1.2.3 atmega系列单片机特点 
1.3 avr系列单片机的开发步骤 
1.3.1 设计硬件电路 
1.3.2 用c语言编写程序 
1.3.3 程序调试 
1.3.4 搭建实验电路板 
1.3.5 程序下载 
第2章 avr单片机系统结构 
2.1 avr单片机结构 
.2.2 avr存储器 
2.2.1 系统内可编程的flash程序存储器 
2.2.2 sram数据存储器 
2.2.3 e2prom数据存储器 
2.2.4 i/o存储器 
2.2.5 外部存储器接口 
2.3 时钟管理 
2.3.1 时钟系统及其分布 
2.3.2 时钟源 
2.3.3 默认时钟源 
2.3.4 晶体振荡器 
2.3.5 外部rc振荡器 
2.3.6 标定的片内rc振荡器 
2.3.7 外部时钟 
2.4 电源管理及睡眠模式 
2.4.1 mcu控制寄存器（mcucr） 
2.4.2 空闲模式 
2.4.3 adc噪声抑制模式 
2.4.4 掉电模式 
2.4.5 省电模式 
2.4.6 standby模式 
2.4.7 扩展standby模式 
2.4.8 最小化功耗 
2.5 系统控制和复位 
2.5.1 复位avr 
2.5.2 复位源 
2.5.3 上电复位 
2.5.4 外部复位 
2.5.5 掉电检测复位 
2.5.6 看门狗复位 
2.5.7 mcu控制和状态寄存器 
2.5.8 片内基准电压 
2.5.9 看门狗定时器 
2.5.10 改变看门狗定时器配置的时间序列 
第3章 avr单片机指令系统 
3.1 指令格式 
3.1.1 汇编指令 
3.1.2 汇编器伪指令 
3.1.3 表达式 
3.2 寻址方式 
3.3 数据操作和指令类型 
3.3.1 数据操作 
3.3.2 指令类型 
3.3.3 指令集名词 
3.4 算术和逻辑指令 
3.4.1 加法指令 
3.4.2 减法指令 
3.4.3 乘法指令 
3.4.4 取反码指令 
3.4.5 取补指令 
3.4.6 比较指令 
3.4.7 逻辑与指令 
3.4.8 逻辑或指令 
3.4.9 逻辑异或指令 
3.5 转移指令 
3.5.1 无条件转移指令 
3.5.2 条件转移指令 
3.6 数据传送指令 
3.6.1 直接数据传送指令 
3.6.2 间接数据传送指令 
3.6.3 从程序存储器直接取数据指令 
3.6.4 i/o口数据传送 
3.6.5 堆栈操作指令 
3.7 位指令和位测试指令 
3.7.1 带进位逻辑操作指令 
3.7.2 位变量传送指令 
3.7.3 位变量修改指令 
3.7.4 其他指令 
3.8 新增指令 
3.8.1 eicall——延长间接调用子程序 
3.8.2 eijmp——扩展间接跳转 
3.8.3 elpm——扩展装载程序存储器 
3.8.4 espm——扩展存储程序存储器 
3.8.5 fmul——小数乘法 
3.8.6 fmuls——有符号数乘法 
3.8.7 fmulsu——有符号小数和无符号小数乘法 
3.8.8 movw——拷贝寄存器字 
3.8.9 muls——有符号数乘法 
3.8.10 mulsu——有符号数与无符号数乘法 
3.8.11 spm——存储程序存储器 
3.9 指令使用实例 
第4章 iccavr语法基础 
4.1 iccavr标识符 
4.1.1 iccavr标识符的构成规则 
4.1.2 iccavr的关键字 
4.2 数据类型 
4.2.1 变量与常量 
4.2.2 整型（int）数据 
4.2.3 浮点型（float）数据 
4.2.4 字符型（char）数据 
4.2.5 指针型（*）数据 
4.2.6 无值型（void）数据 
4.3 变量的作用域 
4.3.1 块结构 
4.3.2 自动型变量 
4.3.3 外部型变量 
4.3.4 静态型变量 
4.3.5 寄存器型变量 
4.4 const修饰符 
4.5 iccavr的分隔符 
4.6 运算符 
4.6.1 运算符的分类 
4.6.2 运算符的优先级 
4.7 表达式 
4.7.1 算术表达式 
4.7.2 赋值表达式 
4.7.3 逗号运算符与逗号表达式 
4.7.4 关系表达式 
4.7.5 逻辑表达式 
4.8 访问寄存器 
4.9 语句 
4.9.1 说明语句 
4.9.2 表达式语句 
4.9.3 复合语句 
4.9.4 条件语句 
4.9.5 开关与跳转语句 
4.9.6 循环语句 
4.9.7 函数调用语句 
4.9.8 空语句 
4.9.9 iccavr语句的流程与控制 
4.9.10 逐步求精的设计方法 
4.10 函数 
4.10.1 函数的调用和返回 
4.10.2 函数的作用域 
4.10.3 函数的变量作用域 
4.10.4 main函数 
4.10.5 iccavr中断函数 
4.11 iccavr库函数 
第5章 复位系统及睡眠模式 
5.1 系统控制和复位 
5.1.1 复位avr 
5.1.2 复位源 
5.1.3 上电复位 
5.1.4 外部复位 
5.1.5 掉电检测复位 
5.1.6 看门狗复位 
5.1.7 mcu控制和状态寄存器mcucsr 
5.1.8 片内基准电压 
5.1.9 看门狗定时器 
5.1.10 改变看门狗定时器配置的时间序列 
5.2 睡眠模式 
5.2.1 mcu控制寄存器包含了电源管理的控制位 
5.2.2 空闲模式 
5.2.3 adc噪声抑制模式 
5.2.4 掉电模式 
5.2.5 省电模式 
5.2.6 standby模式 
5.2.7 扩展standby模式 
5.2.8 最小化功耗 
第6章 avr中断系统 
6.1 复位与中断处理 
6.1.1 中断类型 
6.1.2 中断处理 
6.1.3 中断响应时间 
6.2 中断向量 
6.3 外部中断 
6.3.1 外部中断控制寄存器a（eicra） 
6.3.2 外部中断控制寄存器b（eicrb） 
6.3.3 外部中断屏蔽寄存器（eimsk） 
6.3.4 外部中断标志寄存器（eifr） 
第7章 调试工具 
7.1 avr单片机的编译 
7.1.1 avr assembler编译文件的安装与打开 
7.1.2 avr单片机汇编语言源程序实例 
7.1.3 源文件说明 
7.1.4 avr汇编器 
7.2 模拟调试窗口 
7.2.1 安装avr studio调试工具 
7.2.2 设置器件配置文件 
7.2.3 avr studio调试窗口下拉菜单 
7.2.4 avr studio窗口 
7.2.5 avr studio命令 
第8章 接口技术 
8.1 jtag接口和片上调试系统ocd 
8.1.1 测试访问端口tap 
8.1.2 tap控制器 
8.1.3 使用片上调试系统 
8.1.4 片上调试专用的jtag指令 
8.1.5 i/o存储器里与片上调试相关的寄存器 
8.1.6 利用jtag的可编程能力 
8.2 使用边界扫描链 
8.2.1 数据寄存器 
8.2.2 用于边界扫描的jtag指令 
8.3 avr单片机串行接口 
8.3.1 同步串行接口spi 
8.3.2 通用串行接口uart 
8.4 串行外设接口spi 
8.5 引脚功能 
8.5.1 从机模式 
8.5.2 主机模式 
8.5.3 spi控制寄存器spcr 
8.5.4 spi状态寄存器spsr 
8.5.5 spi数据寄存器spdr 
8.5.6 数据模式 
8.6 两线串行接口twi 
8.6.1 特点 
8.6.2 两线串行接口总线定义 
第9章 a/d转换 
9.1 模拟比较器 
9.1.1 特殊功能i/o寄存器sfior 
9.1.2 模拟比较器控制和状态寄存器acsr 
9.1.3 模拟比较器负极输入 
9.2 模数转换器 
9.2.1 启动一次转换 
9.2.2 预分频及adc转换时序 
9.3 改变通道或基准源 
9.3.1 adc输入通道 
9.3.2 adc基准电压源 
9.4 adc噪声抑制器 
9.4.1 模拟输入电路 
9.4.2 模拟噪声抑制技术 
9.4.3 adc精度定义 
9.5 adc转换结果 
9.5.1 adc多工选择寄存器admux 
9.5.2 adc 控制和状态寄存器a（adcsra） 
9.5.3 adc数据寄存器——adcl及adch 
第10章 avr单片机的应用 
10.1 bascom-avr的应用 
10.1.1 软件开发平台和硬件系统 
10.1.2 bascom-avr软件平台的安装与使用 
10.1.3 avr输入/输出口的应用 
10.1.4 lcd显示器 
10.2 avr c语言的应用 
10.2.1 avr支持c和高级语言编程的结构 
10.2.2 高效的c编译器 
10.3 通用延时子程序 
10.4 简单i/o口输出实验 
10.4.1 测试验证dip20 avr单片机b口、d口引脚输出 
10.4.2 测试avrdip40引脚输出和sl-avr开发下载实验器功能 
10.4.3 测试验证avrdip40引脚输出和sl-avr开发下载实验器功能 
10.4.4 avr的i/o口发出音符声 
10.4.5 利用延时程序i/o口输出报警声 
10.4.6 pa口使用建表方式的led广告灯演示程序 
10.4.7 led发光二极管加1计数程序 
第11章 综合实例 
11.1 在led上实现字符8的循环移位显示程序 
11.2 电脑放音机 
11.3 键盘扫描程序说明 
11.4 十进制计数显示 
11.5 简单的a/d转换器 
11.6 高精度a/d转换器 
11.7 按钮猜数程序 
11.8 输入汉字 
11.9 10位ad/转换 
11.10 步进电机控制程序 
11.11 测脉冲宽度 
11.12 lcd显示8字循环 
11.13 led电脑时钟 
11.14 测频率 
11.15 测转速 
11.16 at90s8535的a/d转换