书籍详情
AVR-GCC与AVR单片机C语言开发
作者:吴双力 等编著
出版社:北京航空航天大学出版社
出版时间:2004-10-01
ISBN:9787810775137
定价:¥28.00
购买这本书可以去
内容简介
《AVR-GCC与AVR单片机C语言开发(附光盘)》以AVRGCC的Windows版本WinAVR20040404为例,介绍使用AVR-GCC开发AVR单片机的方法。首先介绍AVR单片机的特点,使读者对AVR单片机有整体的印象。随后简单地介绍了C语言的语法和AVR-GCC的函数库avr-libc的常用库函数及定义。接下来以ATmega16单片机为例,介绍了AVR单片机常用部件的操作方法。最后,介绍了运行于AVR单片机上的实时操作系统AVRX的使用方法和AVR单片机的调试方法,以供更高层次的读者参考。《AVR-GCC与AVR单片机C语言开发(附光盘)》适合于有一定单片机基础或者了解一定C语言知识的单片机爱好者、工程技术人员和大专院校的学生学习AVR单片机的C语言开发之用。《AVR-GCC与AVR单片机C语言开发(附光盘)》附光盘1张,包括书中讲述的WinAVR工具套件AVRStudio,VMLAB等软件,以及Unix平台下开发需要的相关软件和资料。
作者简介
暂缺《AVR-GCC与AVR单片机C语言开发》作者简介
目录
第1章 AVR基本知识
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 AVR单片机C语言编译器简介8
1.5.1 Codevision AVR8
1.5.2 Imagecraft C Compiler 8
1.5.3 AVRGCC9
1.6 学习的过程10
1.6.1 开始前的准备10
1.6.2 各种有助于学习的资源11
第2章 AVR-GCC编译器及相关开发工具
2.1 WinAVR简介与安装14
2.1.1 WinAVR简介14
2.1.2 WinAVR的安装15
2.2 编辑工具PN简介19
2.2.1 PN简介19
2.2.2 用PN新建一个C文件19
2.2.3 在PN中编译源文件21
2.2.4 在PN中添加工具23
2.2.5 在PN中新建一个工程25
2.3 编译器AVRGCC26
2.3.1 AVRGCC简介26
2.3.2 AVRGCC的编译过程26
2.4 Make及Makefile的结构分析29
2.4.1 Make工具简介29
2.4.2 Makefile29
2.4.3 PN中添加Make工具29
2.4.4 Makefile样例结构分析31
2.4.5 自动生成Makefile的工具——mfile39
2.5 AVR单片机仿真调试软件40
2.5.1 各种仿真调试软件的简介和对比40
2.5.2 使用AVR Studio 4进行代码级仿真41
2.5.3 VMLAB的使用48
2.5.4 GDB(AVRInsight)和Simulavr的配合仿真方法70
2.6 PonyProg200072
2.6.1 PonyProg2000安装和使用方法73
2.6.2 如何利用PN和PonyProg2000配合下载78
2.6.3 PonyProg2000的脚本文件79
2.6.4 简易下载线的制作80
第3章 AVR单片机C语言开发入门
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 avrlibc与器件相关的I/O定义112
3.3 avrlibc标准I/O工具113
3.3.1 常量定义114
3.3.2 函数声明115
3.4 avrlibc的常用工具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 标准字符串和程序空间中的字符串131
3.6.1 标准字符串操作函数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.8.3 向后兼容的定义143
3.8.4 与IAR C兼容的定义143
3.9 电源管理函数143
3.9.1 休眠模式定义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章 AVR单片机典型外围设备应用编程
4.1 AVR单片机的计数器160
4.1.1 计数器的事件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 通用串行接口UART的使用182
4.3.1 传输模式的选择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接口的EEPROM186
4.4.1 SPI接口介绍186
4.4.2 SPI的传输原理186
4.4.3 SPI器件的主/从模式和设置187
4.4.4 SPI的传输模式和设置187
4.4.5 SPI主/从模式和I/O的设置188
4.4.6 SPI接口的时钟频率设置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接口的EEPROM190
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接口读/写EEPROM203
4.6.5 示例程序205
第5章 用AVR单片机实现的测量仪表
5.1 总体设计思路211
5.2 传感器特性曲线拟合211
5.2.1 采样数据的获得212
5.2.2 特性曲线拟合处理212
5.3 单键开关电路214
5.3.1 电路原理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
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.2.7 系统堆栈230
6.3 AVRX下的编程230
6.3.1 任务的结构231
6.3.2 中断处理232
6.3.3 主函数结构232
6.3.4 编程实例236
第7章 AVRJTAG与AVR单片机仿真技术
7.1 JTAG简介241
7.2 制作简易的JTAGICE242
7.3 用JTAGICE调试AVR单片机250
7.3.1 JTAGICE的调试接口 250
7.3.2 JTAGICE与用户板的连接251
7.3.3 在AVR Studio中使用JTAGICE调试程序251附录AAVRGCC和Unix类操作系统
附录B所附光盘内容说明
参考文献
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 AVR单片机C语言编译器简介8
1.5.1 Codevision AVR8
1.5.2 Imagecraft C Compiler 8
1.5.3 AVRGCC9
1.6 学习的过程10
1.6.1 开始前的准备10
1.6.2 各种有助于学习的资源11
第2章 AVR-GCC编译器及相关开发工具
2.1 WinAVR简介与安装14
2.1.1 WinAVR简介14
2.1.2 WinAVR的安装15
2.2 编辑工具PN简介19
2.2.1 PN简介19
2.2.2 用PN新建一个C文件19
2.2.3 在PN中编译源文件21
2.2.4 在PN中添加工具23
2.2.5 在PN中新建一个工程25
2.3 编译器AVRGCC26
2.3.1 AVRGCC简介26
2.3.2 AVRGCC的编译过程26
2.4 Make及Makefile的结构分析29
2.4.1 Make工具简介29
2.4.2 Makefile29
2.4.3 PN中添加Make工具29
2.4.4 Makefile样例结构分析31
2.4.5 自动生成Makefile的工具——mfile39
2.5 AVR单片机仿真调试软件40
2.5.1 各种仿真调试软件的简介和对比40
2.5.2 使用AVR Studio 4进行代码级仿真41
2.5.3 VMLAB的使用48
2.5.4 GDB(AVRInsight)和Simulavr的配合仿真方法70
2.6 PonyProg200072
2.6.1 PonyProg2000安装和使用方法73
2.6.2 如何利用PN和PonyProg2000配合下载78
2.6.3 PonyProg2000的脚本文件79
2.6.4 简易下载线的制作80
第3章 AVR单片机C语言开发入门
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 avrlibc与器件相关的I/O定义112
3.3 avrlibc标准I/O工具113
3.3.1 常量定义114
3.3.2 函数声明115
3.4 avrlibc的常用工具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 标准字符串和程序空间中的字符串131
3.6.1 标准字符串操作函数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.8.3 向后兼容的定义143
3.8.4 与IAR C兼容的定义143
3.9 电源管理函数143
3.9.1 休眠模式定义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章 AVR单片机典型外围设备应用编程
4.1 AVR单片机的计数器160
4.1.1 计数器的事件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 通用串行接口UART的使用182
4.3.1 传输模式的选择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接口的EEPROM186
4.4.1 SPI接口介绍186
4.4.2 SPI的传输原理186
4.4.3 SPI器件的主/从模式和设置187
4.4.4 SPI的传输模式和设置187
4.4.5 SPI主/从模式和I/O的设置188
4.4.6 SPI接口的时钟频率设置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接口的EEPROM190
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接口读/写EEPROM203
4.6.5 示例程序205
第5章 用AVR单片机实现的测量仪表
5.1 总体设计思路211
5.2 传感器特性曲线拟合211
5.2.1 采样数据的获得212
5.2.2 特性曲线拟合处理212
5.3 单键开关电路214
5.3.1 电路原理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
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.2.7 系统堆栈230
6.3 AVRX下的编程230
6.3.1 任务的结构231
6.3.2 中断处理232
6.3.3 主函数结构232
6.3.4 编程实例236
第7章 AVRJTAG与AVR单片机仿真技术
7.1 JTAG简介241
7.2 制作简易的JTAGICE242
7.3 用JTAGICE调试AVR单片机250
7.3.1 JTAGICE的调试接口 250
7.3.2 JTAGICE与用户板的连接251
7.3.3 在AVR Studio中使用JTAGICE调试程序251附录AAVRGCC和Unix类操作系统
附录B所附光盘内容说明
参考文献
猜您喜欢