- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动手学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的下方会出现如下图所示的提示结果
这说明我们的程序编译成功,没有错误,接下来就可以将生成的.hex文件下载到学习
您可能关注的文档
- 创业致富经济型小项目.doc
- 创伤後压力症候群.doc
- 创就部小贴士内容.doc
- 创建卫生城市资料.doc
- 创建深圳市优势传统产业区域品牌.doc
- 创意团队简介及文化.doc
- 创新实践项目调查报告.doc
- 创新理论与实践概论作业3.doc
- 创维47E70RG独家评测.doc
- 初一上“读一读写一写”.doc
- 人教PEP版三年级英语上册Unit 6 Useful numbers单元分层作业.pdf
- 鲁教版九年级化学第七单元 常见的酸和碱 单元教学设计 (表格式).pdf
- 冀教版七年级英语下册第八单元Unit 8 Summer Holiday Is Coming!(单元教学设计).pdf
- 沪科版八年级数学下册第18章《勾股定理》单元教学设计(表格式).pdf
- 冀教版七年级数学下册第八章《整式的乘法》 单元教学设计(表格式).pdf
- 北师大版六年级数学下册全册单元教学设计 (表格式).pdf
- 部编版语文七年级下册全册单元教学设计.pdf
- 冀教版七年级英语下册全册大单元教学设计.pdf
- 人教版数学二年级下册全册单元教学设计.pdf
- 鲁教版九年级化学第三单元 溶液 单元教学设计 (表格式).pdf
文档评论(0)