《AVR-GCC与AVR单片机C语言开发》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:吴双力等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2004
  • ISBN:7810775138
  • 页数:260 页
图书介绍:本书介绍使用AVR-GCC开发AVR单片机的方法,介绍了AVR单片机的特点、C语言的语法和AVR-GCC的函数库AVR-Libc的常用库函数及定义,并以ATmega16单片机为例,介绍了AVR单片机常用部件的操作方法等。

目录 1

第1章 AVR基本知识 1

1.1 AVR各系列单片机简介 1

1.2 AVR单片机对C语言的优化 3

1.2.1 寻址方式 3

1.2.2 零标志位的产生 4

1.2.3 算术运算的调整 4

1.3 选择合适的AVR单片机 5

1.4 选择合适的编程语言 6

1.5.2 Imagecraft C Compiler 8

1.5.1 Codevision AVR 8

1.5 AVR单片机C语言编译器简介 8

1.5.3 AVR-GCC 9

1.6 学习的过程 10

1.6.1 开始前的准备 10

1.6.2 各种有助于学习的资源 11

第2章 AVR-GCC编译器及相关开发工具 14

2.1 WinAVR简介与安装 14

2.1.1 WinAVR简介 14

2.1.2 WinAVR的安装 15

2.2.2 用PN新建一个C文件 19

2.2.1 PN简介 19

2.2 编辑工具PN简介 19

2.2.3 在PN中编译源文件 21

2.2.4 在PN中添加工具 23

2.2.5 在PN中新建一个工程 25

2.3 编译器AVR-GCC 26

2.3.1 AVR-GCC简介 26

2.3.2 AVR-GCC的编译过程 26

2.4.2 Makefile 29

2.4.3 PN中添加Make工具 29

2.4.1 Make工具简介 29

2.4 Make及Makefile的结构分析 29

2.4.4 Makefile样例结构分析 31

2.4.5 自动生成Makefile的工具——mfile 39

2.5 AVR单片机仿真调试软件 40

2.5.1 各种仿真调试软件的简介和对比 40

2.5.2 使用AVR Studio 4进行代码级仿真 41

2.5.3 VMLAB的使用 48

2.5.4 GDB(AVR-Insight)和Simulavr的配合仿真方法 70

2.6 PonyProg2000 72

2.6.1 PonyProg2000安装和使用方法 73

2.6.2 如何利用PN和PonyProg2000配合下载 78

2.6.3 PonyProg2000的脚本文件 79

2.6.4 简易下载线的制作 80

第3章 AVR单片机C语言开发入门 82

3.1 GNU C基本语法介绍 82

3.1.1 C语言的基本结构 82

3.1.2 C语言的基本字符、标识符和关键字 83

3.1.3 数据类型 83

3.1.4 变量、运算符和表达式 86

3.1.5 条件转移和循环控制 92

3.1.6 数组 97

3.1.7 函数 99

3.1.8 指针 101

3.1.9 结构和共同体 105

3.1.10 预处理 110

3.2 avr-libc与器件相关的I/O定义 112

3.3 avr-libc标准I/O工具 113

3.3.1 常量定义 114

3.3.2 函数声明 115

3.4 avr-libc的常用工具 123

3.4.1 数据结构 123

3.4.2 常量定义 123

3.4.3 函数定义 124

3.5 字符操作函数 129

3.5.1 字符分类函数 129

3.5.2 字符转换函数 130

3.6.1 标准字符串操作函数 131

3.6 标准字符串和程序空间中的字符串 131

3.6.2 对存储于ROM中的字符串进行操作 135

3.7 引导加载程序函数 139

3.7.1 Bootloader简介 139

3.7.2 Bootloader函数定义 140

3.8 EEPROM操作函数 141

3.8.1 EEPROM简介 141

3.8.2 函数声明 142

3.9 电源管理函数 143

3.9.1 休眠模式定义 143

3.8.4 与IAR C兼容的定义 143

3.8.3 向后兼容的定义 143

3.9.2 支持休眠的函数 144

3.9.3 降低电源的消耗 144

3.10 看门狗操作 145

3.10.1 看门狗操作简介 145

3.10.2 常量定义 146

3.11 系统错误处理 147

3.12 绝对跳转指令 147

3.12.1 绝对跳转简介 147

3.12.2 函数定义 148

3.13 中断和信号处理函数 149

3.13.1 全局中断标志操作函数 152

3.13.2 设置中断处理函数的宏 152

3.13.3 允许某些全局的中断 153

3.14 算术运算函数 153

3.14.1 常量定义 154

3.14.2 算术运算函数的定义 154

3.15 特殊功能寄存器的操作 156

3.15.1 特殊功能寄存器操作方式 156

3.15.2 I/O寄存器位操作指令 157

4.1.1 计数器的事件 160

4.1 AVR单片机的计数器 160

第4章 AVR单片机典型外围设备应用编程 160

4.1.2 计数器事件的处理 161

4.1.3 计数器的时钟选择 162

4.1.4 计数器的设置和使用 164

4.1.5 使用计数器的PWM输出 166

4.1.6 PWM输出实现两路DAC变换 168

4.1.7 PWM输出实现正弦波输出 171

4.2 A/D转换器 173

4.2.1 相关寄存器 173

4.2.2 A/D转换后的数据处理 175

4.3.1 传输模式的选择 182

4.3 通用串行接口UART的使用 182

4.3.2 波特率的设置 183

4.3.3 传输帧格式的设置 183

4.3.4 USART的初始化 183

4.3.5 发送和接收的处理方法 184

4.3.6 使用实例 184

4.4 SPI接口的使用和SPI接口的EEPROM 186

4.4.1 SPI接口介绍 186

4.4.2 SPI的传输原理 186

4.4.3 SPI器件的主/从模式和设置 187

4.4.4 SPI的传输模式和设置 187

4.4.6 SPI接口的时钟频率设置 188

4.4.5 SPI主/从模式和I/O的设置 188

4.4.7 SPI接口和中断 189

4.4.8 SPI接口的状态 189

4.4.9 SPI传输的位顺序 189

4.4.10 SPI接口基本发送和接收程序 189

4.4.11 使用SPI接口的EEPROM 190

4.5 I/O和中断的使用 195

4.5.1 基本原理 196

4.5.2 实现方案 196

4.5.3 程序结构和结论 197

4.6 TWI接口及其接口器件的使用 199

4.6.1 I2C总线的基本知识 200

4.6.2 AVR单片机的TWI接口 201

4.6.3 AVR单片机TWI接口的使用 202

4.6.4 用AVR单片机的TWI接口读/写EEPROM 203

4.6.5 示例程序 205

第5章 用AVR单片机实现的测量仪表 211

5.1 总体设计思路 211

5.2 传感器特性曲线拟合 211

5.2.1 采样数据的获得 212

5.2.2 特性曲线拟合处理 212

5.3.1 电路原理 214

5.3 单键开关电路 214

5.3.2 关于R3和上拉电阻R4的取值 215

5.3.3 对VIN连接方式的处理 215

5.3.4 电容C1的作用 216

5.3.5 开/关机延时处理 216

5.3.6 单片机程序流程图 216

5.3.7 程序代码 216

5.4 LCD显示模块 218

5.4.1 LCD与单片机的接口 218

5.4.2 printf()函数输出的重定向 218

5.4.3 如何进行printf()函数输出的重定向 219

5.5 自动量程选择算法 220

5.6 电池电量检测 224

第6章 AVRX实时操作系统RTOS 226

6.1 RTOS的功能 226

6.2 AVRX简介 227

6.2.1 任务 228

6.2.2 信号量 228

6.2.3 定时器 228

6.2.4 消息队列 228

6.2.5 单步运行支持 229

6.2.6 系统对象 229

6.3 AVRX下的编程 230

6.2.7 系统堆栈 230

6.3.1 任务的结构 231

6.3.2 中断处理 232

6.3.3 主函数结构 232

6.3.4 编程实例 236

第7章 AVR-JTAG与AVR单片机仿真技术 241

7.1 JTAG简介 241

7.2 制作简易的JTAGICE 242

7.3 用JTAGICE调试AVR单片机 250

7.3.1 JTAGICE的调试接口 250

7.3.2 JTAGICE与用户板的连接 251

7.3.3 在AVR Studio中使用JTAGICE调试程序 251