找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 26988|回复: 78
收起左侧

远离51单片机珍惜脑浆

  [复制链接]
ID:65608 发表于 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珍惜脑浆!

回复

使用道具 举报

ID:58502 发表于 2014-9-1 18:27 | 显示全部楼层
8051由于入门简单,所以适合初学者使用,虽然arm比51强大,但是不适合初学者,

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2014-9-2 14:30 | 显示全部楼层
我觉得8051就像是和 80386一样 ,会长期占据中国的教科书的,因为他简单,如果新生一开始就接触 arm的 m0 或者m3的话 能弄懂其原理的肯定在极少数  会打击到学生的自信心 ,但是如果学了8051以后在学习arm的m3内核就不同了 就容易理解了.
回复

使用道具 举报

ID:72627 发表于 2015-1-22 12:24 | 显示全部楼层
有点夸张额。。

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


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



评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:155467 发表于 2018-3-18 08:37 | 显示全部楼层
对于入门教学,几条指令比调用几个库函数更容易让学生理解。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:249758 发表于 2018-5-1 06:01 | 显示全部楼层
各显其能,不能以一言蔽之,阿门
回复

使用道具 举报

ID:61261 发表于 2018-6-11 15:57 | 显示全部楼层
51单片机是基础,对学习其他单片机有很大帮助的
回复

使用道具 举报

ID:350247 发表于 2018-6-13 08:57 | 显示全部楼层
如果你拥有解密mcu的水平,还回去破解入门级的8051吗?
回复

使用道具 举报

ID:237239 发表于 2018-6-24 15:47 | 显示全部楼层
51入门还是挺好的,现在在学F407了
回复

使用道具 举报

ID:224622 发表于 2018-6-26 22:10 | 显示全部楼层
51是用来入门的
回复

使用道具 举报

ID:280714 发表于 2018-6-27 09:31 | 显示全部楼层
在没有51的情况下如何入门?希望有大神发个话。
回复

使用道具 举报

ID:365596 发表于 2018-7-5 14:30 | 显示全部楼层
51是基础
回复

使用道具 举报

ID:347578 发表于 2018-8-4 13:55 | 显示全部楼层
单片机之父这种称呼怎么可能被抢走……爸爸永远是爸爸,不会因为后浪推了前浪,前浪就变成儿子了。
回复

使用道具 举报

ID:386619 发表于 2018-8-15 17:03 | 显示全部楼层
教学经典,不能抹杀
回复

使用道具 举报

ID:130135 发表于 2018-8-16 01:57 | 显示全部楼层
教学经典
回复

使用道具 举报

ID:357373 发表于 2018-8-16 08:27 | 显示全部楼层
初读不知文中意 再读已是文中人

评分

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

查看全部评分

回复

使用道具 举报

ID:168971 发表于 2018-8-29 23:11 来自手机 | 显示全部楼层
精彩的辩论!我还是很喜欢51的,32有点墨迹

评分

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

查看全部评分

回复

使用道具 举报

ID:422553 发表于 2018-11-20 10:15 | 显示全部楼层
这个看使用场景吧,简单控制没什么太多的版权问题,用51也何尝不是好事
回复

使用道具 举报

ID:6656 发表于 2018-12-10 14:11 | 显示全部楼层
8位机能搞定很多项目了。。。
回复

使用道具 举报

ID:393699 发表于 2018-12-19 15:56 | 显示全部楼层
51现在还是挺便宜的,编程思想也简单,作为入门单片机的选择,没有比它更好的东西了。STM32很强大,但学起来也是比较难懂的,还是不能以偏概全啊……
回复

使用道具 举报

ID:222798 发表于 2018-12-25 15:28 | 显示全部楼层
admin 发表于 2014-9-2 14:30
我觉得8051就像是和 80386一样 ,会长期占据中国的教科书的,因为他简单,如果新生一开始就接触 arm的 m0  ...

讲的很不错,我就是先学8051,原理搞懂之后再学ARM就感觉容易多了,如果一开始就学arm,很多初学者根本看不懂,时间长就不想学了

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:454000 发表于 2018-12-25 17:07 | 显示全部楼层
这不好说,有市场的地方就有它存在的价值,就如同功能手机与苹果手机,苹果已经退出了市场,但功能手机依然坚挺。那天出个TTM,STM一样凉凉!

评分

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

查看全部评分

回复

使用道具 举报

ID:234560 发表于 2018-12-25 17:30 | 显示全部楼层
如果五块钱能解决问题谁愿意花六块、七块、八块。。。。
回复

使用道具 举报

ID:426861 发表于 2018-12-26 10:48 | 显示全部楼层
虽然近些年份额一直在跌,但是不可忽视的是51依旧占据着相当一部分市场,因为对于要求不是特别严格的场合依旧需求旺盛,毕竟成本在那儿放着

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:441300 发表于 2019-1-19 17:56 | 显示全部楼层
还有个屏幕问题。产品带个像样的屏幕,51歇菜。
回复

使用道具 举报

ID:454411 发表于 2019-2-2 10:20 来自手机 | 显示全部楼层
我学了51以后正准备学32,快半个月了还没学会建一个MDK工程
回复

使用道具 举报

ID:116773 发表于 2019-2-21 13:47 | 显示全部楼层
51作为入门和简单应用还是不错的,没有必要“远离”。
回复

使用道具 举报

ID:158375 发表于 2019-2-22 15:21 | 显示全部楼层
这么久远的帖子,还有人翻出来看?
回复

使用道具 举报

ID:205086 发表于 2019-3-31 21:25 | 显示全部楼层
51单片机比较基础,学会了其他的单片机会简单些
回复

使用道具 举报

ID:514373 发表于 2019-4-17 11:07 | 显示全部楼层
教学是要循序渐进的。对于学习过计算机组成原理的童鞋来说,学习ARM如同看小说。可是对于很多一般学习的教学计划,非计算机专业的是不学习组成原理和体系结构的,甚至连微机原理与x86汇编也不学,于是选款简单的8位机作为跳板,打好基础好入门是很重要的,而这个跳板一定要简单、经典,那么51就非常合适了。再者,工程上选择新品,都是按照实际需求来的,比如牛皮糖的51又放大招了,这么强的51才几毛钱,很多节点超多成本极其敏感的场合,方案定了它,就是51没学过或者全忘了也得捡起了不是,毕竟用什么片子不是工程师讲了算,是需要方案评审验证的,需要财务和销售、上面的老大说了算的。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:525821 发表于 2019-5-23 04:21 | 显示全部楼层
51也可以作好多事。
回复

使用道具 举报

ID:502774 发表于 2019-5-25 21:30 来自手机 | 显示全部楼层
51虽然只能处理8为数据。但是对于初学者容易理解
回复

使用道具 举报

ID:347508 发表于 2019-7-8 17:14 | 显示全部楼层
入门最好选择工作中能使用的单片机或者ARM等型号,STC在量产方面还是不如台系等专业的单片机公司吧?量产对价格要求很苛刻。
回复

使用道具 举报

ID:347508 发表于 2019-7-8 17:17 | 显示全部楼层
低端的芯片也不会被淘汰,跑的快必然功耗高,各取所需就是。
回复

使用道具 举报

ID:164385 发表于 2019-7-27 00:08 | 显示全部楼层
循序渐进的学习,才是合适的教学规律。
先学习GPIO、定时器、中断、串口、IIC、SPI,通过一些基本的应用设计,再区学习ARM就很容易上手了,而且,现在使用ARM做开发的同仁们,哪个不是自学出来的,这都是51的底子。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:546770 发表于 2019-7-27 09:05 | 显示全部楼层
大学只是入门,学到老,活到老,51简单,32更深,但是32大多数是自学,相当于中考,喜欢单片机的会深入,不喜欢的连51都不会!

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:592524 发表于 2019-7-30 14:29 | 显示全部楼层
各取所需,看应用吧,像PIC16还是在用的。

评分

参与人数 1黑币 +30 收起 理由
kaixuan_27 + 30

查看全部评分

回复

使用道具 举报

ID:71883 发表于 2019-8-22 17:44 | 显示全部楼层
morning_MCC 发表于 2015-1-22 12:24
**** 作者被禁止或删除 内容自动屏蔽 ****

赞成楼主的意思
回复

使用道具 举报

ID:666490 发表于 2019-12-25 16:55 | 显示全部楼层
admin 发表于 2014-9-2 14:30
我觉得8051就像是和 80386一样 ,会长期占据中国的教科书的,因为他简单,如果新生一开始就接触 arm的 m0  ...

但如果把M0或者M3搞懂。8051就很好理解吧
回复

使用道具 举报

ID:426315 发表于 2019-12-27 15:02 | 显示全部楼层

对于入门教学,51还是挺不错的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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