《AVR单片机GCC程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:佟长福编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2006
  • ISBN:7810777246
  • 页数:262 页
图书介绍:本书全面介绍基于AVR-GCC的AVR单片机C语言程序设计。详细介绍AVR-GCC的操作存储器方法;并以大量的实例程序演示AVR单片机内部集成功能模块的C语言程序设计方法。

目录 1

第1章 概述 1

1.1 AVR单片机GCC开发概述 1

1.1.1 AVR单片机介绍 1

1.1.2 GCC编译器 2

1.2 一个简单的例子 3

1.3 用makefile管理项目 5

1.3.1 make的调用 6

1.3.2 makefile项目描述文件 6

1.3.3 使用mfile生成合适的makefile 10

1.4 开发环境的配置 11

1.4.1 软件环境 11

1.4.2 硬件环境 14

1.5 实验板CA-M8 15

1.5.1 特性 15

1.5.2 电路原理图 16

1.5.3 配置操作 17

1.5.4 时钟源选择 18

1.5.5 复位源选择 19

1.5.6 使用板上下载线对器件编程 19

1.5.7 配置时的几点注意事项 20

第2章 存储器操作 21

2.1 AVR单片机存储器组织结构 21

2.2 I/O寄存器操作 21

2.2.1 I/O寄存器的读/写 21

2.2.2 I/O寄存器的位操作 24

2.2.3 I/O端口的应用 24

2.3 SRAM内变量的使用 25

2.4 在程序中访问FLASH程序存储器 26

2.4.2 FLASH区数组应用 27

2.4.1 FLASH区整数变量应用 27

2.4.3 FLASH区字符串变量的应用 28

2.5 EEPROM数据存储器操作 29

2.6 AVR-GCC段与再定位 30

2.6.1 .text段 31

2.6.2 .data段 32

2.6.3 .bss段 33

2.6.4 .eeprom段 34

2.7 外部RAM的使用 34

2.8 堆应用 35

3.2 C语言编译基础 38

3.1 启动模块 38

第3章 单片机C语言程序设计基础 38

3.2.1 C语言两种文件 39

3.2.2 C语言两种声明 39

3.2.3 从源文件到可执行代码 40

3.3 生成静态连接库 43

3.4 模块化程序设计 47

3.4.1 概述 47

3.4.2 模块化程序设计的优点 50

3.5 应用程序结构 50

4.1 中断服务程序 51

第4章 功能模块编程示例 51

4.2 定时器/计数器0的应用 52

4.3 定时器/计数器1的应用 56

4.3.1 一般模式 56

4.3.2 比较匹配清零模式 56

4.3.3 输入捕获功能 56

4.3.4 PWM功能编程 60

4.4 定时器/计数器2的应用 62

4.5 看门狗定时器的应用 62

4.6 模拟比较器 64

4.7 A/D转换模块编程 66

4.8 数码管显示程序设计 71

4.9 键盘程序设计 74

4.10 蜂鸣器控制 78

第5章 串行异步收/发器的应用 79

5.1 串行异步通信简介 79

5.2 UART程序设计 80

5.2.1 模式选择 80

5.2.2 UART通信参数设置 81

5.2.3 UART收/发操作与两种程序设计方式 82

5.3 与计算机间的串行通信 86

5.4 avr-libc标准I/O流描述 88

5.5 利用标准I/O流调试程序 90

5.6 格式化字符串监测工具PrintMonitor 92

5.7 最小化的格式化打印函数 94

第6章 CA-M8上实现AT89S52下载编程器 98

6.1 编程原理 98

6.2 LuckyProg2004概述 99

6.2.1 简介 99

6.2.2 器件配置 99

6.2.3 数据传送协议 101

6.2.4 编程框架 106

6.3.1 串行数据的输入与输出时序 118

6.3.2 串行编程算法 118

6.3.3 编程指令 118

6.3 AT89S52 ISP功能简介 118

6.4 下位机程序设计 119

6.4.1 延时功能函数 119

6.4.2 程序清单 120

第7章 硬件TWI端口编程 134

7.1 TWI模块概述 134

7.2.1 实时时钟芯片DS1307介绍 135

7.2 主控模式操作实时时钟DS1307 135

7.2.2 DS1307实验电路 136

7.2.3 DS1307操作程序 137

7.3 两个mega8间的TWI通信 146

7.3.1 测试电路 146

7.3.2 程序设计 146

第8章 BootLoader功能应用 153

8.1 BootLoader功能介绍 153

8.2 avr-libc对BootLoader的支持 153

8.3.1 测试硬件 154

8.3 BootLoader应用实例 154

8.3.2 引导加载程序 155

8.3.3 上位机程序 159

8.4 基于LuckyProg2004的BootLoader程序 160

8.4.1 程序清单 160

8.4.2 LuckyProg2004配置文件的生成 166

第9章 汇编语言支持 168

9.1 C语言代码中内联汇编语言程序 168

9.1.1 内联汇编声明 168

9.1.2 汇编指令 169

9.1.3 输入/输出操作数 170

9.1.4 Clobber 172

9.1.5 汇编宏应用 173

9.2 独立的汇编语言支持 174

9.2.1 avr-libc汇编语言程序示例 174

9.2.2 编译 176

9.3 C语言与汇编语言混合编程 176

9.3.1 C编译器使用寄存器约定 176

9.3.2 C编译器函数调用规则 177

9.3.3 在C语言程序中调用汇编语言函数 177

9.3.4 在汇编语言程序中调用C语言函数或访问C语言变量 179

10.1 环境配置 181

第10章 C++语言支持 181

10.2 调用C语言函数 182

10.3 摄像云台视角控制器的设计 183

10.3.1 硬件电路 183

10.3.2 程序设计 183

10.3.3 控制端测试程序 190

第11章 应用实例 191

11.1 双基色LED显示屏控制 191

11.1.1 简介 191

11.1.2 显示原理 191

11.1.3 程序设计 193

11.2 工作小时计的制作 206

11.2.1 简介 206

11.2.2 硬件电路 207

11.2.3 液晶显示模块 208

11.2.4 程序设计 210

11.3 电话远程控制系统 220

11.3.1 简介 220

11.3.2 自动摘机与提示音输出电路 220

11.3.3 振铃检测电路 221

11.3.4 DTMF信号解码及主控制电路 222

11.3.5 软件设计 223

第12章 实时操作系统AVRX应用 231

12.1 AVRX概述 231

12.2 应用程序结构 232

12.2.1 任务及堆栈 232

12.2.2 时钟节拍和中断 234

12.2.3 主程序 235

12.3 编译AVRX 236

12.3.1 编译内核 236

12.4 信号量 237

12.3.2 编译应用程序 237

12.5 定时器 240

12.6 消息 243

12.7 定时消息发送器 246

12.8 AVRX对EEPROM的支持 249

12.9 AVRX调试接口 249

附录A AVR-GCC选项 253

A.1 指定目标CPU类 253

A.2 选择通用编译器选项 256

A.3 avr-as汇编器选项 257

A.4 连接器avr-ld选项 258