8051、AVR和ARM的关系及实际情况
体产品和用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最大的优势就是因为它可以安装操作系统,好像我们的电脑一样,我们所写的应用程序可以在操作系统
8051AVRAR 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)