你好!欢迎来到深圳市品慧电子有限公司!
语言
当前位置:首页 >> 技术中心 >> 传感技术 >> 放心大胆的看,单片机基本结构详解在这里

放心大胆的看,单片机基本结构详解在这里


??放心大胆的看,单片机基本结构详解在这里

??写在前面

??本系列文章主要从一个单片机开发者的角度,讲解自己对单片机的理解,并不是一个完善的教程,所以不适合作为某款单片机的学习教材。但是,本文旨在用最通俗的语言讲清楚在单片机开发过程中需要掌握的知识结构,为想要入门该领域的人,提供一个除传统的教材以外的另一个途径。

??///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

??正文开始:

??本系列文章尽量使用通俗易懂的语言来讲述知识点,带来的问题可能就是严谨性不够,如果出现明显的错误,还望指正。

??>单片机基本结构【此部分内容仅需了解,不需掌握】

??很多人认为单片机相当于我们常见电脑的中央处理器(CPU),严格来讲这是不正确的,单片机全称单片微型计算机,Single Chip Microcomputer,因此他本质还是计算机,详细来讲,就是把中央处理器、随机存储器(RAM)、只读存储器(ROM)、定时器、计数器、中断、输入输出接口(IO)等主要部件,集成在一个芯片上而形成的计算机系统。

??A、以简单的C51单片机为例,他包含的主要部件如下:

??1、中央处理器(CPU)。C51单片机的中央处理器为8位数据宽度,能处理8位的二进制数。主要有运算器和控制器两部分组成。

??2、存储器。存储器又分为只读存储器与数据(随机)存储器(RAM),这里讲的只读存储器是指运行的程序只能读取的部分,而不是实际意义上的只读,我们一般把我们写的程序烧录到这一存储器上,所以严格意义上他也是可以擦写的。数据存储器(RAM)则主要存放我们程序中需要用到的变量。

??3、定时器与计数器。定时器的本质就是一个寄存器,里面可以设置一个初始数值,然后每个机器周期这个数值加一,直到溢出,溢出后这个寄存器又被赋初始值并开始新的循环,溢出时会出发定时器中断,可以运行中断中的程序。当把加一的信号改为外部中断时,就可以实现计数器的功能了。

??4、中断。顾名思义,中断就是当达到某种预制条件时,停下当前的工作去干别的事情。常见的有外部中断、定时器中断、串口中断等。

??5、IO。单片机与外界交换数据的接口就是IO,既可以是并行的P0、P1口等,也可使工作在串行方式下,比如串口 IIC等方式。

??除了以上讲到的基本部件以外,还有像时钟电路等部分组成。

??早期的C51单片机都需要外置晶振来驱动单片机内部的时钟电路工作,现在常见的单片机一般都内置RC振荡器,在没有外部晶振时也能实现时钟电路的正常工作,但是在需要比较高的主频或比较精确的时钟时,还是需要依靠外部的晶振来实现。

??早期C51系列单片机内部结构框图

??B、以经典的STM32F103系列单片机为代表的Cortex-M3系列单片:

??CortexM3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线。

??与经典的C51单片机相比,他的优点表现在(简单的讲就是更高的性能、更多更快的IO、更先进的指令)

??1、高性能

??·很多指令包括乘法都是单周期的。(早期的C51,12个时钟周期为一个机器周期,后期也出现了但周期的C51)。

??·独立的数据总线和指令总线,使得数据访问和指令访问并行不悖。

??·指令周期和程序大小都减小了。简化了软件开发,使得产品更快面市,代码更易维护。

??·更高代码密度并减少内存需求。

??·32位取址。同一周期可以取指两条指令,如此有更多可用带宽给数据传输。

??·很高的时钟频率(超过100MHz)。

??2、先进的中断处理功能

??·高达240个外部中断输入。

??·中断处理程序可以是标准的C语言函数(不需要额外的汇编语言代码了)。

??·中断管理极其灵活,因为NVIC可为每一中断提供可编程的中断优先级控制。

??3、低功耗

??·适合于低功耗的设计。

??·支持节能模式(SLEEPING和SLEEPDEEP)。

??Cortex-M3内部结构图

用户评论

发评论送积分,参与就有奖励!

发表评论

评论内容:发表评论不能请不要超过250字;发表评论请自觉遵守互联网相关政策法规。

深圳市品慧电子有限公司