51,AVR,PIC,MSP430,STM32比较:常用型号,特点,优缺点,编译软件,下载软件,下载方式。
传统8051:适合菜鸟入门,容易上手,价格一般(从性价比方面说)。 缺点:解密容易(传统51说:谁让咱出道早呢,大家都研究我,哎!哭......)一般功能也有,, 但AD、eeprom等功能要靠扩展,增加硬件和软件负担。 IDE环境推荐 keil。编程器自己自制ISP下载线就行,好做,成本5元左右。
8051:MCS-51系列 INTEL公司
8031:无ROM
8051:一次性掩膜ROM
8751:多次写EPROM
stc 51系列:(增强型51单片机)价格便宜(从性价比方面说),功能多,抗干扰能力强(如根据宏晶所说,那stc的抗干扰能力就是超强,超屌.),eeprom大,出厂时程序引导区就已经加密,并且stc解密的市面价格在1.5w到2.5w之间,可见解密难度大,在一定程度上保护了单片机工程师的利益和产品开发商的利益。生产时就已经考虑到与传统51的兼容问题,兼容做的很好,又增加了许多功能,软复位功能我比较喜欢。 缺点:资料就是宏晶网上的资料,资料少,不适合初学者---我指学习它自己增加的功能。STC12系列宏晶没给出keil驱动。工具支持没有自己的,要用keil的,在深层应用上会出现隐患。 IDE:keil 头文件:宏晶网站上有,或者用at89x52.h,新的寄存器自己定义一下就行或者自己写一个头文件(推荐)。在keil选择单片机选项框中可以选择其它比较接近的片子,也可以下载stc的keil驱动程序,不过里面只有STC89系列的片子。串口编程很方便,只需RS232的电路(无论是对于初学者还是产品开发调试)。
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元左右。
msp430单片机:超低功耗,常用于仪器仪表,手持设备
stm32单片机:基于arm体系的单片机,是一个产品型号
建议:
如果只是用来进行简单的机电控制,那就用51单片机
如果牵涉到低功耗设计,那用MSP430单片机
如果既要综合考虑价格、功耗、性能,那选择AVR单片机
如果追求高性能,那就用STM32
如果产量很大,那用PIC单片机
关键字:AVR PIC MSP430 STM32 单片机
引用地址:
51,AVR,PIC,MSP430,STM32单片机比较
推荐阅读最新更新时间:2024-03-16 14:32
剖析模块内部主要的干扰源和敏感器件
本文主要参考自《MICROCONTROLLER DESIGN GUIDELINES FOR ELECTROMAGNETIC COMPATIBILITY》,此文虽然写在多年前,不过有很多很现实的参考意义。另外别的IC厂商也有很多的参考文档,如果大家有兴趣可以参考一下。 题外话,写这个话题主要是去剖析模块内部主要的干扰源和敏感器件,通过这些主要的东西的设计来慢慢体会模块的EMC设计,不过难免有些一鳞半爪之嫌,积累多了可能未来在设计电路的时候在前期就很容易把问题考虑周到和细致。 1、单片机的工作频率 1.1、单片机的设计应根据客户的需求来选择较低的工作频率 首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小
[电源管理]
C51二位数码管显示程序设计
#define uint unsigned int #define uchar unsigned char sbit k1=P2^0; sbit k2=P2^1; uint code table ={0X00,0X80,0X10,0X90,0X20,0XA0,0X30,0XB0,0X40,0XC0}; void delay(uint z) { uint a,b; for(a=z;a 0;a--) { for(b=z;b 0;b--); } } void main() { int c=99,t,shi,ge; for(t=99;t 0;t--) { shi=c/10; ge=c; k
[单片机]
STM32中断向量表的位置,重定向
这篇文章已经说了STM32的启动过程: http://blog.csdn.net/lanmanck/article/details/8252560 我们也知道怎么跳到main函数了,那么,中断发生后,又是怎么跑到中断入口地址的呢? 从stm32f10x.s可以看到,已经定义好了一大堆的中断响应函数,这就是中断向量表,标号__Vectors,表示中断向量表入口地址,例如: AREA RESET, DATA, READONLY ; 定义只读数据段,实际上是在CODE区(假设STM32从FLASH启动,则此中断向量表起始地址即为0x8000000) EXPORT __Vectors IMPORT OS_C
[单片机]
IAR瑞萨单片机开发加入printf调试函数
IAR开发环境,没有printf函数,自己百度加入了一个(http://www.cnblogs.com/codecamel/p/4686437.html),但是还是有一些问题,特别是打印多个变量时,只能够打印字符串时比较稳定,原因是因为va_arg()给了错误的返回值,故只能找寻其他的方法,今天测试了一下,新的办法步骤如下 1.关键之处,否则会出现PUTCHAR函数未定义现象。 右键点击工程选择option- General Option- ibrary configuration中library改为full,且 General Option- library option- Printf formatter选项中选择full2
[单片机]
STM32之CAN---工作/测试模式浅析
1 bxCAN工作模式 bxCAN有3个主要的工作模式:初始化模式、正常模式和睡眠模式。 在硬件复位后,bxCAN工作在睡眠模式以节省电能,同时CANTX引脚的内部上拉电阻被激活。软件通过对CAN_MCR寄存器的INRQ或SLEEP位置’1’,可以请求bxCAN进入初始化或睡眠模式。一旦进入了初始化或睡眠模式,bxCAN就对CAN_MSR寄存器的INAK或SLAK位置’1’来进行确认,同时内部上拉电阻被禁用。 当INAK和SLAK位都为’0’时,bxCAN就处于正常模式。在进入正常模式前,bxCAN必须跟CAN总线取得同步;为取得同步,bxCAN要等待CAN总线达到空闲状态,即在CANRX引脚上监测到11个连续的隐性位
[单片机]
STM32如何设置读保护和解除读保护
关于STM32对内部Flash的保护 为了防止对Flash的非法访问,所有STM32的芯片都提供对Flash的保护,具体分为写保护和读保护。 如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。 在使用MDK进行调试的时候,可能会遇到如下图所示的报错信息,这时候就要排查Flash是不是被保护起来了。 读保护即大家通常说的“加密”,是作用于整个Flash存储区域。一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方
[单片机]
27-基于单片机的电梯仿真系统
具体实现功能 由AT89C51单片机+数码管+矩阵按键模块+LED灯等构成。 具体功能: (1)初始时电梯在1楼,当有按键按下时电梯到相应楼层; (2)电梯状态要有指示灯显示,即电梯目前运行到达楼层的实时显示,电梯升降的状态显示等。 (3)电梯内要有4层电梯的按键,还要有门的开关按键,并且电梯门需要有相关的动作(指示灯指示),电梯外每一层都要有上下的按键,除了第1,4层 (4)电梯上行的时候按下行按键,电梯不会停止,继续上行,向下反之。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得
[单片机]
PSD813器件在单片机系统中应用
摘要: 可编程外围器件PSD813应用于单片机系统后,可大幅度地简化CPU外围电路的设计,减小系统体积,降低功耗,增强系统可靠性。介绍了PSD813系列产品的特点,并结合实例介绍了系统硬件设计以及使用流程。
关键词: 可编程外围芯片(PSD) 在线编程(ISP) PSDSOFT开发软件
随着单片机系统的广泛应用,其功能不断加强,集成度日益增高。但是,由于在传统的单片机系统设计中必须使用许多分立器件组成单片机的外围电路,诸如地址锁存器、PLD、RAM、EPROM等,因此使得整个系统变得十分复杂、可靠性降低、功耗费用增高。由于各个系统的要求不尽一致,这样在开发每一个单片机系统时都必须
[应用]