AVR学习心得(一)
昨天拿到了EasyAVR M128开发板 SK开发板,很是高兴。它花了我500个大洋,我希望我学会它后能给我找工作带来更多的机会,也希望通过对AVR单片机的学习,打好学习ARM的基础,为将来的ARM学习铺平道路……
今天我向着我人生中的又一大目标进发了,这是我学习的第三种单片机。51是第一种,我以前的所有时间和注意范围都放在了这种古老个又充满生机的单片机上,带着新的梦想我学习了第二种单片机——EMC。不过我对EMC做的不多,只是用153做了一个非常小的东西,但我认为我还是学会了EMC。这种单片机的特点是非常便宜,而美中不足的是它只能编一次程序,所以给学习带来了很大的不便。AVR就是我学习的第三种单片机……
通过前段时间对AVR的了解我选择了ICC+AVRstudio作为我的开发环境。ICC用作C编译软件(Vsita系统要V7.0以上版本),AVRstudio作为JTAG+ISP软件。
1.ICC软件界面如下:
2.AVRstudio软件界面如下:
软件使用说明:
1.ICC软件:
第一步:运行iccavr,运行project>>new,新建一个工程,保存为main.prj,保存在新文件夹avr_first下。
第二步:运行Tools>>Application Builder建立工程的工具。
看到如下图的设置界面。
icc建立avr工程属性设置
将Targat CPU 改为M16,因为我们使用的芯片是mega16
将Xtal speed 改为1.0000 ,我们使用内部晶振,内部晶振频率为1Mhz。
切换到Ports选项,作如下图所示的更改。
Ports选项
意思是使用单片机的端口A,使用0和1两个脚输出高电平,因为我们所用二极管是低电平驱动的。
其他项不做更改,点OK完成。
第三步:File>>Save as保存到你刚才第一步建立的工程的文件夹中。注意:保存的文件名必须输入后缀名,形式如main.c。
第四步:右键>>add to project
你将看到如下效果:工程建立完成
第五步:在编辑区添加如下程序代码,
CODE:
void Delay(void){
unsigned char i,j;
for(i=200;i>0;i--)
{
for(j=200;j>0;j--)
;
}
}
void main(void)
{
init_devices(); //初始化
while(1)
{
PORTA = 0x02; //1脚为高,0脚为低,0脚灯亮
Delay(); //延时
PORTA = 0x01; //0脚为高,1脚为低,1脚灯亮
Delay(); //延时
}
}
其中Delay为延时程序,main为主程序,保存程序。
第六步:Project>>options,将Device configuration改为ATmega16,其他不变,点击ok,如下图
编译器环境配置
第七步:Project>>rebuild all或者直接使用快捷键 shift +f9 ,编译工程。
成功即可看到下图所示的样子。
编译完成
在状态区看到这样的代码:
D:\Program Files\icc\bin\imakew -f main.mak
iccavr -c -ID:\PROGRA~1\icc\include\ -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:\桌面\avr_first\main.c
iccavr -o main -LD:\PROGRA~1\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x54.0x4000 -dram_end:0x45f -bdata:0x60.0x45f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 @main.lk -lcatmega
Device 0% full.
Done.
第八步:此时打开第一步建立工程的文件夹,可以看到如下文件。
文件列表
至此,在ICC AVR下的工作完成,请继续下一步,ICCavr生成程序文件解释。
2.AVRstudio软件:
第一部:硬件连接。
第二步:使用AVRstudio打开*.cof文件
如果你没有自己写AVR程序,你可以使用本站的新手入门第一个程序。AVR_first,实现红绿灯不断闪烁的例子。
程序启动时候的样子如下图:
程序启动界面:
打开main.cof文件
工程文件存为main_cof.aps方便下次打开
选择相关硬件配置
(端口的选择参见下图) 使用JTAG&SIP默认会是COM3。
端口的选择(说明:这个画面可以在:右击我的电脑>--管理>--设备管理器里面找到。)
端口频率设置
运行程序 直接运行你可以看到红绿灯闪动的效果。{点击看大图}
你还可以通过Debug里面的命令进行在线调试。 好了,现在你已经进入AVR的精彩世界了。
AVR学习心 相关文章:
- AVR学习心得(二)(11-10)
- AVR学习心得(三)(11-10)
- AVR学习心得(四)(11-10)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)