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

  传统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. GUI编程笔记(java)04:GUI(HelloWorld)窗体案例

    1.Frame 在JAVA中,Frame是一种控件,可作为父窗体加载其他swing控件.案例: package cn.itcast_01; import java.awt.Frame; public ...

  2. PHP中用mysqli面向过程打开连接关闭mysql数据库

    代码如下: <meta http-equiv="content-type" content="text/html" charset="utf-8 ...

  3. CSS伪类选择器和伪元素选择器

    CSS的伪类选择器常用的是link/visited/hover/active,分别对应未访问.已访问过.鼠标悬停.鼠标按下时的样式,常用于链接,使用时要按此顺序依次写CSS,不能乱 a:link{ba ...

  4. 8个开发必备的PHP功能(转)

    又是好几天没写博客,今天看到了个不错的文章,就转载到自己的博客,好以后查询方便. 1.传递任意数量的函数参数 我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数 ...

  5. 关于css的兼容

    这篇随笔为了方便自己后期的学习和查找,用来记录平时遇到的一些问题,后期会陆续更新 1.背景图 :background-position属性,在ff下不支持该属性的拆分写法(background-pos ...

  6. java内存模型及分块

    转自:http://www.cnblogs.com/BangQ/p/4045954.html 1.JMM简介 2.堆和栈 3.本机内存 4.防止内存泄漏   1.JMM简介   i.内存模型概述 Ja ...

  7. [访问系统] Api_Win32_Mac类工具包 (转载)

    点击下载 Api_Win32_Mac.zip using System; using System.Collections.Generic; using System.Linq; using Syst ...

  8. 搭建linux环境下jenkins可移植环境

    1:背景 项目领域:android. 项目需求为:建立一个网站用于产品经理(以下称为PM)配置该apk所需服务插件,打包出包(包含:apk,文档,demo等等)给厂商并且记录打包出包等信息. 项目设计 ...

  9. Java 读取Properties 配置文件

    方法一,使用 io 包中的 BufferedInputStream 以及 FileInputStream读入文件转成字符流,然后使用 lang 包中 的 Properties 的 load 方法进行读 ...

  10. angularjs中异常处理

    1.TypeError: Cannot read property '$valid' of undefined a. Add ng-submit attribute to the form: < ...