51,PIC,AVR单片机它们的优点缺点都有哪些?
我有幸接触了几款单片机,并用它们做了一些项目。现在想做个小总结,谈一下自己用各种单片机的感受。仅是个人意见,仁者见仁智者见智。
  传统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单片机它们的优点缺点都有哪些?的更多相关文章
- 【转载】芯片级拆解51、AVR、MSP430、凌阳61、PIC,5种单片机,多张显微照片
		先秀一张解剖照,放大裁剪,小米1S微距拍摄,800万像素摄像头很给力!今天等待被拆的是5个单片机芯片:(1)凌阳16位单片机SPCE061A ,这是我接触的第一个单片机,最高主频49MHz,32KB的 ... 
- AVR单片机RC触摸
		RC电容触摸感应按键1:RC感应原理 RC采样原理就是通过测量感应极电容的微小变化,来感知人体对电容式感应器(按键.轮键或者滑条)的感应.电极电容(C)通过一个固定的电阻(R)周期性地充放电.(原文件 ... 
- AVR单片机教程——序言
		我一直觉得现在的网络环境对电子技术的学习有一点问题,但始终无法确切地指出,更何况网络上相关资源已经那么丰富. 但我觉得是问题的,无论它到底是不是问题,对我来说总归是一个问题.我学习也不算深入,很多东西 ... 
- 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。
		横瓜执导众程序员开展大讨论关于C.JAVA及其它主流IT技术使用情况和优点缺点. 遥执乾坤(44758121) 18:21:23 mysql据说只能使用一个索引,我这里几乎所有字段都有索引. 但每个 ... 
- ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)
		ARM架构: 由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7: 一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ... 
- 打打基础,回头看看avr单片机的定时器、中断和PWM(转)
		以前小看了定时器,发现这东西还真的很讲究,那先复习复习吧. 先提提中断:我的理解就是cpu执行时,遇到中断——根据对应的中断源(硬件或软件)——pc定位中断入口地址,然后根据这里的函数指针——跳转到相 ... 
- LVS三种模式配置及优点缺点比较 转
		LVS三种模式配置及优点缺点比较 作者:gzh0222,发布于2012-11-12,来源:CSDN 目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种 ... 
- linux下avr单片机开发:中断服务程序
		不管是什么单片机程序,中断总是非常重要的一部分 ,linux 下的avr开发,主要是依靠avr-gcc,以及avr-libc,它们对中断程序的格式要求,与window下的icc-avr以及win-av ... 
- AVR单片机的BOOT区
		BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器.对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存 ... 
随机推荐
- cookie 和 HttpSession
			保存会话数据的两种技术 Cookie Cookie 是客户端技术,程序把每个用户的数据以cookie的形式写给用户的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.web ... 
- java 字节流与字符流的区别 (转)
			字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操 ... 
- Android(java)学习笔记173:BroadcastReceiver之 静态注册 和 动态注册
			1. 广播接受者>什么是广播.收音机.电台:对外发送信号.收音机:接收电台的信号. >在android系统里面,系统有很多重要的事件: 电池电量低,插入充电器,sd卡被移除,有电话打出去, ... 
- WGS84经纬度坐标与web墨卡托之间的转换【转】
			第一种方法: //经纬度转Web墨卡托 dvec3 CMathEngine::lonLat2WebMercator(dvec3 lonLat) { dvec3 mercator; ; ); ; mer ... 
- 前台添加jquery的引用
			注意引用的顺序. 以下两个引用,因为bxCarousel.js引用了jquery.js所以jquery.js必须在bxCarousel.js的前面.一般来说对jquery.js的引用放在前面. < ... 
- Cocos2d-x 学习资料收集
			框架源代码: http://code.google.com/p/cocos2d-x/downloads/list 搭建环境 http://blog.csdn.net/ccf19881030/artic ... 
- POJ 1185 状态压缩DP(转)
			1. 为何状态压缩: 棋盘规模为n*m,且m≤10,如果用一个int表示一行上棋子的状态,足以表示m≤10所要求的范围.故想到用int s[num].至于开多大的数组,可以自己用DFS搜索试试看:也可 ... 
- IO流基础加强
			字节流对象:InputStream,OutputStream 缓冲字节流对象:BufferedInputStream , BufferedOutputStream 用法和字符流对象一样,但也有区别, ... 
- Ubuntu 之旅 —— 解决sudo: source: command not found错误
			$ sudo -s # source /etc/profile 
- Java实现单向链表
			/* 先定义一个Node类用来存储节点的值域和指针域 * 即当前节点中的值和后面节点的方法 * 在C中就是相当与定义一个结构体类型一个数据域和指针域的方法 */class LNode{//这个写法已经 ... 
