微信扫一扫,移动浏览光盘
简介
开发工具的选择往往是学习AVR单片机面临的第一个问题。《AVR单片机原理与GCC编程实践——智能小车的系统开发(附光盘)》由杭和平、邵明刚、杨芳编著,介绍了AVRstudio 4.18和WinAVR(AVR GCC编译器)。AVR Studio是ATMEL公司官方的开发工具,完全免费,支持众多的调试下载工具,对AVR新器件的支持也是最及时的。
AVRGCC是AVR单片机的C/C++语言编译器,GCC(GNU Compiler Collection),即开源的GNU编译器集合。在开源免费的软件中,GCC的编译器优化程度可以说是做得最好的,同时它的bug数量也是最少的。WinAVR是基于windows平台的免费GCC编译器。它可以与AVR Stdio无缝集成。
目录
前言
第1章 AVR单片机概述 1
1.1 单片机概述 1
1.1.1 单片机的结构与组成 1
1.1.2 单片机的分类和指标 3
1.1.3 AVR单片机 4
1.1.4 其他常用单片机系列 6
1.2 单片机的数制与编码 7
1.2.1 进位计数制 8
1.2.2 进位计数制的相互转换 9
1.2.3 二进制和十六进制数的运算 10
1.2.4 数码和字符的代码表示 13
1.3 ATmega16单片机的简单应用系统 17
1.3.1 单片机的I/O电平 17
1.3.2 单片机电路中三极管的应用 19
1.3.3 单片机的一个简单应用系统 19
1.4 基于AVR单片机的智能小车 20
1.4.1 概述 20
1.4.2 机械构造 20
1.4.3 设计原理 21
思考题 21
第2章 ATmega16单片机结构 23
2.1 ATmega16单片机内核结构 23
2.2 ATmega16单片机特点 24
2.3 ATmega16单片机引脚与封装 25
2.3.1 ATmega16单片机的封装 25
2.3.2 AVR单片机I/O端口的基本结构 29
2.3.3 ATmega16单片机的I/O端口寄存器 30
2.3.4 Sunny2.0智能小车I/O端口使用举例 33
2.4 ATmega16单片机存储器结构与编程 36
2.4.1 ATmega16单片机的程序存储空间 36
2.4.2 ATmega16单片机的数据存储空间 37
2.4.3 ATmega16单片机的EEPROM存储空间 38
2.5 ATmega16单片机的熔丝位 41
思考题 43
第3章 AVR单片机开发环境 45
3.1 AVR单片机软件开发工具 45
3.2 WinAVR简介 46
3.3 ATmega16 JTAG与ISP接口 47
3.3.1 JTAG接口使用说明 48
3.3.2 ISP接口使用说明 52
3.4 AVR Studio 4使用简介 54
3.5 AVR Studio 5使用简介 59
3.5.1 创建项目 60
3.5.2 调试项目 63
3.5.3 创建ASF示例项目 69
3.6 AVR GCC的编译过程 71
思考题 73
第4章 AVR单片机的GCC程序设计 74
4.1 AVR GCC基本语法介绍 74
4.1.1 AVR GCC程序设计语言概述 74
4.1.2 AVR C程序的基本结构 75
4.1.3 标识符和关键字 76
4.1.4 变量与数据类型 78
4.1.5 运算符和表达式 85
4.1.6 程序结构 91
4.1.7 数组、指针和结构体 96
4.1.8 函数 100
4.1.9 中断服务程序 102
4.1.10 预处理 104
4.1.11 在C代码中嵌入汇编语言 108
4.2 AVR Libc库函数介绍 109
4.2.1 AVR Libc中对位操作的支持 109
4.2.2 AVR Libc对Flash访问的支持 111
4.2.3 AVR Libc对EEPROM访问的支持 112
4.2.4 AVR Libc对看门狗的支持 114
4.2.5 AVR Libc的数学库 115
4.3 AVR GCC 段定义和使用 117
4.4 嵌入式C语言程序设计的注意事项 119
4.4.1 数据运算的溢出问题 119
4.4.2 数据类型转换问题 120
思考题 121
第5章 ATmega16单片机系统的时钟与电源管理 123
5.1 ATmega16单片机的时钟 123
5.1.1 ATmega16单片机的时钟结构 123
5.1.2 ATmega16单片机的时钟源 125
5.2 ATmega16单片机的复位 130
5.2.1 ATmega16单片机复位概述 130
5.2.2 ATmega16单片机的复位源与相关寄存器 131
5.3 ATmega16单片机的低功耗设计——时钟与电源管理 135
思考题 140
第6章 ATmega16单片机的中断系统 141
6.1 中断的基本概念 141
6.1.1 中断的作用 141
6.1.2 中断系统的响应过程 142
6.1.3 中断系统的优先级 143
6.2 ATmega16单片机的中断 143
6.2.1 ATmega16中断源和中断向量 143
6.2.2 中断服务程序的编写 145
6.3 ATmega16单片机的外部中断 145
6.4 ATmega16外部中断应用 148
思考题 150
第7章 ATmega16单片机系统定时器及应用 151
7.1 ATmega16单片机的定时/计数器概述 151
7.1.1 ATmega16定时/计数器的相关引脚 151
7.1.2 定时/计数器概念及小车应用 152
7.2 ATmega16单片机的定时/计数器1原理及应用 153
7.2.1 ATmega16单片机定时/计数器1(T/C1)原理 153
7.2.2 ATmega16单片机定时/计数器1的PWM输出 157
7.2.3 ATmega16单片机定时/计数器1相关寄存器 159
7.2.4 ATmega16单片机定时/计数器1的工作模式 163
7.2.5 ATmega16单片机定时/计数器1的时序图 167
7.3 ATmega16单片机的定时/计数器1的应用 168
7.3.1 T/C1作为外部事件计数器的应用 168
7.3.2 T/C1作为普通定时器的应用 170
7.3.3 T/C1作为输入捕捉的应用 173
7.3.4 T/C1作为PWM输出的应用 176
7.3.5 T/C1应用小结 178
7.4 ATmega16单片机的定时/计数器0和2原理 179
7.4.1 8位定时/计数器的特性与结构 179
7.4.2 8位定时/计数器T/C0相关的寄存器 181
7.4.3 8位定时/计数器T/C0的工作模式 184
7.4.4 8位定时/计数器T/C0的应用 186
7.4.5 8位定时/计数器T/C2简介 190
思考题 193
第8章 AVR单片机串行接口与应用 195
8.1 串行通信基础知识 195
8.1.1 并行通信和串行通信 195
8.1.2 异步通信和同步通信 196
8.1.3 单片机串行通信传输方式 197
8.1.4 串行数据通信的传输速率 198
8.2 ATmega16的USART接口及应用 198
8.2.1 USART接口概述 199
8.2.2 异步传输模式 200
8.2.3 USART寄存器说明 204
8.2.4 异步USART应用实例 209
8.2.5 单片机和PC机通信 212
8.3 ATmega16的SPI接口及应用 217
8.3.1 SPI串行总线介绍 217
8.3.2 ATmega16的SPI接口概述 217
8.3.3 SPI寄存器说明 219
8.3.4 SPI的工作模式 221
8.3.5 SPI应用实例 223
8.4 ATmega16的TWI接口及应用 226
8.4.1 I2C总线概述 226
8.4.2 TWI概述及寄存器说明 229
8.4.3 TWI的使用方法 232
8.4.4 TWI应用实例 235
思考题 240
第9章 AVR单片机ADC接口与应用 241
9.1 ATmega16的ADC概述 241
9.2 ATmega16与ADC相关的寄存器 243
9.3 ADC应用要点 247
9.4 ADC应用举例 249
思考题 253
第10章 ATmega16的I/O接口应用 255
10.1 人机接口 255
10.1.1 LED接口 255
10.1.2 LCD接口 259
10.1.3 按键接口 267
10.2 数字I/O接口 272
10.2.1 光电隔离接口 272
10.2.2 蜂鸣器及其接口 273
10.2.3 功率输出(继电器)接口 274
思考题 276
第11章 AVR单片机应用实践 277
11.1 位置检测元件与应用 277
11.2 直流电动机的控制 280
11.3 光敏电阻的应用 285
11.4 热敏电阻的应用 288
思考题 293
第12章 AVR单片机智能小车应用 294
12.1 单片机系统设计的步骤 294
12.2 Sunny2.0智能小车简介 295
12.2.1 Sunny2.0智能小车实物图 295
12.2.2 功能说明 296
12.2.3 系统结构框图 297
12.3 智能小车硬件设计 297
12.3.1 车体介绍 297
12.3.2 单片机控制板 297
12.3.3 系统扩展板 298
12.3.4 Sunny2.0小车ATmega16硬件资源分配 298
12.4 智能小车控制板功能模块说明 299
12.4.1 电源 299
12.4.2 单片机电路及JTAG接口电路 301
12.4.3 小车电动机驱动电路及控制编程 302
12.4.4 多路模拟开关接口电路及编程 305
12.4.5 智能小车测距 309
12.4.6 智能小车障碍检测 317
12.4.7 LED数码管显示 318
12.4.8 电池电压检测 318
12.5 智能小车扩展板功能模块说明 319
12.6 利用超声波传感器模块实现倒车功能例程 322
思考题 329
附录 智能小车的电路原理图 330
参考文献 334
第1章 AVR单片机概述 1
1.1 单片机概述 1
1.1.1 单片机的结构与组成 1
1.1.2 单片机的分类和指标 3
1.1.3 AVR单片机 4
1.1.4 其他常用单片机系列 6
1.2 单片机的数制与编码 7
1.2.1 进位计数制 8
1.2.2 进位计数制的相互转换 9
1.2.3 二进制和十六进制数的运算 10
1.2.4 数码和字符的代码表示 13
1.3 ATmega16单片机的简单应用系统 17
1.3.1 单片机的I/O电平 17
1.3.2 单片机电路中三极管的应用 19
1.3.3 单片机的一个简单应用系统 19
1.4 基于AVR单片机的智能小车 20
1.4.1 概述 20
1.4.2 机械构造 20
1.4.3 设计原理 21
思考题 21
第2章 ATmega16单片机结构 23
2.1 ATmega16单片机内核结构 23
2.2 ATmega16单片机特点 24
2.3 ATmega16单片机引脚与封装 25
2.3.1 ATmega16单片机的封装 25
2.3.2 AVR单片机I/O端口的基本结构 29
2.3.3 ATmega16单片机的I/O端口寄存器 30
2.3.4 Sunny2.0智能小车I/O端口使用举例 33
2.4 ATmega16单片机存储器结构与编程 36
2.4.1 ATmega16单片机的程序存储空间 36
2.4.2 ATmega16单片机的数据存储空间 37
2.4.3 ATmega16单片机的EEPROM存储空间 38
2.5 ATmega16单片机的熔丝位 41
思考题 43
第3章 AVR单片机开发环境 45
3.1 AVR单片机软件开发工具 45
3.2 WinAVR简介 46
3.3 ATmega16 JTAG与ISP接口 47
3.3.1 JTAG接口使用说明 48
3.3.2 ISP接口使用说明 52
3.4 AVR Studio 4使用简介 54
3.5 AVR Studio 5使用简介 59
3.5.1 创建项目 60
3.5.2 调试项目 63
3.5.3 创建ASF示例项目 69
3.6 AVR GCC的编译过程 71
思考题 73
第4章 AVR单片机的GCC程序设计 74
4.1 AVR GCC基本语法介绍 74
4.1.1 AVR GCC程序设计语言概述 74
4.1.2 AVR C程序的基本结构 75
4.1.3 标识符和关键字 76
4.1.4 变量与数据类型 78
4.1.5 运算符和表达式 85
4.1.6 程序结构 91
4.1.7 数组、指针和结构体 96
4.1.8 函数 100
4.1.9 中断服务程序 102
4.1.10 预处理 104
4.1.11 在C代码中嵌入汇编语言 108
4.2 AVR Libc库函数介绍 109
4.2.1 AVR Libc中对位操作的支持 109
4.2.2 AVR Libc对Flash访问的支持 111
4.2.3 AVR Libc对EEPROM访问的支持 112
4.2.4 AVR Libc对看门狗的支持 114
4.2.5 AVR Libc的数学库 115
4.3 AVR GCC 段定义和使用 117
4.4 嵌入式C语言程序设计的注意事项 119
4.4.1 数据运算的溢出问题 119
4.4.2 数据类型转换问题 120
思考题 121
第5章 ATmega16单片机系统的时钟与电源管理 123
5.1 ATmega16单片机的时钟 123
5.1.1 ATmega16单片机的时钟结构 123
5.1.2 ATmega16单片机的时钟源 125
5.2 ATmega16单片机的复位 130
5.2.1 ATmega16单片机复位概述 130
5.2.2 ATmega16单片机的复位源与相关寄存器 131
5.3 ATmega16单片机的低功耗设计——时钟与电源管理 135
思考题 140
第6章 ATmega16单片机的中断系统 141
6.1 中断的基本概念 141
6.1.1 中断的作用 141
6.1.2 中断系统的响应过程 142
6.1.3 中断系统的优先级 143
6.2 ATmega16单片机的中断 143
6.2.1 ATmega16中断源和中断向量 143
6.2.2 中断服务程序的编写 145
6.3 ATmega16单片机的外部中断 145
6.4 ATmega16外部中断应用 148
思考题 150
第7章 ATmega16单片机系统定时器及应用 151
7.1 ATmega16单片机的定时/计数器概述 151
7.1.1 ATmega16定时/计数器的相关引脚 151
7.1.2 定时/计数器概念及小车应用 152
7.2 ATmega16单片机的定时/计数器1原理及应用 153
7.2.1 ATmega16单片机定时/计数器1(T/C1)原理 153
7.2.2 ATmega16单片机定时/计数器1的PWM输出 157
7.2.3 ATmega16单片机定时/计数器1相关寄存器 159
7.2.4 ATmega16单片机定时/计数器1的工作模式 163
7.2.5 ATmega16单片机定时/计数器1的时序图 167
7.3 ATmega16单片机的定时/计数器1的应用 168
7.3.1 T/C1作为外部事件计数器的应用 168
7.3.2 T/C1作为普通定时器的应用 170
7.3.3 T/C1作为输入捕捉的应用 173
7.3.4 T/C1作为PWM输出的应用 176
7.3.5 T/C1应用小结 178
7.4 ATmega16单片机的定时/计数器0和2原理 179
7.4.1 8位定时/计数器的特性与结构 179
7.4.2 8位定时/计数器T/C0相关的寄存器 181
7.4.3 8位定时/计数器T/C0的工作模式 184
7.4.4 8位定时/计数器T/C0的应用 186
7.4.5 8位定时/计数器T/C2简介 190
思考题 193
第8章 AVR单片机串行接口与应用 195
8.1 串行通信基础知识 195
8.1.1 并行通信和串行通信 195
8.1.2 异步通信和同步通信 196
8.1.3 单片机串行通信传输方式 197
8.1.4 串行数据通信的传输速率 198
8.2 ATmega16的USART接口及应用 198
8.2.1 USART接口概述 199
8.2.2 异步传输模式 200
8.2.3 USART寄存器说明 204
8.2.4 异步USART应用实例 209
8.2.5 单片机和PC机通信 212
8.3 ATmega16的SPI接口及应用 217
8.3.1 SPI串行总线介绍 217
8.3.2 ATmega16的SPI接口概述 217
8.3.3 SPI寄存器说明 219
8.3.4 SPI的工作模式 221
8.3.5 SPI应用实例 223
8.4 ATmega16的TWI接口及应用 226
8.4.1 I2C总线概述 226
8.4.2 TWI概述及寄存器说明 229
8.4.3 TWI的使用方法 232
8.4.4 TWI应用实例 235
思考题 240
第9章 AVR单片机ADC接口与应用 241
9.1 ATmega16的ADC概述 241
9.2 ATmega16与ADC相关的寄存器 243
9.3 ADC应用要点 247
9.4 ADC应用举例 249
思考题 253
第10章 ATmega16的I/O接口应用 255
10.1 人机接口 255
10.1.1 LED接口 255
10.1.2 LCD接口 259
10.1.3 按键接口 267
10.2 数字I/O接口 272
10.2.1 光电隔离接口 272
10.2.2 蜂鸣器及其接口 273
10.2.3 功率输出(继电器)接口 274
思考题 276
第11章 AVR单片机应用实践 277
11.1 位置检测元件与应用 277
11.2 直流电动机的控制 280
11.3 光敏电阻的应用 285
11.4 热敏电阻的应用 288
思考题 293
第12章 AVR单片机智能小车应用 294
12.1 单片机系统设计的步骤 294
12.2 Sunny2.0智能小车简介 295
12.2.1 Sunny2.0智能小车实物图 295
12.2.2 功能说明 296
12.2.3 系统结构框图 297
12.3 智能小车硬件设计 297
12.3.1 车体介绍 297
12.3.2 单片机控制板 297
12.3.3 系统扩展板 298
12.3.4 Sunny2.0小车ATmega16硬件资源分配 298
12.4 智能小车控制板功能模块说明 299
12.4.1 电源 299
12.4.2 单片机电路及JTAG接口电路 301
12.4.3 小车电动机驱动电路及控制编程 302
12.4.4 多路模拟开关接口电路及编程 305
12.4.5 智能小车测距 309
12.4.6 智能小车障碍检测 317
12.4.7 LED数码管显示 318
12.4.8 电池电压检测 318
12.5 智能小车扩展板功能模块说明 319
12.6 利用超声波传感器模块实现倒车功能例程 322
思考题 329
附录 智能小车的电路原理图 330
参考文献 334
智能小车的系统开发
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!