对于初学者来说,单片机的选型恐怕是个头疼的问题。从8位到32位,单片机的种类繁多。比较常见的内核有8051、AVR、PIC、ARM等等,但是选择哪一种比较容易入门,而且在今后的工作中能够用的上呢?
针对这个问题,恐怕很难回答。对于初学者当然更是不了解。为此,他们的一般选择是两种:一是跟着教材选择(就是学校里教材讲解的单片机,一般都是8051);二是跟风(跟着网络流行或是身边人的使用)。
在单片机论坛我们不乏看点最火的还是8051,也有不少人还在使用AVR、PIC等。真正敢于直接学习ARM的人少之又少,难道是ARM比其他的单片机难?使用的开发平台要高?要求的工具要贵?
大家一起来谈谈,对于初学者究竟应该怎么去选择单片机进行学习??????
下面本人就简单分析一下单片机选择的个人看法?????????
其实作为单片机,它们都有一系列的共同点,本人认为,只要会使用一种单片机,那么转到其他类型的单片机不就一个星期甚至几天的问题而已。因为单片机都有着它们的共性,不同的就以下几方面:
1. 寄存器不同;
2. 管脚分配不同;
3. 时钟频率不同;
4. 内外设不同;
5. 内核架构不同;
6. 使用的编译平台不同;
7. 使用的开发工具不同等。
由此我们不难看出,如果我们使用C语言编程的话,我们的移植也是非常简单的。因为C语言中涉及到这几个方面的东西并不多,特别是如果能够编写出结构化的代码,分层完善的话,基本上不用改变应用层,只需要修改底层驱动就可以移植。
那么我们再来比较一下现在的这些单片机各自优缺点:
8051:资料特别多,资源少,学习简单,容易入门;没有硬件仿真功能,编程工具比较麻烦,当然有串口下载的会方面一下。
AVR:资源还是比较多,相对来说功能齐全,有JTAG/ISP功能;开发工具比较贵,自己DIY的话比较容易,供货不是很好,不小心动了熔丝位会导致芯片锁死。
PIC: 价格便宜,指令少,资料也比较多;仿真和下载工具比较昂贵。
ARM:资源丰富,资料逐渐增多,性价比高,有JTAG/SWD等功能,芯片系列多,各种资源都有,从一个厂家移植的另外一个厂家的芯片比较容易。
价格上来说,ARM有3,4元的;工具,可以使用串口,JLINK/ULINK等;平台,可以使用MDK,IAR等。本人觉得,不管是从什么角度来说,ARM都是学习的最佳选择。至于好多初学者总是不敢去尝试,主要恐怕有以下几个原因:
1. 思维固化,不敢尝试新的东西;
2. 教育影响,不敢学习书本以外的东西;
3. 认识不够,总觉的ARM是个高端的东西等等。
其实我们不难看出,越是跟在别人后面的人,一般都没有大的成就。敢于尝试的人往往活得的成功比别人多,而且可以看出越早学习ARM的人,现在混得越是不错。而且随着电子技术的发展,ARM已经成为了一种单片机的趋势,取代8位,16位的时间不会太长。我们在招聘人员的使用,一个基本的前提就是必须会使用一种ARM单片机。那么能还去学习8位,16位的意义恐怕就不大了。
[ 本帖最后由 zhaojun_xf 于 2012-5-15 08:15 编辑 ]