资 源 简 介
嵌入式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 部分练习答案