51是8位单片机;STM32可是32位。STM32资源更丰富,存储空间更大;运行和处理速度上,STM32比51快很多;STM32的外设接口更丰富,而且高级接口多;总的来说,STM32比51更高级。
程序方面,都是C语言,因是两种内核,代码实现上有一些差别,但程序功能实现、逻辑处理都和这些无关。
STM32性能更好,更高级,感觉是低端和高端的区别。
程序编写上没啥区别。
本质区别是硬件架构不同
51-8051架构,8位单片机
STM32-ARM Cortex-M系列架构,32位单片机
其他的如UART,IIC,SPI,定时器,终端等这些外设基本他们都有,只是有些处理速度要求高的51没有,如USB,IIS,SDIO等
硬件构造上,51采用的是8051内核,STM32采用ARM内核,完全不同的两种内核,程序也是完全不同的