您好,欢迎来到六九路网。
搜索
您的当前位置:首页AVR??

AVR??

来源:六九路网
AVR学习

这次就为大家分享一下AVR的学习经验。

学习AVR单片机不是说看书就可以学会的,一定要有实操才学会(电脑不是有仿真软件么?有用的话我就不会这么说啦!继续看下去吧!)。既然要实操就一定要有开发软件、开发板、编程器。

AVR的开发软件有很多,有AVR studio、Codevison AVR、GCC AVR、ICC、IAR for avr等等。AVR studio是ATMEL的AVR单片机的集成环境汇编级开发调试软件,完全免费哦!一般来说我们是用GCC(WINAVR)配合来用,studio它是一个汇编开发的软件,而GCC是一个编译器,两者配合着用就可以用C语言了。大家可以百度一下GCC,这可不不是一个简单的编译器。Codevison AVR这开发软件对于初学者来说也是不错的软件,如果你会Keil的话上手应该是不难的(不要问我,我也不会)。ICC对于初学者来说挺好的,它可以很容易配置AVR芯片,例如管脚方向、T0计数器、T1计数器、AD转换等工作状态(我刚开始学习也是用这个开发软件)。IAR for avr用来ICC配合着用挺不错的,我现在就是用这两个软件配合来用,它和ICC的头文件差不多,就中断函数有点不一样。不过个人建议还是先学习ICC或Codevison,IAR的话,挺好用,可以先用ICC初始化然后复制到IAR。不过用IAR有很多地方要注意,首先要注意的就是IAR中AVR的头文件经常是有问题的,我用过的ATMEGA48和ATMEGA8的头文件都要经过一些小改动才可以通过。

例如编译出现以下这种状况:

使用的芯片是ATMEGA48,程序没错但编译就出现这种状况。经过多次检查,发现是iom48.inc这个文件有问题。做出以下修改,就可以编译成功。iom48.inc修改如下:

只要把iom48.inc 的头和尾都加//就可以编译成功了。貌似ATMEGA8也要经过修改后才可以编译成功。

还要注意一点,IAR默认的输出文件不是HEX格式,是.a90,经过以下的修改后就可以输出HEX文件了:

改了什么地方自己认真观察吧!

ICC我也举个初始化的例子吧!ICC界面比较简单

看到那个紫色的“按键”(叫按键吗?)按一下就出现下面的界面:

学AVR中有个很重要的地方,那就是熔丝位编程。熔丝位编程主要的作用就是编程芯片的工作状态,例如编程看门狗一直开着,BOD电平检测,使能ISP编程,系统时钟分频,时钟振荡器方式等。

下面我先来介绍一下AVR编程器。USBasp是外国人DIY的编程器,使用的是ISP编程方式。AVR一般来有两种编程方法:1、高压编程器 2、ISP编程。高压编程器可以说是最好的,即使芯片因熔丝编程错误而芯片被锁了也可以重新编程,但成本是最高的,买一个高压编程器都要几百块,所以对于个人学习来说我个人觉得不怎么合适。ISP编程就不一样了,它只需要四根线就可以下载程序分别是:MISO、MOSI、REST、SCK, 从成本来说它是最便宜的,如果是自己制作10块左右就可以了,当然,也可以在淘宝上买到。ISP编程有些地方一定要注意的,首先就是熔丝编程。ISP编程熔丝位一定要使能,REST熔丝位也要使能(就因为这个原因我有3、4片ATtiny13和ATtiny26被锁了),不能作为I/O口用,记得不要加密哦!一般来说我们要改熔丝位就是改四个地方,一、使能看门狗一直开着;二、使能掉电检测;三、使能系统8分频;四、使能内部RC或是外部RC还是外部晶振(这个重要啊!如果是内部RC没关系,外部熔丝位编程搞错了,与外部的不匹配的话又会编程失败,直至匹配了才可以再编程。这一点要十分注

意哦!)

下面是USBasp的原理图:

在上图中要注意几点:

1、R2的取值要在1.5K—2.2K间,这是USB协议规定的,太大太小都会连接失败。,

2、D1、D2稳压管最好要有,其实没有也是可以的,但不稳定。

3、P4是在为ATmega8\\ATmega48\\ATmega88烧固件时候要用,在我画的PCB中是没有的,其实可以用一根线跳过去,烧完固件程序后拿掉就可以了。 4、D3主要是反向保护用。

使用注意以下几点:

1、P3是很重要的,它的作用主要是用来选择烧写速度的。PC2接高电平时是高速,接低电平时是低速烧写。

2、要烧写目标芯片的复位电容要注意不要太大,一般不大于2.2u。

在实际使用时我发现有有一点是比较奇怪的。一个就是如果芯片是用内部RC时会出现连接错误的警告,如果是用低速方式就可以正确使用了。其实这编程器也不难制作,用万用板都可以搞掂。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务