AV R 单片机与 GCC 编程
V 1.1 版
芯 艺
2004-10-06
请到 http://bitfu.zj.com
下载最新版本和示例程序
问题反馈:
OICQ : 27796915
MSN : changfutong@hotmail.com
E-mail : changfutong@sina.com
感谢您的支持!
目 录
第一章 AVR 单片机开发概述
1.1 一个简简单的例子
1.2 用 MAKEFILE 管理项目
1.3 开发环境的配置
第二章 存储器操作
2.1 AVR 单片机存储器组织结构
2.2 I/O 寄存器操作
2.3 SRAM 内变量的使用
2.4 在程序中访问 FLASH 程序存储器
2.5 EEPROM 数据存储器操作
2.6 avr-gcc 段结构与再定位
第三章 功能模块编程示例
3.1 中断服务程序
3.2 定时器/计数器应用
3.3 看门狗应用
3.4 UART 应用
3.5 PWM 功能编程
3.6 模拟比较器
3.7 A/D 转换模块编程
第四章 使用 C 语言标准 I/O 流调试程序
4.1 avr-libc 标准 I/O 流描述
4.2 利用标准 I/0 流调试程序
第五章 AT89S52 下载编程器的制作
5.1 LuckyProg S52 概述
5.2 AT89S52 ISP 功能简介
5.3 程序设计
第六章 硬件 TWI 端口编程
6.1 TWI 模块概述
6.2 主控模式操作实时时钟 DS1307
6.3 两个 Mega8 间的 TWI 通信
第七章 BootLoader 功能应用
7.1 BootLoader 功能介绍
7.2 avr-libc 对 BootLoader 的支持
7.3 BootLoader 应用实例
第八章 汇编语言支持
8.1 C 代码中内联汇编程序
8.2 独立的汇编语言支持
8.3 C 与汇编混合编程
第九章 C++语言支持
结束语
附录 1 avr-gcc 选项
附录 2 ihex 格式描述
芯 艺 作 品
1
第一章 AVR 单片机 GCC 程序设计
WINAVR 是一个 ATMEL AVR 系列单片机的开发工具集,它包含 GNU C 和 C++编译
器 GCC。
1.1 一个简单的例子
为了先有一个感性的认识,我们首先看一下如下一段程序和它的编译、链接过程。
文件 demo1.c :
#include <avr/io.h>
int main( void )
{
unsigned char i, j, k,led=0;
DDRB=0xff;
while (1)
{
if(led)
PORTB|=0X01;
else
PORTB&=0XFE;
led=!led;
//延时
for (i=0; i<255; i++)
for(j=0; j<255;j++)
k++;
}
}
这是一个使接在 PB0 口的 LED 发光管闪烁的程序。有了源程序文件 demo1.c,我们就
可以编译它了。通过点击菜单开始->运行 在弹出的对话框中输入 “ command ” ,来打开控
制台窗口,并在命令行输入:
avr-gcc –mmcu=at90s2313 –c demo1.c
如图 1-1 所示。