• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

选择51单片机还是STM32?

SingleYork 2018-07-13 浏览量:3902

最近在主准备做一个项目,要控制30多个直流电机和几个步进电机,在纠结到底用是51单片机来做还是用STM32来做,当然,对于这种项目,这点成本差异几乎可以忽略。


选择51单片机的理由:

一直用的51单片机,功能比较熟悉,项目容易上手,而且STC15系列用的库函数,配置起来也简单。


选择STM32的理由:

性能比51更强大,也可以作为一次练手的机会。


由于本人对STM32不是很熟悉,基本的应用还是可以对付,但是若真得拿来做项目,遇到什么问题就没那么容易排查,身边也没有可以一起谈论的人,网上求助的话也不太现实。51单片机用了这么多年,还是比较熟悉,对项目的开发也快一些,但是不得不说,这也是一次STM32练手的好机会,到底要不要趁此几乎好好的练下手呢?但是一旦有问题了,就比较头疼了。所以一直还在纠结!

4 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 既然成本差异可以忽略,那么还是建议STM32来开发,毕竟性能要好过51很多,而且STM32的生态环境里非常友好,基本各种问题都能有很好的途径来解决。配合STM32CubeMX工具,进行图形方式的工程建立和外设配置,能够非常快速的进入应用层面的开发,而且STM32的HAL还是非常友好的,基本根据名称就能大致推断功能,稍微了解一下就能使用了。
    • 发布于 2018-07-13
    • 举报
    • 评论 0
    • 13
    • 0

其他答案 数量:40
  • 是否能够做成核心板控制的方式,兼容两种方案,项目的主板主要是一些基本外设,主板上有一个核心板接口,然后做两个核心板,一个是51,一个是STM32,因为51熟练,所以一开始可以用51开发做项目,同时熟悉STM32,等到STM32调试完成后,直接将STM32的核心板替换到主板上去。

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 6
    • 0

  • 我觉得可以用STM32,它也是可用用库函数的,尤其是现在有了stm32cubemx工具,配置非常方便
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 4
    • 0

  • 这个看对项目的把握了,理论上开发资源越熟悉的话,在开发过程中遇到的阻力会越小,开发的效率越高。完成的时间就越快
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 4
    • 0

  • 如果为了快速完成任务就51,有富余实践学习就用是stm,这样可以学习下,但从完成任务角度他们都可以胜任,stm资源要丰富的,是主流趋势。当然51一时半会不会趴下。

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 4
    • 0

  • 还是用stm32把,

    看你有要用 STM32 的意向,

    那就用这次 的项目 试试手,

    做项目有时间限制 ,这样学习的快 ,接受的也快、

    变成一条道 就不用去想那么多的事情了

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 4
    • 0

  • 其实根据你的情况,选用51是更好的选择,毕竟是项目,先完成再说。

    建议你安排其他来进行stm学习。

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 3
    • 0

  • 如果时间充裕 建议用stm32 因为不熟悉开发周期会很长 跟个人能力 有关

    如果是快速开发 还有用51吧 毕竟比较熟悉了

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 3
    • 0

  • 价格敏感就用51,性能优先就用32
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 3
    • 0

  • 想早点完成项目就用51,想练练手就用stm32,学习一下,性能也不错
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 3
    • 0

  • 成本忽略的话可以直接用CPLD,可实现多个电机同时控制,省去了单片机的循环任务的麻烦
    • 发布于2018-07-13
    • 举报
    • 评论 2
    • 3
    • 0
SingleYork 回复了 US :你怎么不说直接用运动控制卡呢…… 回复
US 回复了 US :好啊好啊,反正你不计成本,用单片机,可以多挂几个51 回复

  • 如果你要快速完成这个项目的话,推荐使用51单片机,肯定是很快的,但是你控制的东西比较多,32个电机和几个步进电机,这样在51单片机上运行的话是容易出错的,而且代码的执行速度比较低,可能会有延迟。但是控制多个电机可以使用集成的控制模块解决。


    STM32上手确实需要一段时间,你不可能在不会stm32的情况下快速开发项目,但是stm32一般使用库文件操作,代码实现起来还是比较简单的,只要学会了stm32的话,你就会发现51单片机的功能太弱了。


    按照你所说的情况,我推荐你使用stm32,毕竟你不可能一直用51单片机吧(除非你的工作就是使用的51单片机),所以,学学其他的高级一点的单片机对你而言还是比较好的。

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 3
    • 0

  • 做项目首先要用你熟悉的,51是首选,项目保证是最重要的,另外,你的项目以后也可以升级的啊,51做出来后,毕竟硬件资源有限,如果以后有升级,能不能应对,所以先做51,再给老板讲下,32再搞一把
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 3
    • 0

  • 建议使用stm32,毕竟学习之旅不能停啊,学习嘛,有问题就解决问题,没问题的话咱就先制造问题再解决问题。没有问题怎么进步,对吧
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 2
    • 0

  • 51够用的话,那你为什么选择32呢?如果不够用,也可以换个其他的51单片机呀,毕竟你熟悉51嘛比如c8051。做项目不能儿戏,按时做不完或者做的稳定性不行是要赔偿的,有时间了在慢慢学习STM32,毕竟8位单片机和32位单片机还是用挺大区别的
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 2
    • 0

  • 步进电机用步进电机驱动来驱动,这样开发板只要负责发脉冲就可以了。

    这时候STM32的操作跟点灯差不多

    QQ图片20180630134020.gif

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 2
    • 0

  • 如果程序简单,用单片机也可以的,但是如果有比较负责的算法或者控制建议用stm32
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 1
    • 0

  • 我觉得你这样的情况,就看你的这个项目给你的时间是否宽裕了,如果时间宽裕,就上STM32,因为毕竟你之前没用过这个芯片,使用过程中出现一些问题是必然的,既然有问题就要花时间处理了。所以说就看你的项目急不急了。时间紧张的还就继续使用51了,既然你对51很熟悉的话,也有项目经验,相信你的编程能力还是可以的,所以这样的前提下,平时有空买个开发板自己学学STM32的话也是很容易上手的,STM32就是和51一样,都是同类芯片,只不过STM32的寄存器、外设、总线等都比51多,如果像使用51那样直接寄存器操作的话,会很繁琐累人,所以官方推出了固件库。原理都是控制寄存器实现的。
    • 发布于2018-07-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 追说一下,不会stm的硬件,如果软件比较溜,你就mbed。auduino都可以。
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

选择51单片机还是STM32?