单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9265|回复: 45
打印 上一主题 下一主题
收起左侧

远离51单片机珍惜脑浆

  [复制链接]
跳转到指定楼层
楼主
daliu 发表于 2014-9-1 01:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在遥远的80年代,8051以内部晶体振荡器、定时器,串行口,准双向IO等特色一举战胜了Z80,而后者需要外置PIO、CTC、SIO等40脚的芯片。

8051只用了一片外置地址锁存器解决了外部存储器的访问。

Z80构成需要“单板”,而8051构成只需一片,故“单片机”的美名一直延续了30年之久,真可谓“单片龟”!!!

几十年来大学一直以8051为模版教授“单片机”,估计还会延续数年。

随着时间的推移与技术的进步,8051“单片机”之父的美名早已不复存在,AVR,PIC等众多“单片机”都曾尝试挑战8051的霸主地位,但都无功而返……

“失败”原因很多,菜农认为其中一个环节常常被大家忽略:专用厂家专用指令。

各厂家为了简化汇编指令集,都在指令集中嵌入了IO及访问地址等,故每学习一种MCU就必须熟悉或了解其指令集。而8051由于教育的普及,故提到“汇编语言”就会首先想到8051指令集。

随着ARM介入MCU领域,上述问题彻底改观。

首先ARM不是MCU厂家,故其指令集不可能包含各厂家的外围模块,并且32位或16位指令集中不可能包含32位的立即数(如GPIO和分支地址),故对应操作必须间接寻址即指针操作。

对于反汇编而言,首要问题是解决数据和代码的分离,其次是从指令中得到GPIO信息从而证实硬件管脚的作用。

故专用厂家的MCU厂家的指令代码最容易反汇编,至少理论上可以100%被反汇编。

据解密界业内人士透露,这些MCU都可以被芯片解密!特别是8051。再结合菜农的超级反汇编,几乎从未失手过……

而ARM系列则不同,即使给你机器代码,理论上也无法反汇编!

因为干什么都是指针操作,故反汇编出来也是一堆乱码!

ARM的出现,特别是Cotex-M系列的出现,其价位早已逼近MCU,特别是各厂家众多的外围模块,其性价比远远超越8051,而8051必须扩展其外围模块或用模拟IO软件实现。

故菜农强烈呼吁:远离51珍惜脑浆!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享 分享淘帖 顶 踩1
沙发
liaolinhui 发表于 2014-9-1 18:27 | 只看该作者
8051由于入门简单,所以适合初学者使用,虽然arm比51强大,但是不适合初学者,
板凳
admin 发表于 2014-9-2 14:30 | 只看该作者
我觉得8051就像是和 80386一样 ,会长期占据中国的教科书的,因为他简单,如果新生一开始就接触 arm的 m0 或者m3的话 能弄懂其原理的肯定在极少数  会打击到学生的自信心 ,但是如果学了8051以后在学习arm的m3内核就不同了 就容易理解了.
地板
morning_MCC 发表于 2015-1-22 12:24 | 只看该作者
有点夸张额。。

其实很多时候8051 还是非常好的, 如下是几个总结的特点。


1.绝大多数典型8位应用尚不需要32位性能
2.易用性高
3.应用性能表现卓越
4.静态功耗低



5#
单片学子 发表于 2018-3-18 08:37 | 只看该作者
对于入门教学,几条指令比调用几个库函数更容易让学生理解。
6#
CWKQL 发表于 2018-5-1 06:01 | 只看该作者
各显其能,不能以一言蔽之,阿门
7#
fhsgjsgjsfgjsfj 发表于 2018-6-11 15:57 | 只看该作者
51单片机是基础,对学习其他单片机有很大帮助的
8#
includebrf 发表于 2018-6-13 08:57 | 只看该作者
如果你拥有解密mcu的水平,还回去破解入门级的8051吗?
9#
csy-2015-06 发表于 2018-6-24 15:47 | 只看该作者
51入门还是挺好的,现在在学F407了
10#
liugoon1 发表于 2018-6-26 22:10 | 只看该作者
51是用来入门的
11#
popuple 发表于 2018-6-27 09:31 | 只看该作者
在没有51的情况下如何入门?希望有大神发个话。
12#
lonnychen123 发表于 2018-7-5 14:30 | 只看该作者
51是基础
13#
Obaha 发表于 2018-8-4 13:55 | 只看该作者
单片机之父这种称呼怎么可能被抢走……爸爸永远是爸爸,不会因为后浪推了前浪,前浪就变成儿子了。
14#
rainman888 发表于 2018-8-15 17:03 | 只看该作者
教学经典,不能抹杀
15#
diannaoza 发表于 2018-8-16 01:57 | 只看该作者
教学经典
16#
xieqiang520 发表于 2018-8-16 08:27 | 只看该作者
初读不知文中意 再读已是文中人

评分

参与人数 1黑币 +10 收起 理由
NPC-1024 + 10 此话精彩!

查看全部评分

17#
向日葵男人 发表于 2018-8-29 23:11 来自手机 | 只看该作者
精彩的辩论!我还是很喜欢51的,32有点墨迹

评分

参与人数 1黑币 +10 收起 理由
NPC-1024 + 10 我也觉得51很纯粹,程序不臃肿

查看全部评分

18#
donaldsu 发表于 2018-11-20 10:15 | 只看该作者
这个看使用场景吧,简单控制没什么太多的版权问题,用51也何尝不是好事
19#
yb1988001 发表于 2018-12-10 14:11 | 只看该作者
8位机能搞定很多项目了。。。
20#
1092648746 发表于 2018-12-19 15:56 | 只看该作者
51现在还是挺便宜的,编程思想也简单,作为入门单片机的选择,没有比它更好的东西了。STM32很强大,但学起来也是比较难懂的,还是不能以偏概全啊……
21#
晓博爱电子 发表于 2018-12-25 15:28 | 只看该作者
admin 发表于 2014-9-2 14:30
我觉得8051就像是和 80386一样 ,会长期占据中国的教科书的,因为他简单,如果新生一开始就接触 arm的 m0  ...

讲的很不错,我就是先学8051,原理搞懂之后再学ARM就感觉容易多了,如果一开始就学arm,很多初学者根本看不懂,时间长就不想学了
22#
shuisheng 发表于 2018-12-25 17:07 | 只看该作者
这不好说,有市场的地方就有它存在的价值,就如同功能手机与苹果手机,苹果已经退出了市场,但功能手机依然坚挺。那天出个TTM,STM一样凉凉!

评分

参与人数 1黑币 +15 收起 理由
还有谁? + 15

查看全部评分

23#
九死还魂草 发表于 2018-12-25 17:30 | 只看该作者
如果五块钱能解决问题谁愿意花六块、七块、八块。。。。
24#
天风情 发表于 2018-12-26 10:48 | 只看该作者
虽然近些年份额一直在跌,但是不可忽视的是51依旧占据着相当一部分市场,因为对于要求不是特别严格的场合依旧需求旺盛,毕竟成本在那儿放着
25#
vhgh2002 发表于 2019-1-19 17:56 | 只看该作者
还有个屏幕问题。产品带个像样的屏幕,51歇菜。
26#
小8 发表于 2019-2-2 10:20 来自手机 | 只看该作者
我学了51以后正准备学32,快半个月了还没学会建一个MDK工程
27#
hujj 发表于 2019-2-21 13:47 | 只看该作者
51作为入门和简单应用还是不错的,没有必要“远离”。
28#
笨笨兔 发表于 2019-2-22 15:21 | 只看该作者
这么久远的帖子,还有人翻出来看?
29#
文武双全1149 发表于 2019-3-31 21:25 | 只看该作者
51单片机比较基础,学会了其他的单片机会简单些
30#
夏国特 发表于 2019-4-17 11:07 | 只看该作者
教学是要循序渐进的。对于学习过计算机组成原理的童鞋来说,学习ARM如同看小说。可是对于很多一般学习的教学计划,非计算机专业的是不学习组成原理和体系结构的,甚至连微机原理与x86汇编也不学,于是选款简单的8位机作为跳板,打好基础好入门是很重要的,而这个跳板一定要简单、经典,那么51就非常合适了。再者,工程上选择新品,都是按照实际需求来的,比如牛皮糖的51又放大招了,这么强的51才几毛钱,很多节点超多成本极其敏感的场合,方案定了它,就是51没学过或者全忘了也得捡起了不是,毕竟用什么片子不是工程师讲了算,是需要方案评审验证的,需要财务和销售、上面的老大说了算的。
31#
xing1954 发表于 2019-5-23 04:21 | 只看该作者
51也可以作好多事。
32#
jiangquancai 发表于 2019-5-25 21:30 来自手机 | 只看该作者
51虽然只能处理8为数据。但是对于初学者容易理解
33#
dongfeng123 发表于 2019-7-8 17:14 | 只看该作者
入门最好选择工作中能使用的单片机或者ARM等型号,STC在量产方面还是不如台系等专业的单片机公司吧?量产对价格要求很苛刻。
34#
dongfeng123 发表于 2019-7-8 17:17 | 只看该作者
低端的芯片也不会被淘汰,跑的快必然功耗高,各取所需就是。
35#
7631001 发表于 2019-7-27 00:08 | 只看该作者
循序渐进的学习,才是合适的教学规律。
先学习GPIO、定时器、中断、串口、IIC、SPI,通过一些基本的应用设计,再区学习ARM就很容易上手了,而且,现在使用ARM做开发的同仁们,哪个不是自学出来的,这都是51的底子。
36#
小黑屋525 发表于 2019-7-27 09:05 | 只看该作者
大学只是入门,学到老,活到老,51简单,32更深,但是32大多数是自学,相当于中考,喜欢单片机的会深入,不喜欢的连51都不会!
37#
bbb168 发表于 2019-7-30 14:29 | 只看该作者
各取所需,看应用吧,像PIC16还是在用的。
38#
wcs1668 发表于 2019-8-22 17:44 | 只看该作者
morning_MCC 发表于 2015-1-22 12:24
**** 作者被禁止或删除 内容自动屏蔽 ****

赞成楼主的意思
39#
王师13631676419 发表于 2019-12-25 16:55 | 只看该作者
admin 发表于 2014-9-2 14:30
我觉得8051就像是和 80386一样 ,会长期占据中国的教科书的,因为他简单,如果新生一开始就接触 arm的 m0  ...

但如果把M0或者M3搞懂。8051就很好理解吧
40#
duanhnhy2019 发表于 2019-12-27 15:02 | 只看该作者

对于入门教学,51还是挺不错的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机教程网

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