动手学AVR单片机七–流水灯实验的电路和程序实现.doc

动手学AVR单片机七–流水灯实验的电路和程序实现.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动手学AVR单片机七–流水灯实验的电路和程序实现

动手学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 avr/io.h??????? //io端口寄存器配置文件,必须包含 #include util/delay.h?????? //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的下方会出现如下图所示的提示结果 这说明我们的程序编译成功,

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档