首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

8051、AVR和ARM的关系及实际情况(2)

8051、AVR和ARM的关系及实际情况(2)

那么8051、AVR、ARM、PIC等单片机就是在这种市场环境中出现的,换句话说,这些单片机就是为了满足这种市场需求而被生产出来的。从这个角度上看,8051、AVR、ARM就没有什么高、低、贵、贱之分了,大家都是为了满足这个不同电子产品应用需要的大市场。并没有说8051就是下贱的,ARM就是高级的,大家都是靠销量说话的。用8051去开发多媒体产品和用ARM去开发简单的流水灯都是非常白痴的行为了。不过,虽然我们除去了高贵与低贱的歧视,可是又不得不承认,不同的单片机的开发难度是不同的。有一些是系统复杂所带来的难度,还有一些是因为单片机开发相关软硬件功能的落后再导致的。还有一小部分是学习者本身智商程度所产生的难度。不管怎么样,任何的开发难度都会变成这款单片机推广销售的不利因素,谁也不希望学习困难的东西。当然,还有一些人就是愿意学习难学的东西,非要学难学的单片机,费大力气研究难懂的数据手册。这种情况多出现在不是工程开发人员的单片机爱好者身上,因为他们不用承担实际的项目,不用考虑学习的时间、开发风险和项目开发中的各种困难与压力。所以他们并不认为学习某款单片机的困难是单片机生产厂商做的工作不足,而是把原因归到自己身上,认为自己不如别人聪明,非要把这款单片机学会才能证明自己的智商。

我所说的,正是许多人要学习AVR的迷局。除了出于天真的想法去学习难学的单片机,还有一个原因是没有真正了解这些单片机的性能、应用以及它们之间的区别。有人说8051单片机落后了,能说出这种话的定是还没什么开发经验的初学者。而越是什么都不懂的人越容易发表评论。下面我们来看看AVR和8051的区别吧。

AVR和8051单片机同为8位单片机,AVR当年发布的时候其最大的亮点就是它是1T单片机,带给开发者有实际意义的信息就是速度快(和8051相比),还有就是低功率,内部集成了更多的功能。在发布之初,我也非常看好AVR单片机,也买了几片回来玩玩。可是AVR虽然性能上有了不少优势,可是把玩的时候却发现了相关配套服务的不足,比如AVR的引脚甚至封装和8051的不兼容,开发软件也和8051不同,下载线要重新制作,单片机内部结构和编程方法都要重新学习。对于之前没有学过8051单片机的人来说,这些都是新鲜的,没有阻碍的。可是对于8051单片机的老手来讲,学习AVR就需要重新学习和使用一套完全不同的平台,而学习新的平台需要花上不少的时间。这一事实阻止了一部分人转向使用AVR。如果AVR可以在设计之初考虑到与8051相关配套软硬件兼容的问题,那么AVR将会占有更多的市场份额。必竟8051单片机是最早的单片机,已经有非常多的忠实用户了。

AVR的独断专行,让其它单片机厂商看到了机会。推出一款功能与AVR相当甚至更强大,同时又兼容8051软硬件的单片机必然会得到市场的欢迎。于是飞利浦、SST、STC等厂商开始研发,增强型8051单片机问世了。增加型8051单片机是延用8051的内核,在单片机内部集成更多功能模块。其中做的最出色的就是STC公司的单片机了。它的接口和传统的8051完全兼容,而且内部集成了复位芯片、EEPROM等功能。STC12C系列的单片机也与AVR相同,达到了1T单片机的速度。而且STC12系列单片机还在片内集成了ADC、PWM、EEPROM、独立时钟、内部R/C振荡器、增加了P4接口。从性能上超过了AVR的产品,价格也便宜,同时又和传统的8051的软硬件兼容。STC12C完全超过了AVR的性能,工程师们又不需要学习新的开发平台,只要在原来的8051平台上就直接可以开发STC的1T单片机了。在这种情况之后AVR的落后是必然的结果,虽然ATMEL公司还在大力推出新款AVR单片机,可以市场占有率越来越少,以至于在一般的电子市场上都买不到了。但是在网络上还有一些原来在AVR最兴盛时的粉丝团,他们还在坚持用AVR来制作和开发产品。不过在技术高速发展的今天,固执的忠实于一种品牌,而不是根据发展的需要而改变,这是很不理智的。当然,AVR目前还是有一定市场的,只是市场很小罢了。

8051和ARM的比较是另外一会事。就算是最强的增加型8051也不可能和ARM相比较。因为ARM是32位处理器核心,支持更大的处理速度和寻址能力,ARM9又支持MMU,可以安装嵌入式操作系统。ARM是在8051和PC机用CPU之间的中层产品。用来开发多媒体产品,如MP4、手机等。8051和ARM的软硬件平台也是不同的,可是学习ARM可以做一个8051根本做不到的事情,所以学习ARM是值得的学习投入。只是在学习之前需要先想好,学习ARM的目的。是为了找一份好工作,还是为了制作更好玩的电子制作。

现在基础ARM平台开发的公司有许多,学习ARM可以找到不错的工作。但是学好了8051也一样可以有好的工作机会,只是ARM起步晚,会的人不多,竞争相对小一些。而且不管学什么都要面对未来继续学习新技术的事实。学习ARM最关键的是学习操作系统,而不是ARM芯片本身。ARM最大的优势就是因为它可以安装操作系统,好像我们的电脑一样,我们所写的应用程序可以在操作系统上运行,而不像8051那样单线程运行。安装操作系统最大的好处就是可以降低开发难度。有的人认为学习ARM要用操作系统是很难学的东西。其实这是错误的观念,安装操作系统就是为了减少开发难度,有一些如USB、液晶屏、鼠标、键盘的驱动程序已经有现成的了,只要在我们的应用程序中调用就行了。ARM的开发更侧重于软件层面的开发,更多的是开发上层应用程序和少量的底层驱动程序。ARM的硬件也是有固定的接口,有占用的LCD接口,有占用的USB接口,只要按官方的数据手册制作就可以了。

对于想玩ARM的爱好者朋友,ARM的趣味并不大,而ARM的门槛却很高。首先ARM芯片很贵,便宜的也要30多元,加上周边的一系列配套的电路,一片ARM系统也要百元以上。而且ARM芯片封装都是高密脚贴片封装,没有所谓的直插封装。制作ARM的作品就必须制作PCB板,而且是2层到8层的PCB板。对于一般的爱好者来说,这是不容易接受的。另外,用ARM来完全小制作的资料非常之少,ARM的相关驱动程序一般都是某些公司的内部资料。相对来说最丰富的还是开源的LINUX和部分WIN CE的资料。一般开发ARM是需要团队完成的,有专门开发软件的,有专门负责硬件的,很少有一个人完成的。更不用说我们用ARM自己开发有趣的制作了。总之,ARM虽好,可是目前还不适合电子爱好者把玩。增强型8051单片机是最好的选择,使用性能更好,功能更多的单片机可以产生许多创新设计。
继承事业,薪火相传
返回列表