avr单片机流水灯程序c语言,动手学AVR单片机流水灯实验电路和程序实现.doc

动手学AVR单片机六、基于ATMEGA64的流水灯实验动手学AVR单片机六、基于ATMEGA64的流水灯实验作者:佚名????AVR单片机来源:/????点击数: 1156????更新时间:2009-5-23????

动手学AVR单片机六、流水灯实验 ---基于ATmega64

前面已经了解了AVR单片机的一些知识,另外我们也自制了AVR单片机的开发工具,现在开始进入实战演练阶段了。在正式开始之前,强烈建议手头准备一份ATmega64单片机的数据手册(中文和英文的最好都准备了),这个数据手册可以直接从网上下载。

在接下来的学习中,我们主要用到的开发工具是编程器,至于仿真器,可以少用或不用。因为我们开始学习的都是一些比较简单、程序量也不大。当程序中出现问题的时候,我们可以采用在程序可能出现问题的地方增加指示的方法来调试(比较常用的方法是在程序的特定地方点亮或者熄灭LED发光二极管,或者在程序中增加串口输出来提示程序的执行结果)。

一、编译软件的使用

编译软件我们采用WINAVR,也就是俗称的GCC。GCC支持项目开发(就是把项目中所有用到的程序、文件放置在一个文件夹中)。在实际的开发过程中我们可以不必每次都创建新项目,可以直接编写源程序,然后保存为.c格式的文件后直接编译运行就可以了。

安装完GCC后,我们可以对编译器进行一些小小的设置,这样可以是我们编写出来的程序更加直观和便于查看。

1、打开WINAVR中的PN(Programmers NotePad),选择菜单“Tools”下面的“Options”选项,出现如下图所示的对话框

2、选择“Style”选项中的“Schemes”,开始设置程序中不同代码的显示颜色,首先设置预编译指令的颜色,如下图(颜色可以根据个人喜好设置)

3、然后设置操作符(包括运算符)的颜色,如下图,

4、接下来设置数字的颜色,如下图

5、这些代码中不同代码设置成不同颜色可以帮助我们更加直观的分析程序,同时也便于我们查找错误,

6、设置打印代码时最多打印列数,如下图

7、设置新建文件的缺省类型(默认为.c文件),如下图

8、编译快捷键设置,如下图

9、经过以上设置以后,GCC编译环境已经基本符合我们的使用习惯了。

二、下面开始我们的第一个实验:流水灯

1、在GCC中新建文件并保存为main.c。输入以下程序代码,然后保存为main.c

#include ??????? //io端口寄存器配置文件,必须包含#include ?????? //GCC中的延时函数头文件

int main(void)??????????? //GCC中main文件必须为返回整形值的函数,没有参数{?PORTB = 0Xff;???????? //PORTB输出低电平,使LED熄灭??DDRB = 0XFF;?????????? //配置端口PB全部为输出口??while(1)?{??unsigned char Flow_LED,Delay500ms;???? //定义流水灯循环次数以及延时时间变量??for(Flow_LED = 0;Flow_LED <= 7;Flow_LED++)? //流水灯从0-7总共循环8次??{??????PORTB = 0xff & (~(1 << Flow_LED));???????? //每次循环中点亮一个LED??????for(Delay500ms = 0;Delay500ms < 20;Delay500ms++)??? //延时500ms???{????_delay_ms(100);???????? //delay.h中的延时1ms函数???}??}???}}

?

2、配置makefile文件,AVR单片机比较麻烦的一点是熔丝位的配置,在我们使用的GCC编译环境中需要配置makefile文件。我们可以使用GCC自带的makefile生成工具MFile来生成makefile文件,也可以从网上(OURAVR网站有个比较详细的makefile文件设置教程)下载一个makefile文件,然后更改其中的内容。makefile文件中主要配置以下几个设置:

单片机型号配置,如下图

时钟频率配置,如下图

编译目标文件名称,如下图

需要添加编译的其他.c文件(这一选项配置在以后用到时会有所讲解,在此可以不必过多关注),如下图

配置好makefile文件后将它和我们刚才编写的程序保存在同一个文件夹下。这是按下快捷键F9或者选择“Tools”菜单下的“make all”选项,对我们刚刚编写的程序进行编译。编译成功后,GCC的下方会出现如下图所示的提示结果

这说明我们的程序编译成功,没有错误,接下来就可以将生成的.h

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值