设计与开发

STM32单片机和51单片机区别 stm32和51单片机的区别,先学51还是先学stm32?

小编 2024-11-24 设计与开发 23 0

stm32和51单片机的区别,先学51还是先学stm32?

之前无际在网上看了一些老工程师给初学者的一些建议。

其中一个就是新手可不可以直接跳过51单片机学习stm32。

很多老鸟教唆初学者说51已经过时了,建议直接学stm32单片机。

如果新手信了他的邪,能学会才怪!

当他说出51过时的时候,我就知道这个人是个外行。

所以在信息爆炸的时代,如何学会去甄别哪些是对的,哪些是错得特别重要,方向不对毁一生!

我们无际单片机编程团队一直提倡初学者从51开始学习,目的在于让大家能对单片机的原理有一个深入的理解。

51单片机都是通过配置寄存器来控制外设,实际上目前大多数单片机都是这样做的,区别就是寄存器不一样。

当我们懂了其中一种以后,其他的都是大同小异。

一、51和stm32单片机的区别

51单片机

STM32单片机

51和stm32的区别还是挺大的,51是属于低端单片机,stm32算是中高端单片机了,他们面向的产品也不一样,真要区别,一篇文章远远不够。

这里只说对我们开发息息相关的。

1. 内核

51是Intel8051的内核架构,而STM32有Cortex-M1/M2/M3/M4/M7这么多内核版本,像我们常用的STM32F1系列就是Cortex-M3的内核。

2. 资源

51是入门级单片机,各方面资源都不如stm32,比如说主频、ROM、RAM、IO口、外设资源。

3. 开发模式不同

51是直接操作寄存器使用外设,而stm32是直接调用库函数使用外设,相对51开发更加效率。

4. 操作系统

51不能跑实时操作系统,而stm32可以跑主流的RTOS。

5. 后期维护

51不能升级程序,而stm32可以通过编写bootloader程序来完成后续产品程序升级,如果软件有bug,不需要客户退回,直接升级程序解决。

6. 开发环境

51和stm32虽然都可以用keil开发,但是版本不同,而stm32的开发环境也比较多元化,主流的就是keil或者iar。

7. 程序架构

如果是资源很紧张的51单片机,产品开发时一般以功能实现为主,不会考虑程序架构可扩展性和可移植性,因为ROM和RAM不允许。

8. 难易度

Stm32虽然是通过调库就能把芯片外设用起来,但是开发难度会比51难很多,因为stm32的资源丰富,涉及的技术点就多。

所以,两者厂家对芯片的定位不同,51除了偏向低端产品以外,开发也更接近底层。

而stm32厂家的定位是帮助工程师快速做出产品。

基于这些特点,如果你刚开始就直接去stm32的话,会有很多基础知识的缺失。

导致你学起来比较吃力,很多东西也掌握不透,在学习的过程中会很痛苦,觉得这玩意太难了。

一般有51基础,并且做过一些小项目,学习stm32会快很多。

也不用系统地把所有外设都学习一遍,最好的方法就是通过项目去学习,项目用到什么外设,就相应去看这个外设怎么开起来。

基本上一个项目下来,你就能掌握stm32了,我当初就是这样学会stm32的,我也没去看任何视频教程。

相对教程,我更喜欢找例程,这样更节约时间,有基础的话通过例程你很快就能猜出来改哪些地方代码会有什么样的结果。

其实归根到底就是把它当做一个工具熟悉而已。

想学单片机,选哪个型号矮粗笨的51单片机完胜高富美的STM32

51单片机流行了这么久,至今仍然很流行,现在所讲的51单片机一般是指国产的STC单片机,STC是一个很神奇的公司,在ST、TI、Microchip、NXP群雄逐鹿的今天,硬是杀出了一条血路,主要针对人群以大学生、初入门者居多。由51单片机所引发的讨论从来就没有停止过,STM8,STM32,AVR, PIC,MSP430单片机使用这么广泛、资料这么丰富,在入门的时候到底还要不要从51单片机开始?单片机大神在摒弃51,入门新手在纠结,这是一个值得讨论的问题。

浓浓山寨风的STC官网

首先发表我的观点:以51单片机作为入门,很有必要 。相信很多单片机工程师、硬件工程师、电子工程师也都是以51单片机作为起点的。不仅如此,而且反对派中的大多数也是从51单片机过来的。理由如下:

1.与大学课程接轨

在大学里,电类专业,如电子信息工程、计算机科学与技术、电气自动化等,都会开设51单片机的专业课程。在这门课程里会讲解51单片机的基本硬件知识和编程。虽然现在很多单片机的性能和性价比都远远超过51单片机,但是大学课程更新较慢,而且授课老师都是利用延续下来的课件讲授51单片机,如果频繁更滑其他型号的单片机,老师新作课件麻烦,而且还要花精力去熟悉,老师没有时间也不愿意,所以就导致了大学里的单片机课程一直以51为中心。

我在上大学时也学习的51单片机,当时授课老师在教授这门课程的时候是基本脱离硬件的,以汇编编程为主,主要讲111条汇编指令,一堂课讲4条,当时跟听天书一样完全听不懂。这个汇编课件是老师积累了多年所形成的教案,汇编的指令清晰,教案的结构容易把控,课时容易规划 ,所以课件不会轻易改动,即使老师不用汇编编程。

51单片机学习板

2.51单片机容易入门

在没有单片机的概念之前,如果直接入手STM32或者STM8S这类单片机,可能初学者感到很茫然。因为没有任何单片机寄存器的概念做铺垫,一开始就要了解单片机的方向寄存器还要了解单片机的数据寄存器,甚至还有库函数,一时间让初学者难以接受。51单片机的寄存器相对简单,作为准双向口,配置起来没有那么复杂。先把51单片机学好,再学其他单片机也是一种好方法。从这个角度来讲,51单片机比较容易入门。

51单片机小制作-抢答器

3.51单片机资料丰富

51单片机作为最早传入国内的一个系列的单片机,应用有超过30多年的历史,甚至第一代接触51单片机的工程师还奋斗在岗位上,所以51单片机积累了太多的学习资料、例程、设计实例等。大学里的课程设计题目甚至毕业设计题目,在网上都能找到实际可用的资料,这也让很多学生有了参考,更愿意在此基础上去实现自己的设计,所以51单片机成了学生们的首选。由此也形成了一个非常庞大的灰色产业链,单片机课程设计、毕业设计代做,只要有需求就有供应,这些制作在网购平台上非常多,甚至有很多初创公司都是以51单片机开发板或者是代做设计起家的。

51单片机小制作-循迹小车

4.51单片机也在不断创新

51单片机虽然有了这么久的历史,但是他却一直在更新,从Atmel的51单片机到STC的单片机,51单片机一直在改进,STC单片机已经改进的很适合国人的应用习惯,并且性能也在不断提升,片上资源也越来越丰富,当然与TI、ST、Microchip等国际知名半导体公司的差距还是挺大的,但是他的努力不应被否定。

51单片机开发板

虽然我现在设计产品时主要应用STM32、PIC、NXP等,已经不再用51单片机了,但是我还是推荐51单片机作为入门工具,你有什么样的看法可以一起讨论。

本文章由头条号:玩转嵌入式原创,如需转载请联系作者,感谢支持。

相关问答

51单片机和 stm单片机的 区别 ?

两者的主要区别如下:1、内核:51单片机采用的是51Core,8Bit@2MHzMax(分频后),0.06DMIPS;STM32采用的是ARMCortex-M3,32Bit@72MHz,1....

stm32 系列 单片机区别 ?

1、内核:51单片机采用的是51Core,8Bit@2MHzMax(分频后),0.06DMIPS;STM32采用的是ARMCortex-M3,32Bit@72MHz,1.25DMIPS2、地...

51单片机和stm32 的低功耗特性对比?

优点如下:1、STM32属于arm内核的一个版本,比传统的51单片机高级多了,有很多资源是51不具备的,如usb控制器。而且已经废除了机器周期什么的,速度不是51能比...

如何从 51单片机 过度到 STM32 ?

其实单片机都是相通的,学会一款型号,可以很快的入手其他型号,单片机只是一门工具,做好产品才是最终的目的。51单片机到STM32的过度,不困难,仅体现在单片机...其...

xs128 和stm32 两种 单片机 分别有哪些优势?用起来有什么 区别 ? -...

xs128是16位机,stm32是32位单片机,如果有51基础的话,建接学stm32,xs128其实16位单片机,速也比51多,抗干扰这方面比较好,但其实和51的用法差不多,会5...

单片机和 ARM有什么 区别 ?

欢迎大家关注狗哥,学习更多单片机干货1、单片机指单芯片上集成了控制器、存储器以及如定时器、SPI、IIC等外部设备于一体的片上系统,可以用来执行复杂的功能,...

stm32 的程序可以用 51单片机 实现嘛?

相应的功能是可以用51单片机实现的,但stm32的程序和51单片机是绝对不能通用的,主要原因有三点:第一,STM32是32位,而51是8位,所以程序变量的定义是不一样...

51单片机 STM32 ,CPLD?

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的32位ARMCortex-M3内核。51单片机是8位微控制器。CPLD是复杂可编程逻辑器件。STM32,...

xs128 和stm32 两种 单片机 分别有哪些优势?用起来有什么 区别 ? -...

stm32比128高级,我两块,更32。的32也能,128不能实现的的32也能。而且128写程序的编译器还没有写32的keil高级,调试的时候麻烦。xs128是16位机,stm3...

51单片机和 32单片机哪个难?

当然是32单片机难,难很多。51单片机是基础,必须要扎实掌握。在学单片机之前,也必须有数字和模拟电路基础,而且要学习画PCB,另外还有C语言编程基础也得掌握...

猜你喜欢