嵌入式C编程与Atmel AVR
嵌入式C编程与Atmel AVR是目前可以获得的最佳书籍之一。对于初学者,本书将会是极好的选择。随着对AtmelAVRRISC处理器的介绍,读者会立即进入嵌入式C语言教程之中。欢迎进入嵌入式编程和微控制器应用的世界!使用日益流行且价格适宜的AtmelAVR嵌入式控制器作为学习平台。本书是目前可以获得的最佳书籍之一。对于初学者,本书将会是极好的选择。随着对AtmelAVRRISC处理器的介绍,读者会立即进入嵌入式C语言教程之中。在本书中,读者将学习C语言的变量和常量、运算符和表达式、控制语句、指针和数组、存储器类型、预处理指令、实时方法等等。本书特点:强调嵌入式系统编程,包括大量的示例,本书通过这些示例来引导读者入门,进而学习高级嵌入式C编程技术。本书第4章完整地介绍了CodeVisionAVRCCompiler,该章提供了关于IDE安装与操作以及CodeWizardCodeGenerator的使用的一个清晰的、循序渐进的指导。本书还介绍了外设的使用,如键区、LCD显示器以及其他常用的嵌入式微控制器相关设备。作者简介:RICHARDH.BARNETT是PURDUE大学的电子工程技术专业的教授。在教学方面,BARNETT博士获得了很多奖项,包括作为PURDUE大学杰出的毕业生教师而获得了CHARLESB.MURPHYAWARD,同时因为教学出色而获得。
嵌入式C编程与Atmel AVR 目录 第1章 嵌入式C语言导论
1. 1 本章目标
1. 2 引言
1. 3 基本概念
1. 4 变量和常量
1. 4. 1 变量类型
1. 4. 2 变量的作用域
1. 4. 3 常量
1. 4. 4 枚举和定义
1. 4. 5 存储类型
1. 4. 6 类型转换
1. 5 输入/输出操作
1. 6 运算符和表达式
1. 6. 1 赋值运算符和算术运算符
1. 6. 2 逻辑运算符与关系运算符
1. 6. 3 自增运算符. 自减运算符和复合赋值运算符
1. 6. 4 条件表达式
1. 6. 5 运算符优先级
1. 7 控制语句
1. 7. 1 while循环
1. 7. 2 do/while循环
1. 7. 3 for循环
1. 7. 4 if/else语句
1. 7. 5 switch/case语句
1. 7. 6 break. conTInue和goto语句
1. 8 函数
1. 8. 1 原型和函数组织
1. 8. 2 函数返回值
1. 8. 3 递归函数
1. 9 指针和数组
1. 9. 1 指针
1. 9. 2 数组
1. 9. 3 多维数组
1. 9. 4 指向函数的指针
1. 10 结构与共用体
1. 10. 1 结构
1. 10. 2 结构数组
1. 10. 3 指向结构的指针
1. 10. 4 共用体
1. 10. 5 typedef运算符
1. 10. 6 位和位域
1. 10. 7 sizeof运算符
1. 11 存储器类型
1. 11. 1 常量和变量
1. 11. 2 指针
1. 11. 3 寄存器变量
1. 12 实时方法
1. 12. 1 使用中断
1. 12. 2 状态机
1. 13 本章小结
1. 14 练习
1. 15 上机实习
第2章 Atmel Risc处理器
2. 1 本章目标
2. 2 引言
2. 3 体系结构概述
2. 4 存储器
2. 4. 1 FLASH代码存储器
2. 4. 2 数据存储器
2. 4. 3 EEPROM存储器
2. 5 复位和中断功能
2. 5. 1 中断
2. 5. 2 复位
2. 6 并行I/O端口
2. 7 计时器/计数器
2. 7. 1 计时器/计数器预定标器和输入选择器
2. 7. 2 TImer 0
2. 7. 3 TImer 1
2. 7. 4 TImer 2
2. 8 使用UART进行串行通信
2. 9 模拟接口
2. 9. 1 模数转换背景知识
2. 9. 2 模数转换器外设
2. 9. 3 模拟比较器
2. 10 利用SPI进行串行通信
2. 11 AVR RISC汇编语言指令集
2. 12 本章小结
2. 13 练习
2. 14 上机实习
第3章 标准I/O和预处理函数
3. 1 本章目标
3. 2 引言
3. 3 字符输入/输出函数getchar()和putchar()
3. 4 标准输出函数
3. 4. 1 输出字符串函数puts()
3. 4. 2 从FLASH输出字符串函数PUTSF()
3. 4. 3 格式打印函数printf()
3. 4. 4 字符串格式打印函数sprintf()
3. 5 标准输入函数
3. 5. 1 获得字符串函数gets()
3. 5. 2 格式扫描函数scanf()
3. 5. 3 字符串格式扫描函数sscanf()
3. 6 预处理指令
3. 6. 1 #include指令
3. 6. 2 #define指令
3. 6. 3 #ifdef, #ifndef, #else和#endif指令
3. 6. 4 #pragma指令
3. 6. 5 其他宏和指令
3. 7 本章小结
3. 8 练习
3. 9 上机实习
第4章 CodeVisionAVR C编译器和集成开发环境
4. 1 本章目标
4. 2 引言
4. 3 集成开发(IDE)环境操作
4. 3. 1 项目
4. 3. 2 源文件
4. 3. 3 编辑文件
4. 3. 4 打印文件
4. 3. 5 文件导航器
4. 4 C 编译器选项
4. 4. 1 UART
4. 4. 2 存储器模式
4. 4. 3 优化
4. 4. 4 程序类型
4. 4. 5 SRAM
4. 4. 6 编译
4. 5 编译和生成项目
4. 5. 1 编译项目
4. 5. 2 生成项目
4. 6 对目标设备编程
4. 6. 1 芯片
4. 6. 2 FLASH和EEPROM
4. 6. 3 FLASH锁定位
4. 6. 4 保险位
4. 6. 5 Boot Lock Bit 0和Boot Lock Bit 1
4. 6. 6 签名
4. 6. 7 芯片擦除
4. 6. 8 编程速度,
4. 6. 9 Program I All
4. 6. 10 其他编程器
4. 7 CodeWizardAVR代码生成器
4. 7. 1 Chip选项卡
4. 7. 2 Ports选项卡
4. 7. 3 External IRQ选项卡
4. 7. 4 Timers选项卡
4. 7. 5 UART选项卡
4. 7. 6 ADC选项卡
4. 7. 7 Project Information选项卡
4. 7. 8 生成源代码
4. 8 终端工具
4. 9 Atmel AVR Studio调试器
4. 9. 1 为AVR Studio新建一个COFF文件
4. 9. 2 从Code VisionAVR启动AVR Studio
4. 9. 3 打开文件进行调试
4. 9. 4 开始. 中断和跟踪
4. 9. 5 设置和清除断点
4. 9. 6 查看和修改寄存器和变量的值
4. 9. 7 查看和修改机器状态
4. 10 本章小结
4. 11 练习
4. 12 上机实习
第5章 项目开发
5. 1 本章目标
5. 2 引言
5. 3 概念开发阶段
5. 4 项目开发过程的步骤
5. 4. 1 定义阶段
5. 4. 2 设计阶段
5. 4. 3 测试定义阶段
5. 4. 4 建立和测试硬件原型阶段
5. 4. 5 系统集成和开发阶段
5. 4. 6 系统测试阶段
5. 4. 7 庆祝阶段
5. 5 项目开发过程总结
5. 6 示例项目:一个气象监测器
5. 6. 1 构思阶段
5. 6. 2 定义阶段
5. 6. 3 测量方法在设计方面的考虑
5. 6. 4 室外装置的硬件设计
5. 6. 5 室外装置的软件设计
5. 6. 6 室内装置的硬件设计
5. 6. 7 室内装置的软件设计
5. 6. 8 测试定义阶段
5. 6. 9 建立和测试原型硬件阶段
5. 6. 10 系统集成和软件开发阶段--室外装置
5. 6. 11 系统集成和软件开发阶段--室内装置
5. 6. 12 系统测试阶段
5. 7 挑战
5. 8 本章小结
5. 9 练习
5. 10 上机实习
附录A 库函数参考
附录B CodeVisionAVR和STK500入门
附录C AVR微控制器编程
附录D 安装并使用TheCableAVR
附录E MegAVR-DEV开发板
附录F ASCII字符表
附录G AVR指令集汇总
附录H 部分练习答案