0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

51单片机和STM32单片机的结构

GReq_mcu168 来源:玩转单片机 作者:玩转单片机 2021-01-20 17:06 次阅读

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

1. 51系统结构

51单片机和STM32单片机的结构

51系统结构框图

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

1. 内核

51单片机由一个IP核和片上外设组成,IP核就是上图中的CPU,片上外设就是上图中的:时钟电路、SFR和RAMROM、定时/计数器、并行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单片机。

2. 外设

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

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

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

2. STM32系统结构

51单片机和STM32单片机的结构

STM32系统结构框图

1. 内核

在系统结构上,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里面是没有的。

2. 外设

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

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17455

    浏览量

    354237
  • STM32
    +关注

    关注

    2276

    文章

    10942

    浏览量

    359047
  • 51单片机
    +关注

    关注

    275

    文章

    5706

    浏览量

    124923

原文标题:51单片机与STM32单片机架构的区别

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    51单片机pwm和spwm

    51单片机pwm
    发表于 01-08 15:54 3次下载

    51单片机核心板原理图

    51单片机核心板原理图
    发表于 12-16 11:30 3次下载

    51单片机中为什么很少出现printf的身影

    51单片机中为什么很少出现 printf 的身影?是用不了吗? 不是的,51单片机可以用 printf,只是不建议使用。 平时我们在操作系统上写C语言代码,使用 printf 可以把数
    的头像 发表于 12-03 10:46 681次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>中为什么很少出现printf的身影

    基于51单片机的手动数字时钟

    具体实现功能由51单片机+8位共阴数码管+独立按键构成。具体功能:(1)利用数码管显示时分秒,显示格式为“时-分-秒”;(2)利用6个按键控制时、分、秒,设定好后自动开始时钟显示;(3)设置秒复位
    的头像 发表于 10-22 14:12 344次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的手动数字时钟

    如何实现51单片机与PC的串行通信

    51单片机与PC的串行通信是一种常见的通信方式,它允许单片机通过串行接口与PC进行数据交换。这种通信方式在嵌入式系统、工业控制、物联网等
    的头像 发表于 10-21 11:35 1547次阅读

    STM32单片机的特点介绍

    STM32系列单片机是由ST厂商推出的单片机,基于专为高性能、低成本、低功耗嵌入式应用设计的ARM Cortex-M内核,具备一流的外设配置,使其在功耗和集成度方面表现出色,STM32
    的头像 发表于 09-25 17:19 2666次阅读

    51单片机驱动

    电子发烧友网站提供《51单片机驱动.exe》资料免费下载
    发表于 09-20 11:46 5次下载

    51单片机晶振的问题总结

    电子发烧友网站提供《51单片机晶振的问题总结.doc》资料免费下载
    发表于 09-07 09:32 0次下载

    stm32单片机用什么软件编程

    STM32单片机是一种广泛应用于嵌入式系统领域的微控制器,具有高性能、低功耗、丰富的外设接口等特点。要对STM32单片机进行编程,需要选择合适的软件工具。 概述
    的头像 发表于 09-02 10:16 2344次阅读

    stm3251单片机的区别是什么

    架构差异: STM32是基于ARM Cortex-M系列内核的32位微控制器,具有更高效的处理能力和更丰富的外设。 51单片机是基于8051内核的8位微控制器,处理能力相对较低,外设也相对有限
    的头像 发表于 09-02 09:33 1074次阅读

    51单片机烧录软件怎么用

    准备工作 确保您已经安装了51单片机烧录软件,如Keil、IAR等。 准备好51单片机开发板和烧录器,如STC-ISP等。 确保您的计算机已经安装了相应的驱动程序。 安装烧录软件 从官
    的头像 发表于 08-22 09:26 1735次阅读

    一文读懂什么单片机:组成结构与应用

    欢迎来到单片机的世界,这是一种微小(但功能强大)的设备,改变了嵌入式系统的面貌。在本文中,您将了解单片机的一些基本知识、单片机结构以及微处理器与
    的头像 发表于 08-09 11:49 1913次阅读
    一文读懂什么<b class='flag-5'>单片机</b>:组成<b class='flag-5'>结构</b>与应用

    基于STM32单片机的智能冰箱控制系统设计

    基于单片机设计的一款智能冰箱控制系统,可以控制冰箱的制冷装置,可以采集冰箱的异味浓度,超过闽值之后控制紫外灯进行消毒工作单片机采用单片机采用单片机采用
    的头像 发表于 06-25 09:21 1537次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的智能冰箱控制系统设计

    51STM32单片机的编程方式一样吗?

    STM3251单片机是两种常见的单片机系列,它们在硬件架构、性能特点和编程方式等方面有所不同。但是从c语言编程的角度来说,我认为是大同小异的。我们来对比一下它们的编程特点:
    的头像 发表于 05-18 08:04 2782次阅读
    <b class='flag-5'>51</b>、<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的编程方式一样吗?

    STM32单片机最小化系统设计原理

    STM32最小系统,就是能让STM32单片机能够正常工作所必须拥有的组成部分的集合,也是STM32单片机正常运行的必要环境。
    发表于 04-23 14:54 3157次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>最小化系统设计原理