您的位置 首页 电源

WinAVR(GCC)快速入门

导读:开发avr单片机,我们以avr8515芯片为例子,来介绍它的使用方法,希望对感兴趣的朋友有所帮助。WinAVR的配置与makefile一直是

导读:开发avr单片机,咱们以avr 8515芯片为比如,来介绍它的运用办法,希望对感兴趣的朋友有所协助。

WinAVR 的装备与 makefile 一直是新手入门的两个难点。咱们经过具体的测验,引荐咱们不需求作任何的装备,而且介绍了如何用最简略的办法创立自己的 makefile 文件。运用本文,十来分钟你就能入门 WinAVR /GCC.  

首要:下载安装WinAVR-20050214.exe软件安装好后(现在查阅最新的版别是07年的,即2007xxxx),你就能在电脑上看到如下的功用菜单:

阐明如下:

称号

阐明

Programmers Notepad

GCC言语修正器。可供给运用程序接口。

Mfile

GCC需求一个叫 makefile 的参数文件才干进行编译。Mfile 是一个东西,能够让用户方便地修正 makefile 上的参数。不过咱们不引荐运用它。咱们引荐直接用记事本翻开 makefile 进行修正。

AVR Insight

仿真调试东西

TkInfo

GNU的超文本浏览器

Uninstall WinAVR

卸载 WinAVR 软件

WinAVR User Manual

WinAVR 用户手册

GNU Maunals Online

GNU的在线协助

AVR-libc Manual

AVR GCC的C言语函数库协助手册

过程一:翻开 PN 东西
过程二: 在硬盘树立一个专门寄存avr文件的目录, 例如,咱们在D:盘新建一个AVR的目录,留意!不要用中文目录!也不要存在其他的有中文目录的途径。
在PN东西的修正窗口中输入下面的一个简略的跑马灯程序:

在PN东西的修正窗口中输入下面的一个简略的跑马灯程序:#include “avr/io.h”static void io_init(void)
{
PORTA = 0xff;
DDRA = 0xff;
}
void mDelay(uint16_t DelayTim)
{ uint16_t i;
for(;DelayTim>0;DelayTim–)
{ for(i=0;i<4000;i++)
{;}
for(i=0;i<3900;i++)
{;}
}
}

int main(void){
uint8_t i=0;
io_init();
while(1)
{ if(++i>=8)
i=0;
PORTA=~(0x01<>i可改动流水灯方向mDelay(500);}
}
然后:菜单 File –>save as..把它保存在刚刚树立的d:avr目录下,命名为led.c

 

回到前面点程序菜单的winavr的mfile出现前面的界面

点击主菜单Makefile->Main file name…即出现如图2所示的对话框,一般不需求更改此选项,终究发生的hex文件即main.hex。

 接着点击Makefile->Mcu type,设定所用单片机的类型,如图3所示咱们挑选ATmega8515为咱们所用的类型。

点击:Make–>Debug Format:可挑选输出的调试文件格局,应挑选最终一项:ELF/DRARF-2(AVR Studio ELF,GDB[experimental] ),这样能够由发生供AVR studio 4以上版别调试用的ELF格局的文件。
点击:Make–>C/C++ Source Files……出现挑选文件名的对话框,如图4所示,请用“Choose file…”钮挑选你所要编译的文件,留意,必定要将Include main.c前面的勾去掉,除非你的确有一个名为main.c的文件。

图4 挑选主文件

其他的项一般能够不用改动。

更改后用File–>Save as…将该makefile文件保存至方才所建文件夹d:avr中。

编译 (Make All):
回到Programmer Notepads中,点击:Tools->Make All,即可对该文件进行编译、链接等处理,有关信息在output窗口中出现。如有过错,单击过错行,即可定位,以便对此进行修正,直到编译、链接完全正确中止。此刻,output窗口显现:> Process Exit Code: 0 (不然程序有问题请查看)

烧写程序/演示
用下载线连接好方针板上的ATmega8515L或Atmega8515,敞开电源 , 运转下载软件,如小马或许XLISP软件, XLISP软件中挑选相应的芯片类型,器材装备选项中按 图6 设置

依照上图挑选: 单片机作业在内部时钟8MHZ

留意:熔丝位装备过错将会锁死芯片导致再编程失利。

加载编译的文件main.hex 烧写程序,正常即可观查到流水灯作用!

特别留意!因为51单片机和AVR单片机的复位信号相反,而XL600/XL1000首要规划为51单片机运用,为此, 假如按XL600/XL1000的复位键后,则中止运转, 按下不动,才从头运转。初学者请留意!别的因为软件规划的原因或许关键两次智能一键通, 才干正常的下载。

附表:Atmega8515/L的熔丝装备阐明(具体资料请参阅官方Datasheet)
表1.时钟源挑选

默许时钟源:
芯片在出厂时CKSEL = “0001”, SUT = “10”。默许时钟源为有最长发动时刻的内部RC振荡器(频率1M)。默许设置能够确保用户经过体系内或并行编程得到他们希望的时钟源。

标定的片内RC 振荡器供给了固定的1.0、2.0、4.0 或8.0 MHz 的时钟。这些频率都是5V、25°C 下的标称数值。这个时钟也能够作为体系时钟,只需依照表2 对熔丝位CKSEL进行编程即可。
表2. 片内标定的RC 振荡器作业形式

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/261284.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部