前言
第1章 AVR单片机
1.1 单片机概述
1.1.1 单片机的结构与组成
1.1.2 单片机的分类和指标
1.1.3 AVR单片机
1.1.4 其他常用单片机系列
1.2 单片机的数制与编码
1.2.1 进位计数制
1.2.2 进位计数制的相互转换
1.2.3 二进制和十六进制数的运算
1.2.4 数码和字符的代码表示
1.3 ATmega16单片机的简单应用系统
1.3.1 单片机的I/O电平
1.3.2 单片机电路中三极管的应用
1.3.3 单片机的一个简单应用系统
1.4 基于AVR单片机的智能小车
1.4.1 概述
1.4.2 机械构造
1.4.3 设计原理
思考题
第2章 ATmega16单片机结构
2.1 ATmega16单片机内核结构
2.2 ATmega16单片机特点
2.3 ATmega16单片机引脚与封装
2.3.1 ATmega16单片机的封装
2.3.2 AVR单片机I/O端口的基本结构
2.3.3 ATmega16单片机的I/O端口寄存器
2.3.4 Sunny2.0智能小车I/0端口使用举例
2.4 ATmega16单片机存储器结构与编程
2.4.1 ATmega16单片机的程序存储空间
2.4.2 ATmega16单片机的数据存储空间
2.4.3 ATmega16单片机的:EEPROM存储空间
2.5 ATmega16单片机的熔丝位
思考题
第3章 AVR单片机开发环境
3.1 AV单片机软件开发工具
3.2 WinAVR简介
3.3 ATmega16JTAG与ISP接口
3.3.1 JTAG接口使用说明
3.3.2 ISP接口使用说明
3.4 AVRstudio4使用简介
3.5 AVRstudio5使用简介
3.5.1 创建项目
3.5.2 调试项目
3.5.3 创建ASF示例项目
3.6 AVRGCC的编译过程
思考题
第4章 AVR单片机的GCC程序设计
4.1 AvRGCC基本语法介绍
4.1.1 AVRGCC程序设计语言概述
4.1.2 AVRc程序的基本结构
4.1.3 标识符和关键字
4.1.4 变量与数据类型
4.1.5 运算符和表达式
4.1.6 程序结构
4.1.7 数组、指针和结构体
4.1.8 函数
4.1.9 中断服务程序
4.1.10 预处理
4.1.11 在c代码中嵌入汇编语言
4.2 AvRlibc库函数介绍
4.2.1 AVRlibc中对位操作的支持
4.2.2 AVRlibc对Flash访问的支持
4.2.3 AVRlibc对EEPROM访问的支持
4.2.4 AVRlibc对看门狗的支持
4.2.5 AVRlibc的数学库
4.3 AvRGcC段定义和使用
4.4 嵌入式c语言程序设计的注意事项
4.4.1 数据运算的溢出问题
4.4.2 数据类型转换问题
思考题
第5章 ATmega16单片机系统的时钟与电源管理
5.1 ATmega16单片机的时钟
5.1.1 ATmega16单片机的时钟结构
5.1.2 ATmega16单片机的时钟源
5.2 ATmega16单片机的复位
5.2.1 ATmega16单片机复位概述
5.2.2 ATmega16单片机的复位源与相关寄存器
5.3 ATmega16单片机的低功耗设计——时钟与电源管理
思考题
第6章 ATmega16单片机的中断系统
6.1 中断的基本概念
6.1.1 中断的作用
6.1.2 中断系统的响应过程
6.1.3 中断系统的优先级
6.2 ATmega16单片机的中断
6.2.1 ATmega16中断源和中断向量
6.2.2 中断服务程序的编写
6.3 ATmega16单片机的外部中断
6.4 ATmega16外部中断应用
思考题
第7章 ATmega16单片机系统定时器及应用
7.1 ATmega16单片机的定时/计数器概述
7.1.1 ATmega16定时/计数器的相关引脚
7.1.2 定时/计数器概念及小车应用
7.2 ATmega16单片机的定时/计数器原理及应用
7.2.1 ATmega16单片机定时/计数器1(T/C1)原理
7.2.2 ATmega16单片机定时/计数器1的PWM输出
7.2.3 ATmega16单片机定时/计数器1相关寄存器
7.2.4 ATmega16单片机定时/计数器1的工作模式
7.2.5 ATmega16单片机定时/计数器1的时序图
7.3 ATmega16单片机的定时/计数器1的应用
7.3.1 T/C1作为外部事件计数器的应用
7.3.2 T/C1作为普通定时器的应用
7.3.3 T/C1作为输入捕捉的应用
7.3.4 T/C1作为PWM输出的应用
7.3.5 T/C1应用小结
7.4 ATmega16单片机的定时/计数器0和2原理
7.4.1 8位定时/计数器的特性与结构
7.4.2 8位定时/计数器T/CO相关的寄存器
7.4.3 8位定时/计数器T/CO的工作模式
7.4.4 8位定时/计数器T/CO的应用
7.4.5 8位定时/计数器T/CO简介
思考题
第8章 AVR单片机串行接口与应用
8.1 串行通信基础知识
8.1.1 并行通信和串行通信
8.1.2 异步通信和同步通信
8.1.3 单片机串行通信传输方式
8.1.4 串行数据通信的传输速率
8.2 ATmega16的UsART接口及应用
8.2.1 USART接口概述
8.2.2 异步传输模式
8.2.3 USARt寄存器说明
8.2.4 异步15SART应用实例
8.2.5 单片机和PC机通信
8.3 ATmega16的sPI接口及应用
8.3.1 SPI串行总线介绍
8.3.2 ATmega16的SPI接口概述
8.3.3 SPI寄存器说明
8.3.4 SPI的工作模式
8.3.5 SPI应用实例
8.4 ATmega16的TwI接口及应用
8.4.11 2C总线概述
8.4.2 TWI概述及寄存器说明
8.4.3 TWI的使用方法
8.4.4 TWI应用实例
思考题
第9章 AVR单片机ADC接口与应用
9.1 ATmega16的ADC概述
9.2 ATmega16与ADC相关的寄存器
9.3 ADC应用要点
9.4 ADC应用举例
思考题
第10章 ATmega16的I/O接口应用
10.1 人机接口
10.1.1 LED接口
10.1.2 LCD接口
10.1.3 按键接口
10.2 数字I/O接口
10.2.1 光电隔离接口
10.2.2 蜂鸣器及其接口
10.2.3 功率输出(继电器)接口
思考题
第11章 AVR单片机应用实践
11.1 位置检测元件与应用
11.2 直流电动机的控制
11.3 光敏电阻的应用
11.4 热敏电阻的应用
思考题
第12章 AVR单片机智能小车应用
12.1 单片机系统设计的步骤
12.2 Sunny2.0智能小车简介
12.2.1 Sunny2.0智能小车实物图
12.2.2 功能说明
12.2.3 系统结构框图
12.3 智能小车硬件设计
12.3.1 车体介绍
12.3.2 单片机控制板
12.3.3 系统扩展板
12.3.4 Sunny2.O小车ATmega16硬件资源分配
12.4 智能小车控制板功能模块说明
12.4.1 电源
12.4.2 单片机电路及JTAG接口电路
12.4.3 小车电动机驱动电路及控制编程
12.4.4 多路模拟开关接口电路及编程
12.4.5 智能小车测距
12.4.6 智能小车障碍检测
12.4.7 LED数码管显示
12.4.8 电池电压检测
12.5 智能小车扩展板功能模块说明
12.6 利用超声波传感器模块实现倒车功能例程
思考题
附录 智能小车的电路原理图
参考文献