打印

怎么样学好AVR单片机

[复制链接]
1761|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
piqiu_avr|  楼主 | 2007-4-15 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么样学好AVR单片机
哈尔滨工程大学  宋宝森  07-04-10
首先介绍一下为什么要学习AVR单片机!!
随着各IC厂商推出各种高性能的单片机,51单片机已经远远不能满足大家对高性能单片机的需求。ATMEL作为一个51系列单片机的大生产厂商,90年代中后期推出一款高性价比的RISC(精简指令集)单片机系列,就是当今很流行也很著名的AVR单片机,在各种高性能单片机的竞争中,脱颖而出,很受各界电子人士热爱。很多想学单片机的人都不敢学习AVR,觉得不好入门,其实不然,如果你使用C语言编程,入门都是一样的,而且当你学好后,不用像学习51的人,还要在学习一个高性能的单片机,这样很浪费时间。目前很多公司和学校已经开始转向AVR单片机了,相信在未来几年,AVR将会非常兴旺,所以学习AVR单片机将会很有前途。先说说AVR单片机的优点,相比经典的51系列来说,突出的优点主要有以下几点:
一、速度快。AVR是精简指令集单片机,其速度可以达到1MIPS/秒,理论上是传统的51的12倍,实际上在10倍左右。
二、片上资源丰富。MEGA系列片上具备JTAG仿真和下载功能。片内含有看门狗电路、片内程序Flash、片内数据RAM、同步串行接口SPI、异步串口UART、内嵌AD转换器、EEPROM、模拟比较器、PWM定时计数器、TWI(IIC)总线接口、硬件乘法器、独立振荡器的实时计数器RTC、片内标定的RC振荡器等片内外设,可以满足各种开发需求。
三、驱动能力强。I/O口可以直接驱动数码管、LED、继电器等器件,节省很多外围电路,即节省开发难度,又降低成本。
四、功耗低。低功耗虽然比不上430单片机,但是在单片机中也是佼佼者。
五、可选择型号种类多。各种不同的型号可以满足不同的需求,让你的项目有很多的选择余地。
六、性价比高。在高性能的前提下,并没有增加芯片的价格,价格可以和51相比,而功能确是51不可以比的。
综合以上的优点和今后的趋势,学习AVR单片机是很必要的。

下面就我个人的体会怎么样才能更快的学好AVR单片机!!
很多想学习AVR的人都问我怎样才能学好?下面我就把我自己是如何学习AVR单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。
任何一款单片机的学习都应该是和实践紧密结合的过程,不能长时间的停留在书本上。但是学习单片机也是学习知识,所以首先还必须得看书,因为从书中你需要大概了解一下,单片机是什么东西?都可以干什么?如何控制它才能达到我们的目的等等?刚开始你可能看不明白,但这不要紧,因为还缺少实际的感观认识。可以把它当做小说来看,只要了解个大概就行。推荐一本书,书名是《AVR系列单片机C语言编程与应用实例》,是清华大学出版社出版的。大概了解一下书上的内容,然后实践,这是非常关键的,因为学单片机你不实践是不可能学会的。关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,功能少的花钱少,入门过后就没什么用处了。功能多的虽然贵点,但是你可以学习到更多的东西。好的学习板可以当作开发板,很多人以为学习板和开发板这是一个东西,其实不然,学习板只能来简单的学习,开发板呢?上面的东西很专业,程序中的子函数很独立,在你开发的时候,很多东西拿来就可以用直接调用,很方便。所以我个人建议买个好点的可以用做开发板的学习板。流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器等很基础的实验,如果你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关的入门,后面的路就好走多了。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要几分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用,而你还没入门。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的实验时都能用得上,省时省事,为了学习,投入一下还是很值得的,因为以后它为你创造的价值是无法比拟的,少买一件衣服,少下两顿馆子,少上网吧,省点钱学习些有用的东西,这才是年轻人该做的事。
   有了单片机学习板之后你要多练习,最好是自己有台电脑,多研究程序,少玩游戏、少看电影。首先学会使用开发软件,如何编辑、编译源程序?如何仿真程序?目前使用C语言开发AVR的人占90%,而初学者大都使用ICCAVR(AVR的C语言环境)作为编辑、编译源程序的软件,用AVR Studio来进行仿真(如果需要这两个软件可以联系本文的作者QQ:475661158)。然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么有趣的东西啊,太有意思了(当你编写的程序按你的意愿实现时你会感到很惬意,慢慢的你会爱上电子这行的)。然后让数码管亮起来,这两项会了后,你已经陷入其中了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是请教别人,当得到答案后,你会印象很深的,记得很牢固。这样下去,很快你就熟悉AVR单片机了。程序练习的差不多的时候,你就开始动手做硬件了,查找相关资料,自己动手做电路,几个月下来,你就成为高手了。
再简单说一下C语言和汇编语言。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,在时序要求严格的场合下用的多,但相对开发难度较大,而且很麻烦,尤其是遇到算法稍微复杂点的问题时,用汇编写起代码来很容易把自己搞的一塌糊涂。AVR单片机的主频可以高达20MHz,顶200多MHz的51单片机,这样高频率的时钟,我们采用C语言来编写代码就没问题了。单片机的程序存储器(ROM、FLASH)容量也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料丰富、移植性非常好,只需要稍微修改就可以移植,所以我劝大家用C语言。
    总得来说,只要你有信心,做事能**到底,有不成功不罢休的精神,不管你学习没学习过单片机,学好AVR单片机就是件非常容易的事。
下面我再简要介绍一下步骤:
一、找本书大概了解一下AVR单片机结构、功能。大概了解就行,不用看的很细。(五天)
二、找学习板练习编写程序,学单片机主要是练习编写程序,遇到不会的再请教别人或查书。(四十天)
三、如果你学习的是MEGA系列的AVR单片机,你还要学会怎么样设置熔丝位,让它更高效、更方便的为你工作。(一天)
四、自己在网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。(十天)
五、自己独立设计具有个人风格的电路、产品,……你已经是高手了。       

计算一下时间,两个月左右你就可以熟练操作AVR单片机了,至于多长时间成为高手,看你的努力程度了。


最后,我呢再给大家推荐一款我自己专门给单片机的初学者设计的单片机学习板(可以用做开发板),大家可以看看它的资料,需要说明一下,如果使用我的单片机学习板,我可以负责终生的技术支持,直到你学会为止。支持的方式你可以通过QQ,EMIL等随时问我关于单片机开发及电路设计方面的问题。
作者QQ:475661158
作者邮件:piqiusongbaosen@163.com
网站:www.txmcu.com
AVR开发板介绍网址:
www.txmcu.com/gs_detail.asp?id=500601&nowmenuid=500010&previd=0






相关帖子

沙发
turmary| | 2007-4-15 13:05 | 只看该作者

还行,只可惜我有一块了,不想再买...

使用特权

评论回复
板凳
maxking| | 2007-4-15 17:15 | 只看该作者

谢谢介绍的方法

我也有一块学习板子了,还没怎么用过。

使用特权

评论回复
地板
puxuecheng| | 2007-4-15 18:31 | 只看该作者

使用特权

评论回复
5
ayb_ice| | 2007-4-16 08:00 | 只看该作者

51单片机已经远远不能满足大家对高性能单片机的需求

51单片机已经远远不能满足大家对高性能单片机的需求?
看看C8051,LPC900,XC800...

使用特权

评论回复
6
sodwell| | 2007-4-16 08:33 | 只看该作者

看看DATASHEET

看看几天的DATASHEET就可以了嘛

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝