EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
随着各IC厂商推出各种高性能的单片机,51单片机已经远远不能满足大家对高性能单片机的需求。目前很多公司和学校已经开始转向AVR单片机了,相信在未来几年,AVR将会非常兴旺,所以学习AVR单片机将会很有前途。: r* u ]# m: s1 b
相比经典的51系列来说,AVR单片机突出的优点主要有以下几点:
4 d( e2 i! X2 `% R2 s, G( ]% R" `" s( L4 J! a/ g) o. m
一、速度快。AVR是精简指令集单片机,其速度可以达到1MIPS/秒,理论上是传统的51的12倍,实际上在10倍左右。
& R* [4 l+ y* b+ D9 j% ]
6 R; `- U! d4 l( B二、片上资源丰富。MEGA系列片上具备JTAG仿真和下载功能。片内含有看门狗电路、片内程序Flash、片内数据RAM、同步串行接口SPI、异步串口UART、内嵌AD转换器、EEPROM、模拟比较器、PWM定时计数器、TWI(IIC)总线接口、硬件乘法器、独立振荡器的实时计数器RTC、片内标定的RC振荡器等片内外设,可以满足各种开发需求。
* S, G7 t& [( ~
! U' C0 ]' f1 S% O: ?) o7 [ n" K三、驱动能力强。I/O口可以直接驱动数码管、LED、继电器等器件,节省很多外围电路,即节省开发难度,又降低成本。/ j2 E8 A$ y) J/ T4 S
5 O& y9 e% f. {0 E! L1 _3 t' Y# p四、功耗低。低功耗虽然比不上430单片机,但是在单片机中也是佼佼者。, _+ A( }& y% J5 w2 j* o: |
+ F% M5 j9 r2 g8 G2 u五、可选择型号种类多。各种不同的型号可以满足不同的需求,让你的项目有很多的选择余地。
W9 x: }1 c& r+ z
Y. y6 f3 B! @0 C, q六、性价比高。在高性能的前提下,并没有增加芯片的价格,价格可以和51相比,而功能确是51不可以比的。
! Z; T2 D: g- K8 A/ J
1 x, I1 a. H6 P1 m: j# q. ]综合以上的优点和今后的趋势,学习AVR单片机是很必要的。
" R, a/ ?8 D& J+ |) H) }
/ g8 O9 x( J7 _3 x; U1 I下面就我个人的体会怎么样才能更快的学好AVR单片机!!很多想学习AVR的人都问我怎样才能学好?下面我就把我自己是如何学习AVR单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。 下面简要介绍一下步骤:
4 @) D6 v& _0 ^, { I ~. i
, H, P8 x- M+ P; Q( R2 u& V一、找本书大概了解一下AVR单片机结构、功能。大概了解就行,不用看的很细。(五天): R g8 \; J- M2 u }: ]
8 v# H8 k1 H0 h/ V/ ?2 `0 G
二、找学习板练习编写程序,学单片机主要是练习编写程序,遇到不会的再请教别人或查书。(四十天)
. a' `' v) J* }; d6 V5 }+ K* E. j) Q# O1 Y7 E) C
三、如果你学习的是MEGA系列的AVR单片机,你还要学会怎么样设置熔丝位,让它更高效、更方便的为你工作。(一天)
F( U* B/ w) u' D6 b
, C' k$ M# J% M1 e, A4 x3 N2 x# Z四、自己在网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。(十天)9 ]( r1 _7 R) F8 j
3 p5 ?! \* m2 p. `五、自己独立设计具有个人风格的电路、产品,……你已经是高手了。 5 q- i; O# E* V/ p
c E& r8 n; W& j5 W) w& F2 |* }
计算一下时间,两个月左右你就可以熟练操作AVR单片机了,至于多长时间成为高手,看你的努力程度了。$ Y: o! f8 ?1 L. }: ^
% q9 K4 V5 N- g" P; z: g; ?6 U
任何一款单片机的学习都应该是和实践紧密结合的过程,不能长时间的停留在书本上。但是学习单片机也是学习知识,所以首先还必须得看书,因为从书中你需要大概了解一下,单片机是什么东西?都可以干什么?如何控制它才能达到我们的目的等等?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。可以把它当做小说来看,只要了解个大概就行。推荐一本书,书名是《AVR系列单片机C语言编程与应用实例》,是清华大学出版社出版的。大概了解一下书上的内容,然后实践,这是非常关键的,因为学单片机你不实践是不可能学会的。% e/ C, C" B" |
; f) c o3 n p+ w. H( _, r3 X关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,功能少的花钱少,入门过后就没什么用处了。功能多的虽然贵点,但是你可以学习到更多的东西。好的学习板可以当作开发板,很多人以为学习板和开发板这是一个东西,其实不然,学习板只能来简单的学习,开发板呢?上面的东西很专业,程序中的子函数很独立,在你开发的时候,很多东西拿来就可以用直接调用,很方便。所以我个人建议买个好点的可以用做开发板的学习板。流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器等很基础的实验,如果你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关的入门,后面的路就好走多了。) j: l+ E2 w& x* b
1 v1 V; [ {( j5 ~
方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要几分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用,而你还没入门。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的实验时都能用得上,省时省事,为了学习,投入一下还是很值得的,因为以后它为你创造的价值是无法比拟的,少买一件衣服,少下两顿馆子,少上网吧,省点钱学习些有用的东西,这才是年轻人该做的事。 7 D1 Q2 }# v; C& E
: b) H( D8 z+ [# R* F有了单片机学习板之后你要多练习,最好是自己有台电脑,多研究程序,少玩游戏、少看电影。首先学会使用开发软件,如何编辑、编译源程序?如何仿真程序?目前使用C语言开发AVR的人占90%,而初学者大都使用ICCAVR(AVR的C语言环境)作为编辑、编译源程序的软件,用AVR Studio来进行仿真(如果需要这两个软件可以联系本文的作者QQ:475661158)。然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么有趣的东西啊,太有意思了(当你编写的程序按你的意愿实现时你会感到很惬意,慢慢的你会爱上电子这行的)。然后让数码管亮起来,这两项会了后,你已经陷入其中了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是请教别人,当得到答案后,你会印象很深的,记得很牢固。这样下去,很快你就熟悉AVR单片机了。; r3 K# D7 b9 u' [- o- ~
3 F) T1 O' g$ n0 q2 ?
程序练习的差不多的时候,你就开始动手做硬件了,查找相关资料,自己动手做电路,几个月下来,你就成为高手了。再简单说一下C语言和汇编语言。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,在时序要求严格的场合下用的多,但相对开发难度较大,而且很麻烦,尤其是遇到算法稍微复杂点的问题时,用汇编写起代码来很容易把自己搞的一塌糊涂。AVR单片机的主频可以高达20MHz,顶200多MHz的51单片机,这样高频率的时钟,我们采用C语言来编写代码就没问题了。单片机的程序存储器(ROM、FLASH)容量也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料丰富、移植性非常好,只需要稍微修改就可以移植,所以我劝大家用C语言。 ; F/ b% s5 j( c& Y
1 i) n# g( z$ i2 v9 H& K+ w6 e: C( [/ h
总得来说,只要你有信心,做事能坚持到底,有不成功不罢休的精神,不管你学习没学习过单片机,学好AVR单片机就是件非常容易的事。 k, n* T. O; _; \3 W: v
|