原创 初学AVR的要点与难点(转载)

2009-6-25 17:02 2602 5 7 分类: MCU/ 嵌入式

 


      用了几个月的时间学习AVR,从51单片机过渡到了AVR单片机,从最开始的2313到现在的MEGA128,中间有许多波折,现在,我把这段时间来的设计经验作以总结,希望你会爱上AVR单片机,或者让你对AVR的单片机有所了解。
    1.关于RISC指令:传统的51是复杂指令集CISC,需要12个时钟周期执行一条指令,AVR是精简指令集,一个时钟周期执行一条指令,理论上速度可以快12倍,但是,在实际应用中发现,速度的提升大约在4-6倍左右,与具体的程序有关。一般来讲,AVR用上8M的频率工作,一般的51是难以望其项背的。现在虽然有高速的51芯片,但是价格贵得惊人,品种也不齐全,普及起来难度较大。
    2.IO口特点:51的IO是准双向口,不用定义IO方向,AVR就必须要定义,用到得寄存器是DDR;51的输入读的是锁存器的值,AVR读的是管脚的真实值PIN。例如:输出高电平,51读进仍然是高电平,即使外电路将他拉成了低电平,AVR就能够读进真实的低电平。
    3.定时器:AVR的定时器都可以预分频,对于较长时间的定时很方便,51就需要另外处理了。PWM功能也很有用,我的几个产品都用到了这个功能,用它来实现DA转换,速度比专用的DA低,但是最适合4-20MA电流环的应用。
    4.位变量:AVR中没有位变量,但是可以使用CHAR代替,AVR的RAM很充足,可以放心使用,当然,如果你觉得有点浪费,那么可以把几个标志位放进一个CHAR变量里。
    5.EEPROM:AVR内置了EEPROM,可以方便的使用,ICCAVR中只需要调用两个子程序,比起外扩24C02,可靠性要高许多,至于以前提到的异常情况下0地址被改写的问题,我还没有真正遇到过,不过,为了以防万一,我的数据一般从20H开始存放。
    6.中断:AVR中的中断没有优先级。使用中要注意。不过,对应用没有过多的影响,当然,可以手工定义一个高优先级的中断,方法是在其他中断中开发全局中断(SEI),这样,其他的中断就可以被响应,具体的处理就不细说了。
    7.熔丝设置:我和许多朋友都有写错熔丝的时候。的确,AVR的熔丝是很好的一个功能,但是建议你一定要读懂了数据手册和相关的资料再下手,最糟糕的情况是需要用并行编程器重写,一般都不具备这个条件。从MEGA8开始,熔丝的设置就比较复杂,最重要的是时钟不要设错。
    8.开发环境:如果你是一个51的开发者,并且具有一定的开发经验,那么用软件仿真的方式开发AVR单片机应该不会困难。ATMEL提供了一个极好的AVR软件仿真平台-AVR Studio,目前的版本是4.07,这可以说是我见过的最好的软件仿真环境之一,比KEIL丝毫不差。编译器推荐使用ICCAVR,有DEMO版本,正式版可以联系双龙电子或其他网友。这个软件是不错的,自认比IAR好。
    9.ISP软件:推荐免费的PONYPROG2000,www.lancos.com有免费下载,ISP适配器也很简单,只有一片244和若干电阻,需要电路图可以和我联系。
    10.ISP接口:多数芯片的ISP口线与SPI口线是公用,但是MEGA128是一个例外,真正用到的是PE0和PE1,大家一定要小心。
    11.用过MEGA128的贴片,焊接起来比430F133容易许多。
   

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1370494 2009-7-2 21:54

不错,谢谢!

用户195098 2009-6-25 17:04

原文从“维库电子市场”论坛转帖过来,但相关网址总也不能通过关键字检测。转载文章,不敢掠人之美。
相关推荐阅读
用户195098 2009-07-03 21:09
ARM、DSP、FPGA的技术特点和区别(转载)
 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软 件。ARM架构是面向低预算市场设计的第一款RISC微...
用户195098 2009-07-02 21:17
AVR单片机中断应用设计要点(转载)
原文链接:http://www.wavemcu.com/AtriclMicro/AVR/200807/20080720121809.html核心提示:AVR的中断源比较多,尤其是ATmega128,一...
用户195098 2009-07-01 22:57
AVR应用经验(转载)
原文链接:http://icgle.net/Technic/technic/2006/2/23/Technic198.htm作者:程序匠人AVR与传统类型的单片机相比,除了必须能实现原来的一些基本的功...
用户195098 2009-07-01 00:01
基于MATLAB与VC混合编程的数字均衡器设计(转载)
原文链接:http://blog.csdn.net/sbtdkj1017/archive/2008/03/21/2202003.aspx 1.概述随着数字化技术的快速、深入发展,人们对数字化电子产品所...
用户195098 2009-06-25 00:08
王小波作品选购指南(转载)
原文链接:http://space.taobao.com/67fee0f6e8e109d0a7fefc1b49dbc8e6/show_blog-24143362.htm王小波无疑是当代中国最富盛名的作...
我要评论
2
5
关闭 站长推荐上一条 /3 下一条