电子产品世界 » 论坛首页 » 嵌入式开发 » 单片机 » 为什么我们学的都是51单片机?    


共1条 1/1 1 跳转至

为什么我们学的都是51单片机?    

菜鸟
2018-10-18 17:10:57    评分

今天告诉你们一个秘密,为什么我们学的是51单片机,为什么在中国无论是工程师还是大学教师还是大学生都喜欢用51单片机,原因有以下几点:

1.由于51内核(指具有8051cpu的单片机)具有大量的资料,有很多的种类,所以受到了人们的喜爱,是初学者能够收到事半功倍的学习效果。真的是这个样子吗?或许在20年前是这个样子是这个原因,因为那时没有别的东西可以学。

2.但似乎不是这样子的原因,因为虽然51单片机有很多的种类,新的产品也集成了很多更有用,更简洁的功能,但是人们还是最最钟情于功能最少操作比较复杂的51单片机—AT89S51单片机(ATMEL的早期产品)。

3.下面我们分析一下51单片机应用广泛的真正原因:

在分析原因之前先讨论一下几个问题

(1)51单片机是什么时间进入市场的?

答:51单片机是上个世纪70年代发展80年代被广泛应用的单片机。

(2) 同时期还有其他的竞争产品吗?

答:有还有Zliog公司的z80单片机,但是不久就因为公司的策略原因退出了市场(网上说的)。

(3) 下面说只要问题,现在工作在公司前线和学校的教育与前线的工作者现在多大年纪?

 答:40岁左右。

(4) 现在40多岁的工作者在20年前在做什么?

答:在上大学而且大学里开设的可就是51单片机。

(5) 毕业之后他们去干了些啥?

 答:一部分去公司工作了,就是现在的一线工程师,另一部分留校任教了,就是现在工作在教育一线的我们敬爱的老师。

(6) 现在他们还还在用什么?

 答:大部分还是在用51单片机,在公司工作的工程师们还在用51极力的做着自己的项目,只有在竞争十分激烈的公司遇到51完不成的项目时才会想着去找一个功能更强大的单片机,所以工程师中有一部分会使用其他的单片机。而老师就不一样了做的工程不是很多也不是很大竞争也不是很激烈所以他们会的51单片机就足可以应付,所以他们的知识体系没有更新,直到今天他们在教我们,以至于我们学的是他们在20年前学的东西。这才是为什么我们什么还在学习51单片机的真正原因。

再说说51单片机真的很简单那很容易入门吗,真的可以事半功倍吗,我个人认为不是这样,因为现在的好多单片机都比51单片机入门,例如:AVR单片机操作更简单,片上外设更丰富,PIC单片机有更精简的指令集有33、35、58条指令(视单片机的级别而定),属精简指令集。而51系列有111条指令,AVR单片机有118条指令。

这个现状正在慢慢的改变,因为40岁的工作者正在慢慢老去,20岁的我们才是未来的主宰,20岁的我们也学会了更多的单片机,51内核的:STC全系列 C8051F全系列 肥1内核单片机:AVR PIC MSP430 还有更高级的ARM内核的单片机等等。

MCS51核同期比较有名的MCU还有Motorola的6805核、Zilog的Z8核、NSC的Cop8核、还有比MCS51早出生的MCS48核,还有很多不大有名气的MCU核,过了三十年,还在大规模生产使用的八位核除了6805的姊妹HC08,就是一堆后起之秀了。之所以如此,主要是Intel当时开放了51核的授权,至今众多的授权非授权供应商开发了过万种51核或兼容51核的MCU,而且51核相当稳定,指令集比较合理。这些才是一般熟练R&D选择它的原因。现在ARM的授权生产供应商也很多,当ARM真的有了较长时间存在的稳定内核时将肯定会改变这个局面。

早期51核中的8031片内没有一般MCU必不可少的PROM,需要用户自己外扩,但其片内集成的 Timer、I/O口、RAM、Uart 相当有用,外扩一片地址锁存芯片,一片PROM,一个时钟源,加上直流电源就可以适应不少控制工作,还有不少其他优点,价格也便宜,所以当时国内很快就普及了。

另外需要提出的是直到90's国内大部分学校还在教导Z80或8086,教51的相当少见。

到上世纪90年代,国内 中小市场 容易找到的 是MCS-51系列的资源(包括:芯片、开发工具、参考书、参考设计)。如Z80、6805,还有日系的NEC等,有总销商,但其只对大型工厂, 对于少量样片根本不理睬(这估计与芯片制造商的战略有关)。

但到 90年代后半期,市场就开始多样化了,开始出现了PIC、AVR。到本世纪初,则围绕ARM进行。

无论如何,每一个存在都有它的理由。4位MCU也始终不死, 8位也暂时死不了(至少,40岁的人还看不到它死的可能)。

MCS51是大多数人 或多或少经历过的知识,但不代表 40岁左右的人 都只使用MCS-51,所见 范围内 使用 AVR、PIC、ARM 年长者(50岁左右)也不少。

在校时,曾接受过:

1)MCS-51 课程(实验时,是用汇编,转换成机器码要查表人工转换,然后手工键入十六进制值,按运行看结果)

2)计算机系统结构课程(实验为 8086 汇编,写了计算机编译, 所有均在DOS环境进行)

教学生是教他们学习方法。

51内核从基本的内部定时器、中断、串口到外扩ad、da、ram、rom,整个是微缩版的8086总线结构,

基本上51会了,avr、arm、pic也就不在话下了。但是会了pic、avr,不一定会其他的。

如果只教学生单芯片的pic、c8051f,可能一般学生不知道外扩ram该怎样接。

转帖自网络



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]