学习51单片机过程中产生的几大误区介绍
扫描二维码
随时随地手机看文章
在刚接触单片机的初期,有许多人认为单片机非常难学,有太多的指令,太多的语法,还要会硬件,其实这些都不是问题,下面和大家聊聊,学习单片机,有哪些误区?如何走出这些误区?
误区1:51单片机入门简单51单片机入门简单?我对于这个观点持保留意见。想要入门51单片机,我不仅熟悉该款单片机外设,而且还要充分了解寄存器的某位的意义。对于时钟,定时器的配置必须了如指掌。这样无疑会增大我的学习难度与熟悉的周期。如果我们使用32位单片机的库函数模式,我们只需要具备C语言的知识,了解API函数,直接看已经注释过的寄存器意思即可,不需要了解其底层的硬件实现,更不需要了解某个寄存器某个指定位的意义了。这样,减少了我的工作量,从而降低了开发难度。你说是51单片机入门简单,还是32位Cortex内核微处理器简单?
误区2:51单片机的成本低
我是一个务实的人,正做过一个产品就知道,成本核算也要站很大一块。举个例子我之前做了一个多轴数控设备,先不谈算法的事如果你用树莓派去做,同样的功能一个树莓派的板子可能要200元,如果用stm32做自己画板子30块就能搞定,要是你做产品你会选哪种方式呢。
成本都是左右应用的主要因素。项目的立项主要考虑成本,销售的定价主要成本。低成本的方案才会在市场里占有优势。可是,51单片机真就是最低成本了吗?非也。现在按照功能划分,部分Cortex-m0系列的32位单片机的成本也能做3元人民币。其性能已经是51单片机的好几倍了,而且更容易开发与维护。
还有另外一个成本:开发难度成本。51单片机不支持在线调试,有一些问题在编程初期没有发现,只有与硬件连接后才会显现出现来,例如控制操作中经常用到的延时。这时在线调试的巨大优势就体现出来了,它可以极其方便的查看微处理器当时的状态,使得问题的分析变得简单而透明。从而,有效降低开发的难度,缩短开发周期,节约开发资金。
误区3:51单片机可以学习寄存器的操作
寄存器不用死记硬背,有着10年老鸟经验的我,连一个寄存器都记不住。需要配置寄存器的时候,直接在网上或者书本上参考别人现成的配置程序是上策,查找芯片数据手册是中策,死记硬背寄存器是最最下策。
可以说现在应用系统中绝大部分的项目,最简单的8位51单片机就可以胜任,现在真正需要高档单片机的项目还是少数。老板们不会投入多余的钱去选用你推荐的所谓高级单片机,大部分人遵循“只买对的不买贵的”这样理性的原则,理性的人不会盲目的追随比尔 盖茨的不断升级,因为这些东西一方面有技术发展的需求,但是也有相当一部分是老板们为追求更大商业利益的炒作。因此我还是要说,如果你没有学过C51单片机的话,还是要学C51单片机。要强调的是,说到底单片机只是一个电子产品或应用系统的一个组成部分,一般来说他在其中扮演的是中心控制器的角色,像人的大脑一样相当重要。但是像人一样,你还得有鼻子眼睛耳朵等传感器,还要有手脚这些执行机构才能构成一个完整的系统。也就是说学习者除了学习单片机之外,你还要学习其它方面的相关知识,比如传感器、模拟电路、固态继电器、步进电机等等。除了少部分大型分工特细的公司以外,现在大部分公司还是希望招聘那些具有多方面知识和技能的人,这些人的就业空间要广阔的多。你只会单片机是远远不够的。
因此我建议大家在单片机学习中,不要盲目跟风,一味追求高精尖。要切实学好一种机型,真正做到会用,能把它应用到你的工作和产品中,这才是最重要的。要做到这一点,你不仅要学习单片机,还需要学习相关的电子技术知识,要针对你的工作实际,扩大自己的知识面,不要一直停留在“跑马灯”阶段。要尽快进入应用,这样才能成为一个有用的电子技术工程师。