我有幸接触了几款单片机,并用它们做了一些项目。现在想做个小总结,谈一下自己用各种单片机的感受。仅是个人意见,仁者见仁智者见智。

  传统51,我想我就不多说了,适合菜鸟入门,容易上手,价格一般(从性价比方面说)。
  缺点:解密容易(传统51说:谁让咱出道早呢,大家都研究我,哎!哭......)一般功能也有,, 但AD、eeprom等功能要靠扩展,增加硬件和软件负担。
  IDE环境推荐 keil。编程器自己自制ISP下载线就行,好做,成本5元左右。

  PIC:我就是学这款单片机入门的,pic的好处就是各个型号的兼容性强,学好了PIC16f877a,16系列 的就OK了,别的型号要用的时候拿出2分钟看看数据手册就行了。12系列 16系列 18系列也是充分的向下兼容。功能全,型号多,适于选型分析,抗干扰能力强(尤其在汽车里PIC的片子是经常用到的,这足以证明其抗干扰能力强)
  缺点:解密容易(pic说:我出道也很早啊,人家也研究我不少年了,我和奥尼尔是英雄相惜啊!),PIC16系列单片机价格贵(从性价比方面说;但其PIC18、30系列的性价比还是不错的)。
  IDE环境:推荐picc+mplab。编程器可自制JDM原理的编程器,自制难度一般,成本12元左右。

  avr mega系列:价格便宜(从性价比方面说),硬件结构适合C语言编程,功能齐全,不容易解密。抗干扰能力 强(军工产品里经常见到,可见其抗干扰能力强)。型号之间兼容性一般。应该说是比较满意的片子了。ATMEL公司的产品,用的放心,开发工具都很全也很正 规。背靠大树好乘凉啊!其定时器和串口有加强型的,功能更强大。在加上TWI,SPI,EEPROM等,该有的都全了,而且功能也强大。
  缺点:功能寄存器多,不适合初学者----通过个人努力此缺点就不是缺点了--各位加油!
  IDE:推荐CVAVR+studio 其实icc 、gcc、IAR等也不错,大家自己斟酌。编程器自己自制ISP下载线就行,好做,成本5元左右。

  stc 51系列:价格便宜(从性价比方面说),功能多,抗干扰能力强(如根据宏晶所说,那stc的抗干扰能力就 是超强,超屌.),eeprom大,出厂时程序引导区就已经加密,并且stc解密的市面价格在1.5w到2.5w之间,可见解密难度大,在一定程度上保护 了单片机工程师的利益和产品开发商的利益。生产时就已经考虑到与传统51的兼容问题,兼容做的很好,又增加了许多功能,软复位功能我比较喜欢。
  缺点:资料就是宏晶网上的资料,资料少,不适合初学者---我指学习它自己增加的功能。STC12系列宏晶没给出keil驱动。工具支持没有自己的,要用keil的,在深层应用上会出现隐患。
  IDE:keil   头文件:宏晶网站上有,或者用at89x52.h,新的寄存器自己定义一下就行或者自己写一个头文件(推荐)。在keil选择单片机选项框中可以选择其 它比较接近的片子,也可以下载stc的keil驱动程序,不过里面只有STC89系列的片子。串口编程很方便,只需RS232的电路(无论是对于初学者还 是产品开发调试)。

  综合评分(凭自己的感觉打的分,没有什么权威性,具体到型号;单片机选型还是要根据项目的参数要求来确定):
  AT89S51 :    70

  PIC12F675:    65
  PIC16F73:    70
  PIC16F877A:  85

  ATmega8:     95
  ATmega16:    90

  STC89C51:     80
  STC12C2052:   75
  STC12C2052AD: 75
  最后在说一句,现在芯片都涨价了,尤其是avr(厂家限量供货和商家炒片子两个原因),也不知道什么时候价格才能降下去

看样你刚开始学吧?51是经典,也容易入门,就像玩电脑都有先学会使用windows。至于pic、avr、430……那就看你以后开发产品需要了,只要 学会了51其他很容易学了,单片机主要在与编程和外围电路设计,学会了这些你使用单片机就能够得心应手了,当然这是一个长期实践的过程,呵呵……

其他讨论:http://www.txmcu.com/show_news.asp?id=65&s=%B3%A3%BC%FB%CE%CA%CC%E2
    功能方面:所有的单片机中51单片机的结构是最简单的,内部寄存器也是最少的,因此也是最容易入门的。AVR单片机和PIC单片机在51的基础上又增加了 一些其它的外围功能,AVR和PIC系列单片机中,不同型号的单片机还有不同特别功能,比如有带USB接口的、的带CAN总线接口的、有IIC接口、有 SPI接口、有双串口功能等。
     应用领域:在简单的控制方面用51单片机的还是很多,稍复杂的控制方面用的AVR和PIC单片机的较多,在低功耗方面MSP430单片机用的较多,在工业控制领域51、AVR、PCI、430都有。初学时建议就学51单片机,当学会51单片机后,再学其它的单片机就非常容易了,只要再学一个PIC单片机或AVR单片机,大家就会发现,世上所有的单片机都一样,就是对寄存器的设置,其实最重要的还是C语言编程的能力,学51单片机的最重要目的其实还是学习C语言编程。
     补充说明:其实现在的51内核的单片机功能已经扩展到非常强大了,初学者通常不太了解这方面的知识,只知道AT89S51就是51单片机,它只有 40个脚….遇到一个20、48脚的51单片机他就不认识了,像现在的STC12C5A60S2单片机,也是51内核,但其外围功能和内部资源已经相当丰 富,强抗干扰能力、低功耗、1T单周期指令、高速度、带有SPI接口、PWM输出、PCA、双串口、甚至三串口、自带看门狗、自带EEPROM、扩展 RAM1280字节等,60K大程序存储空间等。

51,PIC,AVR单片机它们的优点缺点都有哪些?的更多相关文章

  1. 【转载】芯片级拆解51、AVR、MSP430、凌阳61、PIC,5种单片机,多张显微照片

    先秀一张解剖照,放大裁剪,小米1S微距拍摄,800万像素摄像头很给力!今天等待被拆的是5个单片机芯片:(1)凌阳16位单片机SPCE061A ,这是我接触的第一个单片机,最高主频49MHz,32KB的 ...

  2. AVR单片机RC触摸

    RC电容触摸感应按键1:RC感应原理 RC采样原理就是通过测量感应极电容的微小变化,来感知人体对电容式感应器(按键.轮键或者滑条)的感应.电极电容(C)通过一个固定的电阻(R)周期性地充放电.(原文件 ...

  3. AVR单片机教程——序言

    我一直觉得现在的网络环境对电子技术的学习有一点问题,但始终无法确切地指出,更何况网络上相关资源已经那么丰富. 但我觉得是问题的,无论它到底是不是问题,对我来说总归是一个问题.我学习也不算深入,很多东西 ...

  4. 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。

    横瓜执导众程序员开展大讨论关于C.JAVA及其它主流IT技术使用情况和优点缺点. 遥执乾坤(44758121)  18:21:23 mysql据说只能使用一个索引,我这里几乎所有字段都有索引. 但每个 ...

  5. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

    ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...

  6. 打打基础,回头看看avr单片机的定时器、中断和PWM(转)

    以前小看了定时器,发现这东西还真的很讲究,那先复习复习吧. 先提提中断:我的理解就是cpu执行时,遇到中断——根据对应的中断源(硬件或软件)——pc定位中断入口地址,然后根据这里的函数指针——跳转到相 ...

  7. LVS三种模式配置及优点缺点比较 转

    LVS三种模式配置及优点缺点比较   作者:gzh0222,发布于2012-11-12,来源:CSDN   目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种 ...

  8. linux下avr单片机开发:中断服务程序

    不管是什么单片机程序,中断总是非常重要的一部分 ,linux 下的avr开发,主要是依靠avr-gcc,以及avr-libc,它们对中断程序的格式要求,与window下的icc-avr以及win-av ...

  9. AVR单片机的BOOT区

    BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器.对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存 ...

随机推荐

  1. C++中各种数据量类型转换

    要在Unicode字符集环境下把CString转化为char* 方法: CString str = _T("D://校内项目//QQ.bmp");//////leo这个NB  可以 ...

  2. RedHat7/Windows7搭建JAVA开发环境(Eclipse)

    RedHat7搭建JAVA开发环境 安装JAVA # yum install java 安装Tomcat # yum install tomcat 确认Tomcat版本 # tomcat versio ...

  3. extSourceStat_7Day_Orders.php

    <?php /** Log文件格式2012/7/4 列号 字段含义 取值 ------------------------------------------------------------ ...

  4. CEO、COO、CFO、CTO

    CEO.COO.CFO.CTO是什么意思? 网站里的各种职位: CEO(Chief executive officer)首席执行官 类似总经理.总裁,是企业的法人代表. COO(Chief opera ...

  5. 28、Jquery 页面效果

    Jquery动画函数分为三类 基本动画函数 基本动画函数包括show(显示).hide(隐藏).toggle(切换)这三个函数. 例子所需html <input type="butto ...

  6. 使用Github建立个人博客

    总的说来 这个当有node.js 和gitbub的账号后,搭建一个自己的博客,想想还是挺美的事! 由于要把整个流程说清楚 估计lz还没这个实力,所以都是继承前辈们的经验,自己再添加一点遇到的问题和解决 ...

  7. C# DateTime显示时间格式的使用

    代码DateTime.ToString() Patterns All the patterns: 0 MM/dd/yyyy 08/22/2006 1 dddd, dd MMMM yyyy Tuesda ...

  8. A题笔记(9)

    No.2283 No.1387 vector<vector<char> > before, after; 可以创建一个容器的容器,注意 char 后的两个 “>” ,之间 ...

  9. maven中tomcat7-maven-plugin插件的使用

    1.(挺清晰,但是我在项目上尝试没有成功) http://blog.csdn.net/yhhazr/article/details/7866501 2.(算是有一些详细的运行命令吧,例如自动打包命令或 ...

  10. 如何在swift中实现oc中的分类

    在oc中为了增强已有类的功能,我们经常使用分类.使用分类,我们可以在不破坏原有类的结构的前提下,对原有类进行模块化的扩展. 但是在swift中没有分类这种写法了.相对应的是swift中只有扩展(Ext ...