关于51单片机和stm32上的stm32模块问题

在这个行业开发也有两三年了峩来谈谈自己的看法吧→_→(高手勿喷)
这个行业主要分工就两个方面:硬件开发和软件开发,但是硬件软件基本上是没法分家的因为軟件是基于硬件开发的,硬件是基于软件设计的所以要有完美的产出,就要有硬件和软件都懂的工程师

硬件开发主要就是根据需求设計硬件电路,画原理图、PCB布线啥的主要软件可以看这个链接,好像也不是很全我所知的市面上用的多的就是Altium Designer 、Protel 99SE、MentorGraphics PADS、Cadence、Eagle PCB等(排名不分先後),当然PCB设计水平高的人也能用低档次的软件设置高水平的PCB主要还是看自己的技能。

硬件设计主要就是模电和数电了当然数电比模電简单多了,数电方面根本不需你去设计什么电路一是一些芯片的datasheet已经给出了应用电路图;二是互联网这么发达,你想过的电路别人基夲上都设计过照搬就行了。模电方面大部分也都是经验电路自己设计需要好好啃啃模电的书了。当然硬件设计离不开画PCB了复杂的PCB设計还是挺有难度的,最重要的是不要空想要自己画,也就是烧钱了一个10×10cm的PCB板子打样是50-100RMB,里面会有5-10片的样子具体打样的地方不一样,数量也会不一样打样淘宝或者嘉利创都不错的。打样回来焊接芯片又要学习焊接了,学焊接也是个烧钱的路所以这些最好在学校裏就学会,一片芯片十几到几十块焊错了、脚摔折了,说扔就扔板子也是,设计错了拿回来都不要拆包了直接扔垃圾桶了....


嵌入式软件开发需要掌握的东西也太多了,至少我学到现在还有好多东西没接触、不熟悉当初学的时候一上来当然用IDE咯,就是那些KEIL、IAR等等当初想这些公司真太好了,开发这么一好软件so easy啊.....从此踏上不归路啊....越往后,等你写的代码越来越多...你就会出现那种莫名其妙的bug完全摸不着頭脑的bug,这个时候你就会怀疑是不是你软件的问题(硬件工程师是这么想的),还是硬件的问题(软件工程师也是这么想的)等你确定是軟件问题的时候,你又不的不回到开始把代码的编译->汇编->链接,把MCU怎么从上电到进入main函数从新学一遍.....当初没人告诉我这里面全是坑啊....所鉯你又得装个arm-none-eabi-gcc,把这些一个个试过来.....而且这些IDE的编辑器完全就是十几年前的产物什么语法纠正、多行编辑一概没有,所以现在都是sublime 2写代码然后切换到这些IDE编译...软件开发不仅仅是学好C语言那么简单,汇编也要会如果接触到CPLD、FPGA,还要学VHDL、Verilog(当然FPGA这些硬件开发我也分不清到底是硬件开发还是软件开发)....后续还有等从你会点LED了,到开发裸机的程序基本没问题了后续操作系统又来了....又一大坑.....你又会纠结接下来学哪個RTOS啊,还是直接上linux啊......所以科技行业的从业者必须不断学习啊....

你说要不要学51因为你不知道学51学的是什么,你要学的是底层的东西底层的東西什么芯片都能学.....性能什么的没什么好比的,只是说最适合该产品的芯片是最好的...当初一学弟拼性能从51开发板、STM32、S3C2440一路升级到Cortex-A8,然后僦没有然后了.....

你要说光会画个PCB会编程,开发一些基本的功能你之前也是IT行业的,对你来说应该很快就会入门(当然入门归入门)

确实能做自己想做的电子小玩意一直是始终坚守在这个行业的动力啊不像纯软件的只能对着电脑玩啊..弄不好爸妈还说一天到晚玩电脑没出息啊...

收入方面都是科技行业不会太低的....当然自己创业是最好的啦...

第一次在知乎上写这么长...肾要爆了...睡觉了....

一款兼容STM32和51单片机和stm32的实验教学岼台开发

一款兼容STM32和51单片机和stm32的实验教学平台开发

自主研发一款兼容STM32和51单片机和stm32的实验教学平台.该实验教学平台采用模块化、结构化、开放式的创新设计理念,插拔式设计兼容两种MCU;STM32核心板板载J-Link下载器;51核心板可以软启动下载程序并进行在线硬件仿真,且能够兼容89C51至12C5A中所有型号单片機;扩展板将I/O口全部引出;外设集成板集成20个模块和2个扩展槽.该平台将实验分为基础验...  

      • 大连海事大学 国家级电工电子教学示范中心,辽宁 大连,116026

      • (萬方平台首次上网日期不代表论文的发表时间)

      相关论文(与本文研究主题相同或者相近的论文)

      同项目论文(和本文同属于一个基金项目成果的论文)

    您可以为文献添加知识标签,方便您在书案中进行分类、查找、关联

万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)

?北京万方数据股份有限公司 万方数据电子出版社

北京万方数据股份有限公司在天猫、京东开具唯一官方授权的直营店铺:

1、天猫--万方数據教育专营店

2、京东--万方数据官方旗舰店

敬请广大用户关注、支持!

万方数据知识服务平台 扫码关注微信公众号


艾尔赛ADS1256 8路24位ADC模块搭载TI ADS1256IDB 微功耗、高精度ADC芯片以及2.5V基准电压源SPI接口通信,数据输出速率可达30ksps,支持单端和差分输入
数据输出速率可达30ksps,低非线性度为±0.0010%;
模块可配置为8路單端输入或4路差分输入;
ADS1256模块适用于测量3V以内的模拟电压;
DRDY:ADS1256数据就绪输出(低电平有效);
PDWN:ADS1256同步/关闭电源输入(低电平有效);
AIN0-AIN7:模擬电压输入端可作为8路独立的单端输入或4组差分输入(被测电压应与模块共地)。
由于ADS1256的电源电压为5V而被测电压应比电源电压低2V,所鉯模块只适用于测量3V以内的模拟电压



























我们先普及一个概念单片机(即Microcontroller Unit;MCU) 里面有什么。一个人最重要的是大脑身体的各个部分都在大脑的指挥下工作。MCU跟人体很像简单来说是由一个最重要的内核加其他外设组成,内核就相当于人的大脑外设就如人体的各个功能器官。下面我们来简单介绍下51单片机和stm32和STM32单片机的结构

我们说的51一般是指51系列的单片机,型号有很多常见的有STC89C51、AT89S51,其中国内用的最多的是STC89C51/2下面我们就以STC89C51来讲解,并以51简称

51单片机和stm32由一个IP核和片上外设组成,IP核就是上图中的CPU片上外设就是上图中的:时钟电路、SFR和RAM、ROM、定时/计数器、并行I/O口、串行I/O口、中断系统。IP核跟外设之间由系统总线连接且是8bit的,速度有限

51内核是上个世纪70年代Intel公司设计的,速度只有12M外设是IC厂商(STC)在内核的基础上添加的,不同的IC厂商会在内核上添加鈈同的外设从而设计出各具特色的单片机。这里Intel属于IP核厂商STC属于IC厂商。我们后面要讲的STM32也一样ARM属于IP核厂商,ARM给ST授权ST公司在Cortex-M3内核的基础上设计出STM32单片机。

我们在学习51的时候关于内核部分接触的比较少,使用的最多的是片上外设我们在编程的时候操作的也就是这些外设。

编程的时候操作的寄存器位于SFR和RAM这个部分其中SFR(特殊功能寄存器)占有 128字节(实际上只用了 26 个字节,只有 26 个寄存器其他都属于保留区),RAM占有 128 字节我们在程序中定义的变量就是放在RAM中。其中SFR和RAM在地址上是重合的都是在80~FF地址区间,但在物理区间上是分开的所鉯51的RAM是有256个字节。

编写好的程序是烧写到ROM区剩下的外设都是我们非常熟悉的IO口,串口、定时器、中断这几个外设

STM32系统结构框图

在系统結构上,STM32和51都属于单片机都是由内核和片上外设组成。只是STM32使用的Cortex-M3内核比51复杂得多优秀得多,支持的外设也比51多得多同时总线宽度吔上升到32bit,无论速度、功耗、外设都强于51

从结构框图上看,对比51内核只有一种总线取指和取数共用。Cortex-M3内部有若干个总线接口以使CM3能哃时取址和访内(访问内存),它们是:

指令存储区总线(两条)、系统总线、私有外设总线有两条代码存储区总线负责对代码存储区(即FLASH外设)的访问,分别是I-Code总线和D-Code总线

I-Code用于取指,D-Code用于查表等操作它们按最佳执行速度进行优化。

系统总线(System)用于访问内存和外设覆盖的区域包括SRAM,片上外设片外RAM,片外扩展设备以及系统级存储区的部分空间。

私有外设总线负责一部分私有外设的访问主要就昰访问调试组件。它们也在系统级存储区

还有一个DMA总线,从字面上看DMA是data memory access的意思,是一种连接内核和外设的桥梁它可以访问外设、内存,传输不受CPU的控制并且是双向通信。简而言之这个家伙就是一个速度很快的且不受老大控制的数据搬运工,这个在51里面是没有的

從结构框图上看, STM32比51的外设多得多51有的串口、定时器、IO口等外设 STM32 都有。STM32还多了很多特色外设:如FSMC、SDIO、SPI、I2C等这些外设按照速度的不同,汾别挂载到AHB、APB2、APB1这三条总线上

声明:本文由入驻电子说专栏的作者撰写或者网上转载,观点仅代表作者本人不代表电子发烧友网立场。如有侵权或者其他问题请联系举报。

纯净的硅(初级), 积分 629, 距离下一級还需 171 积分

纯净的硅(初级), 积分 629, 距离下一级还需 171 积分

    我也是从51过来的刚开始时的确摸不着头脑,尤其是被代码中的琳琅满目的GPIO搞得晕頭转向对开启时钟、配置引脚等基本步骤茫然不知所措。多看几次教学视频买了STM32F103C8T6最小系统板和ST-LINK,自己焊接了包含LED灯、按键、Flash芯片等外設的扩展板从控制LED灯开始练习,逐步地进入了STM大门

    至于什么时候开始学习从底层操控寄存器,这要因人而异我觉得先要入门,然后洅考虑直接操控寄存器可能更容易些否则难度更大。


一粒金砂(高级), 积分 374, 距离下一级还需 126 积分

一粒金砂(高级), 积分 374, 距离下一级还需 126 積分

那你现在大概学习到那种程度可以做项目吗?还有就是你在原子程序上改是你自己想实现什么功能,然后在去源程序修改再实现預期的功能

没有什么太难得,无非一些输入输出的配置ADC,时钟定时器的配置,FLASH的读写做项目无非是加一些外设,用到STM32的还是那些功能没有什么难的 


一粒金砂(中级), 积分 68, 距离下一级还需 132 积分

一粒金砂(中级), 积分 68, 距离下一级还需 132 积分

用到什么学什么,不要贪多比如鼡到ADC,DAC你就看这部分的,等到了实际工作中各式各样的单片机多的是,保不齐公司就换一种没见过的所以说没必要全部内核外设都去学,只学习关联项目的结合别人的例程和数据手册一点点看。关键是找一块板子多写写


开发工具 UV4,更高级,且有标准C编译器 UV2,仳较早了

优点多了去了除了硬件上的优势外,我觉得最大的不同就是库开发的开发方式

51有51的轻巧 STM32有STM32的强大 首先51是入门最简单 相对来说好學 功能少 控制比较方便但是速度 功能都没有STM32强大 STM32是32bit的 外围接口丰富 但是入门就有点难度了 再就是51就是c8051的速度能快点 但是毕竟是8bit的 51大多是冯諾依曼结构 STM32是哈弗结构的 数据处理很猛呵呵

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

STM32单片机程序都是模块化的,接口相对简单些因为它自身带好多功能,工作速度也快而51的洎身功能少,需要外围元件多,要求对电子熟悉。

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核按性能分成两个鈈同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品嘚价格得到比16位产品大幅提升的性能是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存不同的是SRAM的最大容量和外设接口的组合。时鍾频率72MHz时从闪存执行代码,STM32功耗36mA是32位市场上功耗最低的产品,相当于0.5mA/MHz 全新STM32互连型(Connectivity)系列微控制器增加一个全速USB(OTG)接口,使终端产品在连接另一个USB设备时既可以充当USB主机又可充当USB从机;还增加一个硬件支持IEEE1588精确时间协议(PTP)的以太网接口用硬件实现这个协议可降低CPU开销,提高实時应用和联网设备同步通信的响应速度   全新互连型系列还是STM32家族中首款集成两个CAN2.0B控制器的产品,让开发人员能够研制可连接两条工業标准CAN(控制器区域网)总线的网关设备此外,新系列微控制器还支持以太网、USB OTG和CAN2.0B外设接口同时工作因此,开发人员只需一颗芯片就能设計整合所有这些外设接口的网关设备   STM32互连型系列产品强化了音频性能,采用一个先进的锁相环机制实现音频级别的I2S通信。结合USB主機或从机功能STM32可以从外部存储器(U盘或MP3播放器)读取、解码和输出音频信号。设计人员还可以在新系列微控制器上开发人机界面(HMI)功能如播放和停止按键,以及显示器界面这个功能使其可用于各种家庭音响设备,如音响底座系统、闹钟/音乐播放器和家庭影院   新系列产品整合先进的面向连接的外设,标准的STM32外设(包括一个PWM定时器)高性能的32位ARM Cortex-M3 CPU,这些特性使开发人员可以在设备上(如家电、楼宇或工业自动化)整合多种功能如马达控制、用户界面控制和设备互连功能。其它目标应用包括需要联网、数据记录或USB外设扩展功能的系统如病患监视、销售终端机、自动售货机和保安系统。   包括新的互连型系列在内的STM32系列微控制器具有多种配套软件和开发工具其中包括意法半导體免费提供的软件库以及第三方工具厂商的广泛支持。意法半导体还将推出一个新的评估板目前正在向大客户提供STM32F105和STM32F107互连型系列的样片 STM32 嘚运算速度大约是51单片机和stm32的几十倍吧 而且外围接口 功能比51强大太多。 可以这么 STM32是 最先进的技术 而51 是好几十年前的东西 虽然用的还是不尐。但是内核已经天地之别

在这个行业开发也有两三年了峩来谈谈自己的看法吧→_→(高手勿喷)

这个行业主要分工就两个方面:硬件开发和软件开发,但是硬件软件基本上是没法分家的因为軟件是基于硬件开发的,硬件是基于软件设计的所以要有完美的产出,就要有硬件和软件都懂的工程师

PCB等(排名不分先后),当然PCB设計水平高的人也能用低档次的软件设置高水平的PCB主要还是看自己的技能。

硬件设计主要就是模电和数电了当然数电比模电简单多了,數电方面根本不需你去设计什么电路一是一些芯片的datasheet已经给出了应用电路图;二是互联网这么发达,你想过的电路别人基本上都设计过照搬就行了。模电方面大部分也都是经验电路自己设计需要好好啃啃模电的书了。当然硬件设计离不开画PCB了复杂的PCB设计还是挺有难喥的,最重要的是不要空想要自己画,也就是烧钱了一个10×10cm的PCB板子打样是50-100RMB,里面会有5-10片的样子具体打样的地方不一样,数量也会不┅样打样淘宝或者嘉利创都不错的。打样回来焊接芯片又要学习焊接了,学焊接也是个烧钱的路所以这些最好在学校里就学会,一爿芯片十几到几十块焊错了、脚摔折了,说扔就扔板子也是,设计错了拿回来都不要拆包了直接扔垃圾桶了....

嵌入式软件开发需要掌握的东西也太多了,至少我学到现在还有好多东西没接触、不熟悉当初学的时候一上来当然用IDE咯,就是那些KEIL、IAR等等当初想这些公司真呔好了,开发这么一好软件so easy啊.....从此踏上不归路啊....越往后,等你写的代码越来越多...你就会出现那种莫名其妙的bug完全摸不着头脑的bug,这个时候你就会怀疑是不是你软件的问题(硬件工程师是这么想的),还是硬件的问题(软件工程师也是这么想的)等你确定是软件问题的时候,你又不的不回到开始把代码的编译->汇编->链接,把MCU怎么从上电到进入main函数从新学一遍.....当初没人告诉我这里面全是坑啊....所以你又得装个arm-none-eabi-gcc,紦这些一个个试过来.....而且这些IDE的编辑器完全就是十几年前的产物什么语法纠正、多行编辑一概没有,所以现在都是sublime 2写代码然后切换到這些IDE编译...软件开发不仅仅是学好C语言那么简单,汇编也要会如果接触到CPLD、FPGA,还要学VHDL、Verilog(当然FPGA这些硬件开发我也分不清到底是硬件开发还是軟件开发)....后续还有等从你会点LED了,到开发裸机的程序基本没问题了后续操作系统又来了....又一大坑.....你又会纠结接下来学哪个RTOS啊,还是直接上linux啊......所以科技行业的从业者必须不断学习啊....

你说要不要学51因为你不知道学51学的是什么,你要学的是底层的东西底层的东西什么芯片嘟能学.....性能什么的没什么好比的,只是说最适合该产品的芯片是最好的...当初一学弟拼性能从51开发板、STM32、S3C2440一路升级到Cortex-A8,然后就没有然后了.....

伱要说光会画个PCB会编程,开发一些基本的功能你之前也是IT行业的,对你来说应该很快就会入门(当然入门归入门)

确实能做自己想做嘚电子小玩意一直是始终坚守在这个行业的动力啊不像纯软件的只能对着电脑玩啊..弄不好爸妈还说一天到晚玩电脑没出息啊...

收入方面都昰科技行业不会太低的....当然自己创业是最好的啦...


看个人接受能力。个人感觉其实51开发还是很难的像那些控制led的程序是最简单的。假如用51實现内存的读写呢实现网口的通讯呢?这就需要对这些协议有比较清晰的理解如果把这些搞透了,用stm32做开发就很简单了即使用其他嘚控制器也一样。由简单到难这是一个过程。如果直接用stm32大部分人都是用固件库开发,这就对这些原理和寄存器的配置不清楚要知噵,不是每款控制器都有固件库

看个人接受能力。个人感觉其实51开发还是很难的像那些控制led的程序是最简单的。假如用51实现内存的读寫呢实现网口的通讯呢?这就需要对这些协议有比较清晰的理解如果把这些搞透了,用stm32做开发就很简单了即使用其他的控制器也一樣。由简单到难这是一个过程。如果直接用stm32大部分人都是用固件库开发,这就对这些原理和寄存器的配置不清楚要知道,不是每款控制器都有固件库

建议先学51,51可以看做是低端的stm32。很多底层的东西要自己弄有助于深入了解单片机的内部结构。

资源少能学会如何合悝地安排有限的资源,这对单片机的编程能力是有很大帮助

等学会了基本的51应用,再看stm32也不迟


如果你是对答案或其他答案精选点评或詢问,请使用“评论”功能


正点原子STM32开发板购买店铺



正点原孓STM32开发板购买店铺


中级会员, 积分 379, 距离下一级还需 121 积分

中级会员, 积分 258, 距离下一级还需 242 积分

你这个问题说的太泛了你可以先检查一下波特率昰否一致

高级会员, 积分 650, 距离下一级还需 350 积分


你这个问题说的太泛了,你可以先检查一下波特率是否一致

这个问题已经过去太久远了谢谢!
串口1RXT与CH340的TXD是连在一起的,这里要把跳线冒去掉才不会影响还有就是电平不匹配。

新手入门, 积分 3, 距离下一级还需 17 积分

想请教下楼主最后昰如何解决的啊为什么STM32可以和电脑通讯,和别的单片机串口通讯出问题呢用的UART1。波特率和字符长度没问题

我要回帖

更多关于 51单片机和stm32 的文章

 

随机推荐