⑴ STM32编程跟51有啥区别
STM32寄存器比较多,比如使用一个定时器,STM32要比51多配置很多寄存器,不过ST提供了完善的库函数,调用配置即可。
单片机就是集CPU、RAM、ROM、输入输出设备和中断系统处于同一芯片的器件,在个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,这些芯片被安装在一个主板上,这样就构成了PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。
单片机
也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。 由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。
⑵ stm32和51单片机的区别
stm32和51单片机的区别:
1.不同的开发方式
51单片机一般直接操作寄存器,STM32主操作库函数编程。
2.系统资源不同
一般来说,STM32的资源比51单片机多。
3.开发环境可能不同
一般来说,51和STM32都可以在KEIL下开发,但是STM32的选择更多,可以在Linux、windows esplease,甚至vscode+插件模式下开发。
4.操作系统差异
一般来说,51单片机不支持操作系统,STM32支持各种主流操作系统,STM32更容易开发,可以很方便的使用系统实现各种场景的应用。由于51单片机没有操作系统,其发展存在一定的障碍,有时不得不牺牲一些功能来实现整体功能的和谐运行。
⑶ 51单片机和STM32有什么区别编程语言也可以用汇编语言吗
1.数据总线宽度不一样,数据总线宽度越宽,处理速度越快。2.汇编指令集不同,51是mcs51指令集,stm32是arm指令集。指令集内容相似,但是形式上还是有较大差距。3.51更便宜,性价比更高,懂得人也更多。4.仿真环境不一样,仿真器也不一样。5.51没有知识产权问题,专利已经过期了。6.发展节奏不一样,51现在是跟跑,STM32是领跑。相似点:都可以用汇编和C语言。建议从单片基本功能开始学起,首先从点亮一颗LED开始,然后是流水灯、中断等单片各种外设。先把基本功练好,后面才能爬得更高,张飞实战电子的单
⑷ 同一个项目分别用stm32和51单片机会有什么不同
李工的经验,有如下几点不同,希望你供你参考。
1.51是8位单片机,而stm32是32位单片机。时钟方面stm32运行频率更高,性能更好。两种单片机性能差别比较大。
2.片上资源不一样。简单讲stm32单片机外设丰富,比如串口,I2c等。stm32单片机片上flash和RAM更大。以后升级功能,改进功能的空间大。如果考虑以后功能升级,建议考虑stm32.
3.成本上应该是51单片机要便宜一些。
4.stm32单片机开发资料和参考程序比较多,有库函数,应用起来方便。51单片机更多直接操作寄存器,开发不方便。
我是北漂李工,一个北漂8年的程序员。
在项目开发过程中,我们经常会遇到需要单片机选型,所以我们常常会根据项目功能需求来选择合适的单片机品牌和型号。常见的51内核单片机和STM32单片机也会是我们主要考虑的型号。
STM32与51单片机的参数差异 STM32与51单片机软件开发难度差异STM32使用寄存器比51单片机要多很多,其配置比51复杂,而且中断逻辑,时钟配置使能控制等很多概念都是51单片机中所没有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加强大,虽然官方提供了开发固件库和相关开发辅助工具,但很多时候,遇到bug调试难度也加大了很多。
stm32固件库很多实用结构体和指针变量,很多在51单片机开发过程不太注重结构体与指针的使用,那么在STM32开发过程中,就难以理解其固件库的运用逻辑。
STM32与51单片机的性价比差异STM32比51处理速度快,外设功能丰富强大,所以价格普遍比51单片机偏贵,在项目选型过程中,需要根据项目功能需求,选择合适的单片机,如果是51单片机能用,那么考虑项目成本,肯定是不能选择STM32,如果51单片机不能用,即使再便宜,也用不了。
总之, 作为单片机开发工程师,需要能够进行一定的器件选型能力,这个也是必备的专业技能。
搞多了开发,你会发现其实用什么真的不重要,只要你会用就行。单片机好比一个精密机床,你要想加工一件作品,你用任何品牌的机床都可以,关键点是这个机床你会不会用,了解通透程度如何。不同品牌机床操作方法肯定大同小异,不会差别很多,你会用一种,另外一种不用看手册,也能猜出个七八分。机床这样,编程也是这样,给你个51,你应该能控制全世界。
首先如果同一个项目可以用51和STM32同时开发,就不建议使用STM32了,51成本更低。
STM32和51单片机不同点有很多:
1.开发方式不同
51单片机一般是直接操作寄存器,STM32主要操作库函数编程
2.系统资源不同
一般而言STM32资源要比51单片机更多
3.开发环境可能不同
51和STM32一般来讲都可以在Keil下开发,但STM32有更多中选择,可以在Linux下面开发,windows Esplise下开发,甚至直接用VSCode + 插件方式开发。
4.操作系统区别
一般而言,51单片机不支持操作系统,STM32支持各种主流操作系统,STM32开发起来更容易,可以很方便的利用系统实现各种场景下的应用,51单片机由于没有操作系统,开发起来有一定阻碍,甚至有时候必须要做出部分功能的牺牲才能达到整体功能的和谐运行。
5.后期维护方式可能不同
STM32资源足够多,可以写一个bootloader程序来完成之后的系统升级工作,不需要拆机就可以完成固件的升级,而51单片机则不可以。
STM32系列单片机分为CORTEX M0,M1,M4内核,个人觉得STM32F0系列的从性价比,功能上可以完全替代51单片机,而且性能更好。当然也可以使用51,价格更便宜一些,,但是要做功能复杂一些的产品,51系列的单片机是不能满足的,比如驱动RGB 屏,至少要用STM32F429,支持LTDC接口,而且需要外扩内存,支持FMC接口,比如要做数字音频,要支持I2S ,比如要做USB传输,要支持USB ,要移植操作系统,文件系统等等,要看CPU 的资源等等,总之,要根据所做的项目看CPU的资源是否满足要求是非常重要的,这要再设计前期靠考虑周到,否则,项目做到一半发现资源不够,需要重来是很郁闷的事情。
做产品要考虑成本,几毛钱就能搞定的,没必要几块甚至几十块。一般来讲,价格越贵的,资源越多,使用起来越简单,随心所欲。简而言之,价格越低,资源越少的单片机,完成项目的难度越大,需要优化代码和算法。
在stm32之前是8051的天下,silabs的c8051f外设相当的强大。硬件不错,可惜代码不够多。atmel的代码比较多,可惜芯片不够强大。
stm32一出,横扫天下,要硬件有硬件,要软件有软件,价格便宜量又足,连低端产品都用他。
电动自行车控制器都用它,无刷电机都用它。
stm32是史上最广泛使用的单片机。
只要资源够用,都可以,20年前我用8051,现在用stm32。stm32方便些,可以在线调试。我现在开发东西复杂一点的,用stm32 1系列和4系列。简单一点的用stm8s一块多钱的样子。
我觉得你的问题对比对象不太对,一般能用51的项目用stm8或者avr即可。一般来说stm32比51强太多了,无论是性能和价格都没有可比性。
所以在我看来开发上没有什么太大不同,无非就是开发环境不一样,如果代码规范的话很容易进行互相移植(最近芯片涨价严重,我们公司正在换国产),而所谓的外设(uart iic spi等等)其实没有太大区别。
但是在生产上差别就出来了,主要在于交货能力,一般而言同为一级代理采购物料,st的交货能力要比stc的强(当然最近行情st也不行了,交期干到了9月份)。所以如果你的产品是主力长期货,建议选择交货能力强的。
我就记得51单片机放不了几个变量就超出了。复杂点的程序都很难写。
⑸ stm32和51单片机的区别
stm32和51单片机的区别如下:
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专液中友门设计的ARMCortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。
包括新的互连型系列在内的STM32系列微控制器具有多种配套软件和开发工具,其中包括意法半导体免费提供的软件库以及第三方工具厂商的广泛闹槐支持。
意法半导体还将推出一个新的评估板,目前正在向大客户提供STM32F105和STM32F107互连型系列的样片stm32的运算速度大约是51单片机的几十倍吧而且外围接口功能比51强大太多。。可以这么STM32是最先进的技术而51是好几十年前的东西虽然用的还是不少。但是内核已经天地之别。
单片机的特点
1、从内部硬件到软件,有一套完整的逐位操作系统,称为位处理器,它处理的不是字或字节,而是位。它不仅可以处理芯片中某些特殊功能寄存器的某些位,如培念传输、设置、复位、测试等,而且可以对这些位进行逻辑运算。功能齐全,使用方便。
2、同时,双功能地址区域在芯片的RAM区域中被特别地打开,这是非常灵活使用的。这个功能无疑为用户提供了极大的便利。
3、乘法和除法指令,这也给编程带来了方便。许多八位微控制器不具备乘法功能,在乘法中调用子程序不方便。
⑹ stm32和stc51的区别原创。
STM32属于arm内核的一个版本,比传统的51单片机高级多了,有很多资源是51不具备的,如usb控制器。而且已经废除了机器周期什么的,速度不是51能比的。
单片机,通常指的就是8位单片机,比如51等,stm32是属于32位机,应该算是arm系列了,其实还是单片机,只不过要比8位单片机处理速度要快,功能要强,集成的资源也更丰富,其次就是编程的模式有改变,单片机通常直接对硬件资源进行操作,而stm32是在厂家提供的库上进行程序开发了。
51单片机是8位微控制器。STM32,与51属于微控制器范畴,单片集成多种用于控制,通信,存储的外设。系统在程序的控制下执行。STm32运算速度、存储容量远高于51单片机。
⑺ 51单片机跟32的区别
所代表的公司不同,内部资源不同。
51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flash ROM技术的发展,8031单片机取得了长足的进展成为了应用最广泛的8bit单片机之一,他的代表型号就是ATMEL公司的AT89系列。
STM32单片机则是ST公司使用arm公司的cortex-M为核心生产的32bit系列的单片机,他的内部资源(寄存器和外设功能)较8051、AVR和PIC都要多的多,基本上接近于计算机的CPU了,适用于手机、路由器等等。
拓展资料
51单片机特点,可以仿真63K程序空间,接近64K 的16位地址空间;可以仿真64Kxdata 空间,全部64K 的16位地址空间;可以真实仿真全部32 条IO脚;完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;可以使用C51语言或者ASM汇编语言进行调适。
⑻ 51单片机和stm32区别
51 单片机和 STM32 是两种不同的微控制器,它们在设计、性能、功能等方面有所区别。
下面是 51 单片机和 STM32 的主要区别:
设计: 51 单片机是按照 Intel MCS-51 单片机规范设计的,而 STM32 则是按照 ARM Cortex-M 处理器架构设计的。
性能: STM32 的处理能力要比 51 单片机强得多,它的主频可以达到 200 MHz 甚至更高,而 51 单片机的主频通常在 20 MHz 左右。
功能: STM32 拥有更多的外设和功能,例如 USB 接口、Ethernet 接口、多种外设接口(如 I2C、SPI、CAN 等)等。而 51 单片
机通常只有最基本的外设和功能。
应用领域: STM32 因其性能优越和功能丰富,通常应用于高端产品和复杂系统中,例如智能家居、智能硬件、工业自动化等。而 51 单片机则更多应用于低端产品和简单系统中,例如家用电器、小型控制器等。
⑼ STM32编程跟51有啥区别
STM32寄存器比较多,比如使用一个定时器,STM32要比51多配置很多寄存器,不过ST提供了完善的库函数,调用配置即可。
单片机就是集CPU、RAM、ROM、输入输出设备和中断系统处于同一芯片的器件,在个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,这些芯片被安装在一个主板上,这样就构成了PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。
单片机
也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。 由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。
⑽ 单片机学51还是stm32
这个取决于自己的条件,如果自己有哪个硬件的开发板就学哪个,都可以作为入门级的芯片。
区别在于51的编程开发环境没有库开发,自己得写每个底层配置,直接操作寄存器。
而32是一般是库开发的,比较容易理解,但对于深入理解寄存器方面可能不太好。
大多数人都是从51开始,芯片便宜,开发简单,易于上手。