0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机新手学习的4个误区

电子技术控 来源:电子技术控 作者:电子技术控 2022-12-14 11:08 次阅读

在刚接触单片机的初期,有许多人认为单片机非常难学,有太多的指令,太多的语法,还要会硬件,其实这些都不是问题,下面和大家聊聊,学习单片机,有哪些误区?如何走出这些误区?

误区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年老鸟经验的我,连一个寄存器都记不住。需要配置寄存器的时候,直接在网上或者书本上参考别人现成的配置程序是上策,查找芯片数据手册是中策,死记硬背寄存器是最最下策。

e8d661b2-7b2b-11ed-8abf-dac502259ad0.jpg

51单片机可以学习寄存器的操作,这一点儿是不容置疑的。我们分析一下其更深层的原因。在MSC-51单片机的编程环境中,最初是以汇编语言为主要编程语言。要知道汇编语言就是直接操作寄存器的,汇编语言是无法做到C语言的函数调用与封装的。如果说51单片机是以操作寄存器为优点,我觉得更应该说51单片机操作寄存器是一种无奈,是只有一个选项的选择题。

笔者在这里也想举一个示例来说明寄存器操作的步骤,但是操作寄存器实在是太复杂了,笔者不想去浪费时间去整理了。

e8e7df64-7b2b-11ed-8abf-dac502259ad0.jpg

误区4:c语言需要学完。

通俗易懂的C语言,方便移植的C语言与硬件平台相对应的编译器联合,就能完成硬件的操作。有了简单、方便的方式,我们为什么还要考虑繁琐,复杂的汇编语言与寄存器操作呢?

e9140e0e-7b2b-11ed-8abf-dac502259ad0.jpg

你不用学指针,你不用学带形参的函数,你不用学结构体,你不用学宏定义,你不用学文件操作,你也不用死记繁琐的数据类型。你只要会:

5条指令语句switch语句,if else语句,while语句,for语句,=赋值语句。

7个运算符+,-,*,/,|,&,!。

4个逻辑关系符||,&&,!=,==。

3个数据类型unsigned char, unsigned int, unsigned long。

3个进制相互转化,二进制,十六进制,十进制。

1个void函数。

1个一维数组code(或const) unsigned char array[]。

那么世界上任何一种逻辑功能的单片机软件你都能做出来。

单片机的学习是非常枯燥而又有挑战性的事情。由干与实际的硬件直接连接,不仅要考虑编写的正确性,而且还要考虑硬件的可靠性。这时,简单、高效的软件编写就变向的降低我们开发难度与风险。51单片机已经是明日黄花向前看才是发展。也许是时候向51单片机说再见了!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120870
  • 定时器
    +关注

    关注

    23

    文章

    3148

    浏览量

    112157
  • 编程语言
    +关注

    关注

    9

    文章

    1879

    浏览量

    33231

原文标题:单片机新手学习的4个误区

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    新手学习单片机最常见的六大误区

    最近看到台私信要资料的同学比较多,想必大家都是对单片机有着浓厚的学习兴趣,但是很多新手开始入门单片机的时候都会遇到一些学习
    的头像 发表于 03-28 08:03 181次阅读
    <b class='flag-5'>新手</b><b class='flag-5'>学习</b><b class='flag-5'>单片机</b>最常见的六大<b class='flag-5'>误区</b>!

    学习RISC-V单片机的感想

    从开始学习单片机开始,就没有在单片机总线方面的知识投入什么精力。觉得就是为了应用开发,没必要了解底层架构方面的知识。 现在可以选择的单片机种类有很多,从最早的51
    发表于 02-17 21:00

    如何提升单片机开发技术?

    学习 单片机开发技术的基础是电子电路原理和C语言编程。我们需要通过学习相关的教材和课程,加强对电子电路原理和C语言编程的掌握。只有扎实的基础知识,才能更好地进行单片机开发。 二、参与
    发表于 01-05 10:14

    51单片机中断学习笔记

    51单片机中断学习笔记
    发表于 12-05 12:13

    请问pic单片机的汇编要怎么学习

    pic单片机的汇编要怎么学习
    发表于 11-01 07:07

    怎么学习单片机编程?

    怎么学习单片机编程
    发表于 10-20 08:21

    怎么编程去计算51单片机某个io口的输入高低电平时间?

    本人是新手刚刚接触51单片机,怎么编程去计算51单片机某个io口的输入高低电平时间,比如我从P1.0口输入了一方波信号,那么怎么通过
    发表于 10-20 07:11

    在进行51单片机学习时要注意哪些问题?

    在进行51单片机学习时要注意哪些问题
    发表于 10-19 07:19

    如何学习单片机步骤的知识梳理

    单片机学习实践 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。
    发表于 10-07 09:55 403次阅读

    51单片机与驱动器怎么连线?

    51单片机和2H45B驱动器线连接 怎么连接是直接驱动器的脉冲、方向、使能与51单片机的I/O连接吗 新手求学谢谢大家
    发表于 10-07 06:30

    40经典单片机实验分享

    精选40单片机课题项目,分别给出电路和程序,程序都用汇编和C语言进行了编写,想学好单片机,必看!!
    发表于 09-21 06:17

    单片机有哪些分类?

    ------品种齐全,应用领域广泛,片内资源也很丰富,也是很受欢迎的单片机。比51单片机多SPI通信模块、I2C通信模块、PWM模块、AD转换模块等片内资源。4时钟周期执行一条指令,
    发表于 09-07 14:54

    单片机有前途吗?

    非常简单,而且相关的学习资料多、教材成熟,学习起来得心应手,入门很快。有了这个基础再去学习其他单片机那就是小菜一碟了,只是对着芯片数据手册设置寄存器罢了,快则一两
    发表于 09-06 10:59

    新手该如何上手单片机

    单片机
    YS YYDS
    发布于 :2023年05月12日 21:21:14