单片机内部的三大存储器介绍
存储器 属于常见产品,在各类需要存储功能的器件中均存在存储器身影。本文中,小编将对 单片机 内部的各大存储器:程序存储器、数据存储器、特殊功能寄存器 予以介绍。
一、程序存储器
程序是控制 计算机 动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。如前述用助记符编写的命令MOVA,#20H,换成机器认识的代码74H、20H:(写成二进制就是01110100B和00100000B)。在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。程序存储器可以放在片内或片外,亦可片内片外同时设置。由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000H到FFFFH。
8051内部有4k字节的 ROM ,就占用了由0000H~0FFFH的最低4k个字节,这时片外扩充的程序存储器地址编号应由1000H开始,如果将8051当作8031使用,不想利用片内4kROM,全用片外存储器,则地址编号仍可由0000H开始。不过,这时应使8051的第{31}脚(即EA脚)保持低电平。当EA为高电平时,用户在0000H至0FFFH范围内使用内部ROM,大于0FFFH后,单片机 CPU 自动访问外部程序存储器。
二、数据存储器
单片机的数据存储器由读写存储器 RAM 组成。其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。因为将来在学习指令系统和程序设计时会经常用到它们。
8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据RAM的地址为00H~7FH(即0~127)。而用做特殊功能寄存器的地址为80H~FFH。在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按字节寻址,还可按“位(bit)”寻址。对于那些需要进行位操作的数据,可以存放到这个区域。从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0~R7。究竟选用那一组寄存器,由前述标志寄存器中的 RS 1和RS0来选用。在这两位上放入不同的二进制数,即可选用不同的寄存器组。
三、特殊功能寄存器
特殊功能寄存器(SFR)的地址范围为80H~FFH。在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。其中5个是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器的符号和地址见附表2。其中带*号的可位寻址。特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。用于CPUPSW便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。
单片机的组成以及分类和指标
(此处已添加圈子卡片,请到今日头条客户端查看)单片机的组成
单片机又称单片微控制器,它把一个计算机系统集成到一块芯片上,主要包括微处理器(CPU)、存储器(随机访问存储器RAM、只读存储器ROM)和各种输入/输出接口(包括定时器/计数器、并行I/O接口、串行口、A/D转换器以及脉冲宽度调制(PWM)等,如图1-1所示。
▲图1-1 单片机组成框图
程序存储器(ROM)
ROM用来存放用户程序,分为EPROM、Mask ROM、OTP ROM和Flash ROM等。
EPROM型存储器编程(把程序代码通过一种算法写入程序存储器的操作)后,其内容可用紫外线擦除,用户可反复使用,故特别适用于开发阶段,但EPROM型单片机价格很高。
Mask ROM型单片机价格最低,适用于批量生产。由于Mask ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户更改程序代码十分不便,在产品未成熟时选用此型单片机风险较高。
OTP ROM型(一次可编程)单片机价格介于EPROM和MaskROM型单片机之间,它允许用户对其编程,但只能写入一次。
Flash ROM型单片机可采用电擦除的方法修改其内容,允许用户使用编程工具或在系统中快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash ROM型单片机既可用于开发阶段,也可用于批量生产,随着制造工艺的改进,价格不断下降,使用越来越普遍,已成为现代单片机的发展趋势。
中央处理器(CPU)
CPU是单片机的核心单元,通常由算术逻辑运算部件(ALU)和控制部件构成。CPU就像人的大脑一样,决定了单片机的运算能力和处理速度。
随机存储器(RAM)
RAM用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百字节。RAM的内容具有易失性(也称为易挥发性),掉电后数据会丢失。最近出现了EEPROM 或Flash ROM 型的数据存储器,方便用户存放不经常改变的数据及其他重要信息。单片机通常还有特殊寄存器和通用寄存器,也属于RAM空间,但它们存取数据速度很快,特殊寄存器还用于充分发挥单片机各种资源的功效,但这部分存储器占用存储空间更小。
并行输入/输出(I/O)接口
通常为独立的双向I/O接口,既可以用作输入方式,又可以用作输出方式,通过软件编程设定。现代单片机的I/O接口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O接口是单片机的重要资源,也是衡量单片机功能的重要指标之一。
串口输入/输出口
用于单片机和串行设备或其他单片机的通信。串行通信有同步和异步之分,这可以用硬件或通用串行收发器件实现。不同的单片机可能提供不同标准的串行通信接口,如 UART、SPI、I2C、MicroWire等。
定时器/针数器(T/C)
用于单片机内部精确定时或对外部事件(输入信号如脉冲等)进行计数,通常单片机内部有2个或2个以上的定时/计数器。
系统时钟
通常需要外接石英晶体或其他振荡源提供时钟信号输入,有的也使用内部RC振荡器。系统时钟相当于PC微机中的主频。
以上只是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等。此时的单片机才是真正单片化。内部的RAM和ROM的容量也越来越大,ROM 寻址空间甚至可达 64KB,可以说,单片机发展到了一个全新的阶段,应用领域也更为广泛,许多家用电器均走向利用单片机控制的智能化发展道路。
单片机的分类和指标
单片机从用途上可分成专用型单片机和通用型单片机两大类。专用型单片机是为某种专门用途而设计的,如DVD控制器和数码摄像机控制器芯片等。在用量不大的情况下,设计和制造这样的专用芯片成本很高,而且设计和制造的周期也很长。我们常用的都是通用型单片机,通用型单片机把所有资源(如 ROM、I/O 等)全部提供给用户使用。当今通用型单片机的生产厂家已不下几十家,种类有几百种之多。
下面对单片机的几个重要指标进行介绍。
(1)位数:是单片机能够一次处理的数据的宽度,有 1 位机(如 PD7502)、4 位机(如MSM64155A)、8位机(如MCS-51)、16位机(如MCS-96)、32位机(如IMST414)等。
(2)存储器:包括程序存储器和数据存储器,程序存储器空间较大,字节数一般从几KB到几十KB,另外还有不同的类型,如ROM、EPROM、E2PROM、Flash ROM和OTP ROM型。数据存储器的字节数则通常为几十字节到几百字节之间。程序存储器的编程方式也是用户考虑的一个重要因素,有的是串行编程,有的是并行编程,新一代的单片机有的还具有在系统编程(ISP, In-System-Programmable)或在应用再编程(IAP,In-Application re-Programmable)功能;有的还有专用的ISP编程接口JTAG口。
(3)I/O接口:即输入/输出接口,一般有几个到几十个,用户可以根据需要进行选择。
(4)速度:指的是 CPU 的处理速度,以每秒执行多少条指令来衡量,常用单位是 MIPS(百万条指令每秒),目前最快的单片机可达到100MIPS。单片机的速度通常是和系统时钟(相当于PC的主频)相联系的,但并不是频率高的处理速度就一定快,但对于同一种型号的单片机来说,采用频率高的时钟一般比频率低的速度要快。
(5)工作电压:通常工作电压是5V,范围是±5%或±10%;也有3V/3.3V电压的产品;更低的可在1.25V工作。现代单片机又出现了宽电压范围型,在2.5V~6.5V内都可正常工作。
(6)功耗:低功耗是现代单片机所追求的一个目标,目前低功耗单片机的静态电流可以低至μA或nA级。有的单片机还具有等待、关断、睡眠等多种工作模式,以此来降低功耗。
(7)温度:单片机根据工作温度可分为民用级(商业级)、工业级和军用级3种。民用级的温度范围是 0℃~70℃,工业级是-40℃~85℃,军用级是-55℃~125℃(不同厂家的划分标准可能不同)。
(8)附加功能:有的单片机有更多的功能,用户可根据需要选择适合自己的产品。比如有的单片机内部有A/D、D/A、串口、LCD驱动等,使用这种单片机可减少外部器件,提高系统的可靠性。
(此处已添加圈子卡片,请到今日头条客户端查看)相关问答
MCS-51 单片机 的 存储器 地址空间如何划分?各地址空间的地址范...[最佳回答]简单介绍如下:MCS-51的存储器有片内RAM、片外RAM和ROM三个空间.片内RAM:地址范围是00H到7FH(52系...MCS-51单片机的存储器地址空间,讲起来,要...
MCS-51 单片机 内部包含哪几类 存储器 ?各自的 容量 是多少?-ZOL问答各自的容量是多少?讨论回答(4)片内数据存储空间(128B的片内RAM和128B的特殊功能寄存器)和片内ROM(4k)MCS51是指由INTEL生产的一系列单片机的总称,这一系列单...
8051 单片机 有哪些存储空间?8051单片机存储空间包括程序存储器ROM和数据存储器RAM。ROM容量因型号不同而不同,较小的是0.5K字节,最大的是64K字节。有些51单片机把ROM的高端空间定义为EEP...
MCS-51系列 单片机 的 存储器 可划为几个空间?其地址范围及 容量 ...MCS-51系列单片机的存储器可划为几个空间?其地址范围及容量是多少?在使用上有什么不同?讨论回答(6)1、空间划分存储器分为程序存储器(ROM)和数据存储器(RAM...
单片机存储器 分哪几个空间,如何区别不同空间的寻址?1.单片机存储器分为程序存储器(ROM)和数据存储器(RAM)两个空间。2.程序存储器(ROM)用于存储程序代码和常量数据,它的内容在程序运行过程中不会被修改。...1...
51 单片机 外扩数据 存储器 最大的 容量 是多少,可以达到50MB吗?用的是什么芯片?如果正常外扩外部数据存储器,最大只有64K如果用8088的那种映射办法,那51单片机可以达到无穷大例如用8000H-FFFFH这个32K来分片切换,可以把其他芯片...
51 单片机 RAM多大?51系列单片机片内RAM容量介绍如下:1、51系列,00H~7FH,分三大块,00H~1FH为工作寄存器区,20H~2FH为位寄存器区,30H~7FH为用户存储器区。2、52系列,00H~0....
单片机 系统 容量 ?单片机,产品规格尺寸,尺寸大小,通信功能,可实现最大程度的应用,延长时间和通信时间,256KB闪存和96KB。单片机,产品规格尺寸,尺寸大小,通信功能,可实现最大程...
单片机 四个存储空间是?所谓的四个空间是:片内程序存储区、片外程序存储区、片内数据存储区、片外数据存储区。片内程序存储区和片外程序存储区是统一编址的,所以在逻辑上只有三个:片...
单片机 程序空间大小是什么意思?单片机的存储器在物理结构上分为程序存储空间和数据存储空间,共有四个:片内和片外程序存储空间以及片内和片外数据存储空间,这种在物理结构上把程序存储器和数...