搜索
bottom↓
回复: 188

向51单片机说再见 (转)

  [复制链接]

出0入0汤圆

发表于 2014-11-19 18:48:34 | 显示全部楼层 |阅读模式
向51单片机说再见
http://www.21ic.com/app/mcu/201410/604925.htm
最近在访问论坛时看到好多人在讨论51单片机,有人说51单片机应该学习,它是基础;也有人说51单片机是过时的产品,现在产品应用已经不再选用了,也就失去了学习的必要性。从最初的51单片机学起,工作多年后现在基本应用32位MCU做项目,笔者觉得是时候向51单片机说再见了。
51单片机的辉煌过去
51单片机指MCS-51系列单片机,CICS指令集。由Intel公司开发,其结构增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源,内有128个RAM单元及4K的ROM。其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前国内的51单片机市场主要为国产宏晶的产品STC系列其号称低功耗,稳定与廉价的特点。
学习51单片机的误区
误区1:51单片机是学习的基础
“51单片机是学习的基础”这句话本身并没有错。在我读本科的时候,当时它无疑是学习的基础——毕竟那时没有更高级的单片机可以供使用,国内更没有更高级的教材供参考,老师的水平也是参差不齐,而51单片机正符合这样的需求,不仅有大量的成型的教材,广泛的示例,当时工作的实际项目也是51单片机为主,于是51单片机理所当然的成为当时的学习基础。要知道笔者读本科的时候是2004年,即10年前的东西。按照莫尔定律,电子行业每18个月更新换代,10年前的技术现在已经更新了6代了——事实也确实如此。
目前32位Crtex-M系列单片机的各种教程已经普及,其学习的难度不断降低。以意法半导体公司的STM32F系列单片机来说,意法半导体在推广产品初期大量赠送了核心板。免费赠送的核心板不仅有流行的32位Cortex-M系列微处理器,更在板上集成在线调试器。随机附赠的光盘或者链接更是提供了大量的示例源代码。我们只需要安装开发环境即可直接编译与下载调试。这时,如果再说51单片机是学习嵌入式的基础肯定是不合时宜了。
误区2:51单片机可以学习寄存器的操作
51单片机可以学习寄存器的操作,这一点儿是不容置疑的。我们分析一下其更深层的原因。在MSC-51单片机的编程环境中,最初是以汇编语言为主要编程语言。要知道汇编语言就是直接操作寄存器的,汇编语言是无法做到C语言的函数调用与封装的。如果说51单片机是以操作寄存器为优点,我觉得更应该说51单片机操作寄存器是一种无奈,是只有一个选项的选择题。
我们现在的Cortex-M系列单片机就无法学习寄存器了吗?显然不是。在硬件设计中,硬件的操作方式就是寄存器的操作,但是其实现却是可以不同。各微处理器提供的C语言库函数包其实质就是将操作寄存器的指令进行了C语言环境下的封装。我们这里用ST官方库函数举一个示例:
void USART_Init (USART1, *USART_InitStruct);//实现串口1的初始化,简单明了,无需注释
笔者在这里也想举一个示例来说明寄存器操作的步骤,但是操作寄存器实在是太复杂了,笔者不想去浪费时间去整理了。
通俗易懂的C语言,方便移植的C语言与硬件平台相对应的编译器联合,就能完成硬件的操作。有了简单、方便的方式,我们为什么还要考虑繁琐,复杂的汇编语言与寄存器操作呢?
误区3:51单片机的成本低
成本都是左右应用的主要因素。项目的立项主要考虑成本,销售的定价主要成本。低成本的方案才会在市场里占有优势。可是,51单片机真就是最低成本了吗?非也。现在按照功能划分,部分Cortex-m0系列的32位单片机的成本也能做3元人民币。其性能已经是51单片机的好几倍了,而且更容易开发与维护。
还有另外一个成本:开发难度成本。51单片机不支持在线调试,有一些问题在编程初期没有发现,只有与硬件连接后才会显现出现来,例如控制操作中经常用到的延时。这时在线调试的巨大优势就体现出来了,它可以极其方便的查看微处理器当时的状态,使得问题的分析变得简单而透明。从而,有效降低开发的难度,缩短开发周期,节约开发资金。
误区4:51单片机入门简单
51单片机入门简单?我对于这个观点持保留意见。想要入门51单片机,我不仅熟悉该款单片机外设,而且还要充分了解寄存器的某位的意义。对于时钟,定时器的配置必须了如指掌。这样无疑会增大我的学习难度与熟悉的周期。如果我们使用32位单片机的库函数模式,我们只需要具备C语言的知识,了解API函数,直接看已经注释过的寄存器意思即可,不需要了解其底层的硬件实现,更不需要了解某个寄存器某个指定位的意义了。这样,减少了我的工作量,从而降低了开发难度。你说是51单片机入门简单,还是32位Cortex内核微处理器简单?
嵌入式系统的学习是非常枯燥而又有挑战性的事情。由于与实际的硬件直接连接,不仅要考虑编写的正确性,而且还要考虑硬件的可靠性。这时,简单、高效的软件编写就变向的降低我们开发难度与风险。51单片机已经是明日黄花,向前看才是发展。是时候向51单片机说再见了!

出10入113汤圆

发表于 2014-11-19 18:51:53 | 显示全部楼层
21上的扯淡   

出0入0汤圆

发表于 2014-11-19 18:52:27 | 显示全部楼层
想当初自己用51做项目的时候,寄存器滚瓜烂熟,现在用M3出了问题都不知道怎么找了

出0入0汤圆

发表于 2014-11-19 18:59:00 | 显示全部楼层
照这么下去,码农要来抢电工的饭碗了,电工要有危机感了

出0入0汤圆

发表于 2014-11-19 19:00:49 | 显示全部楼层
陈腔滥调了。。。我觉得51会伴随着C语言共同再渡过至少10年的。。。

出0入0汤圆

发表于 2014-11-19 19:04:48 | 显示全部楼层
51简单,没有基础哪来上层建筑?

出0入0汤圆

发表于 2014-11-19 19:31:17 | 显示全部楼层
槽点很多

出0入0汤圆

发表于 2014-11-19 19:35:15 | 显示全部楼层
是时候说再见了

出0入0汤圆

发表于 2014-11-19 19:36:01 | 显示全部楼层
各有各的市场,

出0入0汤圆

发表于 2014-11-19 19:44:40 | 显示全部楼层
写这篇文章的哥们应该是没入门就被踢出嵌入式的大门了吧?估计现在正在搞纯PC软件,而且混的也不会咋地。
51必须是基础,因为结构简单,寄存器少,操作指令少,参考资源丰富。
谁说51不支持在线调试?那是什么年代的51单片机了?
直接操作寄存器是出于无奈?其实我现在不直接操作寄存器才是无奈,因为太多了,实在没时间去看,但我也会尽力去看主要的寄存器,只有这样出了问题后知道去看哪些寄存器,应该是什么值。
成本低就更不用说了,一块几到几十块钱的都有。
入门简单前面已经说过了,不懂寄存器还想搞嵌入式?做梦去吧

出0入0汤圆

发表于 2014-11-19 19:45:26 | 显示全部楼层
公司做产品,51是不用了,在学校应该还能用几年

出0入50汤圆

发表于 2014-11-19 19:45:36 | 显示全部楼层
这种文章一看就是穷酸的电子文人折腾出来的八股月经文,周期性地发一遍。

技术可以引领市场,但是市场绝对不是单纯的技术决定的,有朋友告诉我,他去德国看到还有很多圆形机械拨号盘的电话机在服役呢,照楼主的观点,早该淘汰啊,何况人家比咱大中国可是先进多了。

出0入0汤圆

发表于 2014-11-19 19:55:06 | 显示全部楼层
afeionline 发表于 2014-11-19 19:44
写这篇文章的哥们应该是没入门就被踢出嵌入式的大门了吧?估计现在正在搞纯PC软件,而且混的也不会咋地。
5 ...

说的很对
不懂简单的寄存器
还想玩什么 arm?????

出0入0汤圆

发表于 2014-11-19 19:56:58 | 显示全部楼层
51也会改变的。

出0入0汤圆

发表于 2014-11-19 19:57:12 | 显示全部楼层
ilikemcu 发表于 2014-11-19 19:45
这种文章一看就是穷酸的电子文人折腾出来的八股月经文,周期性地发一遍。

技术可以引领市场,但是市场绝对 ...

德国看到还有很多圆形机械拨号盘的电话机在服役
这就说明各有各的用途
例如做个简单的单路pwm发生器
1051就够了
何须用arm??????

出0入0汤圆

发表于 2014-11-19 19:59:09 | 显示全部楼层
难道杀鸡要用牛刀?等下做个流水灯,要用M3来开发,高大上啊

出0入0汤圆

发表于 2014-11-19 20:23:31 | 显示全部楼层
准备用stm32f030系列了

出0入0汤圆

发表于 2014-11-19 20:29:25 | 显示全部楼层
不要以一种老眼光看51,现在STC的51不是支持在线仿真的么?STCunio不正在给STC开发库么,说到串口的初始化void Serialbegin(u32 baud,u8 sum,...)可以同时初始化STC15W4KxxS4系列的4个串口,比如:
Serialbegin(2400,4,COM1,COM2,COM3,COM4);
驱动1个串口
Serialbegin(2400,1,COM1);或是Serialbegin(2400,1,COM2);或是COM3、COM4的
4个串口还是共用同一个printf
下面的函数比你说的操作更简单,也没说要操作寄存器
数字IO

pinMode(pin,mode)

digitalWrite(pin,value)

pinInvert(pin)

digitalRead(pin)

模拟IO

analogRead(analogPin)

analogWrite(pin,u8 value,u8 PCA_Clock_xT)

高级IO

tone(pin,u16 frequency)

noTone(pin)

shiftOut(dataPin, clockPin, bitOrder, u8 value)

shiftIn(dataPin, clockPin, bitOrder)

时间函数

delay_ms(u32 ms)

delay_10us(u16 _10us)

delay_us(u8 _us)

位操作

bitRead(value, bit)

bitSet(value, bit)

bitClear(value,bit)

串口
Serialbegin(u32 baud,u8 sum,...)

SPI接口

SPIbegin()

SPIsetBitOrder(u8 bitOrder)

SPIsetClockDivider(u8 rate)

SPIsetDataMode(u8 mode)

SPItransfer(u8 _data)

PID

pidbegin(int a,int b,int c)

pid(int referenceInput,int measuredOutput)

还有其他的就不列出来了

出0入0汤圆

发表于 2014-11-19 20:30:41 | 显示全部楼层
杀鸡用牛刀.

出0入0汤圆

发表于 2014-11-19 20:40:53 | 显示全部楼层
很多学生都是c语言都没学就学51,可以顺便学c语言,了解微控制器的基本架构,何乐而不为

出0入0汤圆

发表于 2014-11-19 20:50:26 | 显示全部楼层
STC不是还吹自己的51卖几亿片

出0入0汤圆

发表于 2014-11-19 20:51:19 | 显示全部楼层
有市场就会继续存在

出0入0汤圆

发表于 2014-11-19 20:51:23 | 显示全部楼层
c8051f系列也是51单片机,功能却不弱。。。与其在处理器上纠结,不如多花点精力研究研究数字、模拟、信号处理、系统设计上

出0入0汤圆

发表于 2014-11-19 20:51:56 | 显示全部楼层
就简单一说,同样是用库函数,当函数调用来调用去,你认为用的简单,但是编译过程可是有入栈出栈,万一时序要求特别高,需要处理时间特别短,你不直接操作寄存器就会产生奇葩的错误还发现不了

出0入0汤圆

发表于 2014-11-19 20:59:42 | 显示全部楼层
但不可否认,51的时代已经过去了。

出0入0汤圆

发表于 2014-11-19 21:02:35 来自手机 | 显示全部楼层
51是基础,永远不会过时,没有人说一入行就能搞Arm的。

出0入0汤圆

发表于 2014-11-19 21:17:38 来自手机 | 显示全部楼层
单片机只是工具,最重要的是算法。中国缺的不是单片机人才,而是精通各类仪器仪表算法的人才。

出0入0汤圆

发表于 2014-11-19 21:17:39 | 显示全部楼层
51现在还没到淘汰的时候!

出0入0汤圆

发表于 2014-11-19 21:19:45 来自手机 | 显示全部楼层
呵呵,武功的最高境界是什么?

出0入0汤圆

发表于 2014-11-19 21:54:04 | 显示全部楼层
硬件工程师可以做个小程序员,但是码农永远玩不转硬件!硬件工程师软硬通吃,码农只好傲娇。

出0入0汤圆

发表于 2014-11-19 22:04:36 | 显示全部楼层
各有需求,但发展的趋势已很清楚,就象Protel99se与AD9..之争

出0入0汤圆

发表于 2014-11-19 22:16:36 | 显示全部楼层
只能说呵呵了。

出0入0汤圆

发表于 2014-11-19 22:23:33 | 显示全部楼层
不研究到每个寄存器的每个位的功能,睡不踏实。我有强迫症。

出0入0汤圆

发表于 2014-11-19 22:32:01 | 显示全部楼层
51不可能消失的

出0入0汤圆

发表于 2014-11-19 22:42:59 | 显示全部楼层
公说公有理,婆说婆有理,这个问题是说不清的,自从有了小车,现在又飞机有了,飞船也有了,为什么还有人用自行车.想想这个问题就会明白.

出0入0汤圆

发表于 2014-11-19 23:55:12 | 显示全部楼层
C语言学不会的飘过

出0入0汤圆

发表于 2014-11-20 00:12:40 | 显示全部楼层
反正我是不玩51了,还不如用430入门简单。
寄存器规划的烂烂糟糟的,ram寻址还分好几种,学这东西累不累。

出0入0汤圆

发表于 2014-11-20 00:27:16 来自手机 | 显示全部楼层
我觉得用好简单直接的东西,才能练就好本领!

出0入0汤圆

发表于 2014-11-20 00:33:35 来自手机 | 显示全部楼层
51在很多片上系统中还是被广泛应用的

出0入0汤圆

发表于 2014-11-20 00:38:25 来自手机 | 显示全部楼层
51的设计就是败笔。变长的指令,共用的数据总线和3套地址总线。为了扩展而不得已的妥协感觉就是在坑害初学者,因为结构不科学啊。简单的东西搞得复杂化。AVR,M0 ,M3在设计上就已经远远甩开51了,而且后者的系统结构更简单,更适合学习!不知道为啥这个年代了还有人死抱着51不放。

出0入0汤圆

发表于 2014-11-20 00:41:19 来自手机 | 显示全部楼层
不过51的优点就是指令集不用授权了,代码密度相对比较大。但是对于学生来说51真的是个纠结的微架构,到处充满了妥协和兼容。什么高128字节内存无法直接寻址,MOVC和MOVX慢的感人,算数操作全靠AB。SP只有8位等等,这些过时的设计不仅浪费逻辑门,也降低效率。

出0入0汤圆

发表于 2014-11-20 00:46:37 来自手机 | 显示全部楼层
我也说一句我比较难理解楼上还有人说51简单的。几百条指令,完全的CISC结构能被称为简单,也许真的是我too young too simple了。

出0入0汤圆

发表于 2014-11-20 00:49:18 | 显示全部楼层
也没那么差吧

出0入0汤圆

发表于 2014-11-20 00:53:30 来自手机 | 显示全部楼层
lxa0 发表于 2014-11-19 19:57
德国看到还有很多圆形机械拨号盘的电话机在服役
这就说明各有各的用途
例如做个简单的单路pwm发生器

那直接555呗。要简单单片机都能省了。我想说同样的价格,51和M0 M3的速度没有可比性就罢了。M0 M3的架构清晰很多,而且外设也多,您去市场上找一片10元有64K RAM,128K FLASH带4uart和usbotg的51来?而且51几百条指令和一堆寄存器又多又烂,我就是直接在M0 M3上操作寄存器也不会再回去用51了。51的妥协实在太多了。

出0入0汤圆

发表于 2014-11-20 03:55:41 | 显示全部楼层
但对于某种型号的51 那是一去不复返了, 如eprom型的8751还有人在用呜?

出0入0汤圆

发表于 2014-11-20 07:10:23 来自手机 | 显示全部楼层
论怎样周期性的扯淡.

出0入0汤圆

发表于 2014-11-20 07:12:33 | 显示全部楼层
发展与继承也不是完全否定

出0入0汤圆

发表于 2014-11-20 07:26:31 | 显示全部楼层
好无聊的调调

出0入0汤圆

发表于 2014-11-20 07:39:39 来自手机 | 显示全部楼层
写这篇文章的人,站着说话不腰疼。

出0入0汤圆

发表于 2014-11-20 08:13:27 | 显示全部楼层
反正都是C,指令多少,也差不多吧

出0入0汤圆

发表于 2014-11-20 08:28:17 | 显示全部楼层
了解一下,顶楼主!

出5入14汤圆

发表于 2014-11-20 08:29:37 | 显示全部楼层
不管 51 还是 ARM,能挣到钱的单片机就是好单片机!

出0入0汤圆

发表于 2014-11-20 08:30:03 | 显示全部楼层
一些简单的东西 还是会用51来做的,毕竟成本摆在那

出0入0汤圆

发表于 2014-11-20 08:33:06 | 显示全部楼层
51是基础,仍旧会有大量的人在用,看STC就明白了

出0入0汤圆

发表于 2014-11-20 08:35:29 | 显示全部楼层
51单片机在我们的设备中使用量远远大于其他芯片·····感觉这篇文章的作者太在意芯片是什么··

出0入0汤圆

发表于 2014-11-20 08:36:37 | 显示全部楼层
blade_li 发表于 2014-11-19 21:17
单片机只是工具,最重要的是算法。中国缺的不是单片机人才,而是精通各类仪器仪表算法的人才。 ...

精通各种算法那数学是不是要很历害?

出0入0汤圆

发表于 2014-11-20 08:50:07 | 显示全部楼层
51是基础,永远不会过时。网上给的历程适合你了解和熟悉这个模块的功能,为了你更高效利用这个模块打基础好吧。

出0入0汤圆

发表于 2014-11-20 09:05:15 | 显示全部楼层
不要轻易和51说再见,你让很多用4位机的人情何以堪

出0入0汤圆

发表于 2014-11-20 09:23:20 | 显示全部楼层
turf456 发表于 2014-11-19 22:23
不研究到每个寄存器的每个位的功能,睡不踏实。我有强迫症。

是个做硬件的人才。。。

出0入0汤圆

发表于 2014-11-20 09:32:15 | 显示全部楼层
没有好不好,只有合不合适.

出0入0汤圆

发表于 2014-11-20 09:34:30 | 显示全部楼层
不知道发这种月经文有TMD什么意义,爱用就用,不用滚蛋。

出0入26汤圆

发表于 2014-11-20 09:35:46 | 显示全部楼层
xwkm 发表于 2014-11-20 00:53
那直接555呗。要简单单片机都能省了。我想说同样的价格,51和M0 M3的速度没有可比性就罢了。M0 M3的架构 ...

如果我只需要2K ROM 128B RAM价格预算只有2块钱,那该用M几啊?

出0入0汤圆

发表于 2014-11-20 09:40:56 | 显示全部楼层
萝卜青菜。

出0入0汤圆

发表于 2014-11-20 09:47:40 | 显示全部楼层
人上一百,形形色色,需求也是一样吧

出0入0汤圆

发表于 2014-11-20 10:04:07 | 显示全部楼层
没学过51,直接学的AVR,没过多久就转ST的库了,那我就没发言权了

出0入0汤圆

发表于 2014-11-20 10:06:41 | 显示全部楼层
现在还有许多小家电行业,需要便宜的单片机,资源要求也不高,还是要用到很多低端的8位单片机的,51做为入门简单,资料丰富,I/O操作简单,还是有用武之地的

出0入0汤圆

发表于 2014-11-20 10:40:37 | 显示全部楼层
dswybs 发表于 2014-11-19 20:29
不要以一种老眼光看51,现在STC的51不是支持在线仿真的么?STCunio不正在给STC开发库么,说到串口的初始化v ...

涨知识了!!

出0入0汤圆

发表于 2014-11-20 10:42:57 | 显示全部楼层
你可以跟51说再见,但是不能把51说的那么不堪;对于没有编程经验和调试经验的人来说,51是最为合适的。你让一个地址都没明白的人,去搞清楚32位的寄存器和含义?扯淡!

出0入0汤圆

发表于 2014-11-20 10:47:06 | 显示全部楼层
johnlj 发表于 2014-11-20 09:05
不要轻易和51说再见,你让很多用4位机的人情何以堪

这位兄弟4位机也在用,汇编语言应不错,淫才呀。。。

出0入0汤圆

发表于 2014-11-20 11:17:18 | 显示全部楼层
这个问题真没必要拿出来说~,这个东西无关你对技术的一片热情!

出0入0汤圆

发表于 2014-11-20 11:33:18 | 显示全部楼层
不管 51 还是 ARM,能挣到钱的单片机就是好单片机!

出0入59汤圆

发表于 2014-11-20 11:34:55 | 显示全部楼层
没学过51就不可能深刻的理解ARM,也很难用好ARM
何况现在还有好多C8051、AVR、PIC、MSP430在用

出0入0汤圆

发表于 2014-11-20 12:27:17 | 显示全部楼层
不仅学习51是有好处的,而且学习汇编也是很有必要的。当年学习51时,没有细学,只是了解了个大概,用C编程,很多地方总搞不清楚,后来系统学习了一遍51汇编,再用C,感觉就很清晰,出问题也容易分析。

出0入4汤圆

发表于 2014-11-20 12:39:30 | 显示全部楼层
虽然你有沙发了,但凳子还是不可缺的!

出390入22汤圆

发表于 2014-11-20 15:48:39 | 显示全部楼层
前几天又看了看51,看了看有没有合适的型号可选

出0入0汤圆

发表于 2014-11-20 17:21:43 | 显示全部楼层
51感觉还是很难淘汰,这就跟数字器件出来后,有人扬言数字器件会取代模拟器件,不过这么多年过来,模拟器件不还是占有很重要的比重(当然这个比喻不是很恰当)。对于新手来说,51对于底层结构学习和入手还是很友善的。如果只是单纯地使用函数,感觉还是过分强调了软件,弱化了硬件,一旦问题升级,同时牵扯软硬件,感觉毫无招架之力

出30入25汤圆

发表于 2014-11-20 17:23:42 | 显示全部楼层
消失肯定不会消失

但是51肯定不再是单片机入门的唯一途径了,喷别人“51都没学过”这种陈词滥调才是真正过时的

出0入0汤圆

发表于 2014-11-20 17:35:50 | 显示全部楼层
我觉得M0的推出,8位单片机会慢慢的退出历史,不只是51

出0入0汤圆

发表于 2014-11-20 17:42:28 | 显示全部楼层
NI_NE 发表于 2014-11-20 08:36
精通各种算法那数学是不是要很历害?

算法分很多种,不止是数学上的,打个比方说吧34401六位半万用表很好用吧,那为什么我们做不出来这个东东?

出0入0汤圆

发表于 2014-11-20 17:54:16 | 显示全部楼层
本帖最后由 xwkm 于 2014-11-20 18:00 编辑
xly 发表于 2014-11-20 09:35
如果我只需要2K ROM 128B RAM价格预算只有2块钱,那该用M几啊?


M0(新唐)嘛。或者STM8(还是八位)。都有1.X元的芯片。外设还是比同价位的51多的。
随便拎个出来:STM8S003F3 16MHz 8KB Flash 1KB RAM。3个计时器,5个ADC,128B EEPROM 1.2元。你找一个2元能买到的这么强的51出来。就拿STC说也得要4元多吧~?
还有STM8S005K6 32MHz 32KB Flash 2KB RAM。4个计时器 7个10bit ADC 2.4元。你要在通用51中找到这种MCU,至少要花6元吧?

出0入10汤圆

发表于 2014-11-20 17:55:07 | 显示全部楼层
请嫌弃51的各位同学看看下面不到1元的51芯片是如果的强大(16k otp usb sd等等)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-11-20 18:01:03 | 显示全部楼层
luckroll 发表于 2014-11-20 17:55
请嫌弃51的各位同学看看下面不到1元的51芯片是如果的强大(16k otp usb sd等等)
...

毕竟这是OTP的。Flash工艺还是会贵不少。。。

出0入0汤圆

发表于 2014-11-20 18:01:44 | 显示全部楼层
感觉着就像手机一样,像红米、荣耀3c这种价格很便宜,性能也还行,但是却不能说老人机、儿童手机就要被淘汰,虽然后者的功能前者都有,而且更多、性能更好,但是对于后者的作用人群,可能前者的功能对于后者倒还是一种负担,没后者来得好用。

出0入0汤圆

发表于 2014-11-20 18:02:45 | 显示全部楼层
zhy72110 发表于 2014-11-20 18:01
感觉着就像手机一样,像红米、荣耀3c这种价格很便宜,性能也还行,但是却不能说老人机、儿童手机就要被淘汰 ...

我个人觉得通用的51【资料好找的】,性价比和通用的别的单片机,比如STM8,M0 M3 M4一类的单片机比较,差距还是很大滴~

出0入0汤圆

发表于 2014-11-20 18:10:15 来自手机 | 显示全部楼层
至少现在51还是有市场的,不同的应用有不同的需求的。他个人判51死刑,但市场现在还需要它

出0入0汤圆

发表于 2014-11-20 18:10:31 | 显示全部楼层
绝对扯淡,如果你能把C8051用得像美国凤凰电调一样,我就服了你了。

出0入0汤圆

发表于 2014-11-20 18:14:08 | 显示全部楼层
gzfslt 发表于 2014-11-19 19:00
陈腔滥调了。。。我觉得51会伴随着C语言共同再渡过至少10年的。。。

06年就看到一本台湾的书说这样的话,可是现在不还是这么说吗,更何况,现在很多的其他的IC内嵌51核

出0入0汤圆

发表于 2014-11-20 18:49:38 | 显示全部楼层
xwkm 发表于 2014-11-20 00:53
那直接555呗。要简单单片机都能省了。我想说同样的价格,51和M0 M3的速度没有可比性就罢了。M0 M3的架构 ...

没有51
哪有你的m0m3??????????????????????

出0入0汤圆

发表于 2014-11-20 18:51:16 | 显示全部楼层
xwkm 发表于 2014-11-20 00:38
51的设计就是败笔。变长的指令,共用的数据总线和3套地址总线。为了扩展而不得已的妥协感觉就是在坑害初学 ...

那你设计一个比51好的东西出来
叫大家看看???????????????????????????????????/

出0入0汤圆

发表于 2014-11-20 18:56:30 | 显示全部楼层
xwkm 发表于 2014-11-20 00:46
我也说一句我比较难理解楼上还有人说51简单的。几百条指令,完全的CISC结构能被称为简单,也许真的是我too  ...

看把你狂的~~~~~~~~~
80年代我和同事用PC-1500开发8035的时候
你在干吗呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-11-20 20:19:40 | 显示全部楼层
围观一下

出0入0汤圆

发表于 2014-11-20 23:42:32 | 显示全部楼层
lxa0 发表于 2014-11-20 18:49
没有51
哪有你的m0m3??????????????????????

我本来就不是设计IC的。那个IC便宜好用我就用那个IC。而且51的结构和M0 M3差别很大,何来没有51就没有M0 M3之说?指令集上51是CISC,ARM是定长RISC。总线上51是哈佛和冯诺依曼的混合体。而M0 M3基本上就是哈佛。
并且我说过,自己对照选型表你就知道那款IC性价比高。我不说别的。10元你找一片有USB OTG,有2路I2S。能跑到72MHz的51出来(要有资料),我就服你!

出0入0汤圆

发表于 2014-11-20 23:57:20 | 显示全部楼层
lxa0 发表于 2014-11-20 18:56
看把你狂的~~~~~~~~~
80年代我和同事用PC-1500开发8035的时候
你在干吗呢?

而且我没狂啊。接近400条指令,你能熟练用多少?不要用你的开发资历来压人。RISC就没那么多指令,也不需要记一堆了。当然RISC更适合学习和入门,这点你同意吗?
另外,扩展51硬件上那么多不必要的限制(比如8位堆栈指针,间接寻址,ROM的切换bank,片内XRAM,AB运算,只有一个DPTR)都在严重影响增强性51的效能,这点你同意吗?
我们为什么就要执著在这么不适合学习的老结构上呢?新的处理器出来了,他更简洁,更快速,更便宜。我们有什么理由不用它呢?
就拿库来说事吧,就算不用NXP或者ST提供的库,看应用手册自己写也不费事,精密时序的地方大不了插汇编,也不麻烦。就比如说51的定时器,传统51还没有16位自动重载模式,进中断赋值容易引入误差。(虽然说目前部分增强性51解决了,但是用起来还要动几个另外的寄存器。)STM32就简单多了,最多3个寄存器就完了。
还有上操作系统。51就8位的SP。就算你要用片外的RAM当堆栈都不行,任务一多你就要处理数据换入换出的问题。说是给你2K RAM,其中1.8K XRAM用起来速度和内置的差的很远,这是资源的浪费,你不可否认。
另外就是关于DMA。貌似带DMA的51价格都不便宜,但是5块钱的GD32F103CB就有DMA,你怎么解释51的优越性呢?
但是无论是ARM AVR都没有这种纠结的问题。那么我选择51的理由是啥?
我自己如果要在数字逻辑系统中嵌入处理器核心,我的确会首选51,但是首选51的原因不是因为它性能好,而是因为51指令集专利过了惹不了官司。如果AVR指令集也过了的话,我一定不会再使用51核心。

出0入0汤圆

发表于 2014-11-21 07:50:31 来自手机 | 显示全部楼层
等同于不要学汇编了,直接学C吧,向汇编说再见?

出0入0汤圆

发表于 2014-11-21 08:07:02 | 显示全部楼层
持续存在即是相对合理,实在不适合发展的需要的事物就会消失, 现在还存在,说明它还有意义;

出0入0汤圆

发表于 2014-11-21 08:31:06 | 显示全部楼层
zhuixiong 发表于 2014-11-21 07:50
等同于不要学汇编了,直接学C吧,向汇编说再见?

又不是只有51单片机才能用汇编。而且现在MCU的资源都上来了,通篇写汇编没啥意义。在精确时序或者高效率要求的时候用用就完了,平时还是用C++好。

出0入0汤圆

发表于 2014-11-21 08:34:39 | 显示全部楼层
存在就有理由。。。

出0入26汤圆

发表于 2014-11-21 09:19:55 | 显示全部楼层
xwkm 发表于 2014-11-20 17:54
M0(新唐)嘛。或者STM8(还是八位)。都有1.X元的芯片。外设还是比同价位的51多的。
随便拎个出来:STM8 ...

管脚少了。
51不会消失的。51的扩展应用太多了,很多芯片也是用51核。

出0入0汤圆

发表于 2014-11-21 09:21:07 | 显示全部楼层
51芯片目前出货量非常大的,呵呵

出0入0汤圆

发表于 2014-11-21 09:22:59 | 显示全部楼层
见仁见智啦。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 12:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表