产品概述

52单片机ram AT89S52单片机基础知识详解

小编 2025-07-05 产品概述 23 0

AT89S52单片机基础知识详解

性能说明:

AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。它是使用Atmel公司高密度非易失性存储器技术制造,并与业界标准80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也就是适合于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活及非常有效的解决方案。AT89S52单片机提供一下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。此外,AT89S52单片机的设计与操作频率可下降到0 HZ静态逻辑,支持2种软件可选的节电模式。在空闲模式下,CPU停止工作,而RAM,定时器/计数器,串行口,外中断系统可继续工作。在掉电保护模式下,RAM内容可以被保存,但振荡器将被冻结,单片机一切工作停止,直到下一个中断或者硬件复位为止。其引脚配置如图所示:(三种封装:PDIP、PLCC、TQFP)

引脚说明:

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能:

管脚号引脚第二功能

P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5MOSI(用于系统编程)

P1.6MISO(用于系统编程)

P1.7SCK(用于系统编程)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。

引脚号第二功能:

管脚号引脚第二功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2INT0(外部中断0)

P3.3INT1(外部中断1)

P3.4T0(定时/计数器0)

P3.5T1(定时/计数器1)

P3.6WR(外部数据存储器写选通)

P3.7RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下, ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

51单片机存储器小结

存储器分为程序存储器(ROM)和数据存储器(RAM),两种又都可以分为片内和片外,片外即需要自己在单片机外部扩展。

8051单片机的片内程序存储器有4K,片内数据存储器有256个字节,其中又分为高128字节位特殊功能寄存器区,真正用户能用的RAM只有低128字节。

8052单片机有8K片内程序存储器,而数据存储器除了低128字节外还有扩展的高128字节,地址上跟特殊功能寄存器一样,但物理上是独立的,寻址方式不一样,扩展的高128字节只能间接寻址。

Keil中变量的存储类型:

存储类型

说明

code

程序空间(无需改变的变量)

data

直接访问的内部数据存储器(速度最快)

idata

间接访问的内部数据存储器(可以访问全部256字节RAM)

bdata

可位寻址的内部数据存储器

xdata

外部数据寄存器(最大64K)

pdata

分页的外部数据寄存器(最大256字节,少用)

【如无使用关键字,系统则按默认处理(根据存储模式)】

Keil中的存储模式:

存储模式

说明

Small

变量默认为data型,最大128字节

Compare

变量默认为pdata型,最大256字节

Large

变量默认为xdata型,最大64K

Keil中设置如下图:

我们平常使用的STC单片机,有很多型号,具体存储器大小都要看型号:

【89/90系列的机器周期需要12个或6个时钟周期】

【12/15系列的机器周期只需要1个时钟周期】

51单片机上的FFT算法

最近用增强型51单片机做了一个简易的点阵音乐频谱显示器,最主要是自己刚学完信号处理课程,想自己写一个FFT算法。现将已经能够在51单片机上运行的FFT算法供需要的伙伴们参考。

在51单片机上运行FFT算法,需要注意一下几点:

由于51单片机的内存RAM很小,只有128字节,52有256字节,而16点的浮点数输入,就需要2*4*16=128字节的内存开销,所以只有256字节的做多只能做16点的FFT运算。而且必须要用idata定义才能将其定义在高128字节。所以要做16点以上的FFT运算,必须选用有内部扩展RAM的51系列单片机,然后用xdata定义,并且要将存储模式设为LARGE模式。

相关问答

51 单片机 rom和 ram 多大?

你好!stc89c52单片机的RAM是512字节,ROM是8K字节仅代表个人观点,不喜勿喷,谢谢。你好!stc89c52单片机的RAM是512字节,ROM是8K字节仅代表个人观点,不喜勿喷,.....

MCS-51 单片机 片内 RAM 的组成是如何划分的,各有什么功能?

51内部RAM分配:工作寄存器区00H--1FH位寻址区20H--2FH便笺区30H--7FH共128字节;片外的80H--FFH为特殊功能寄存器;而52的这部分在片内;52有256字节大小;51内...

简述89S51 单片机 片内 RAM 的分配空间?

89S51单片机片内RAM的分配:00~1FH:工作寄存器区;20~2FH:位寻址区;30~7FH:通用区。89S52单片机片内RAM,还有:80~FFH:通用区,必须间接寻址。89S51单片机片内...

什么是 52单片机 ?

52单片机是一种基于Intel8051架构的单片机,也称为STC单片机。它是由中国的STC公司生产的一种低成本、高性能、易于学习和使用的单片机。52单片机具有较高的性...

at89s 52单片机 rom容量是多少KB?

AT89S52单片机的ROM容量为8KB。ROM是只读存储器,用于存储程序代码和常量数据,因此其容量大小会直接影响单片机的功能和性能。AT89S52单片机采用的是Flash存储...

51 单片机 片内 ram 主要用途?

1主要是存放临时数据。2ROM是程序存储器,除了指令外,还包括运行程序必须的某些固定数据,例如:数据表.假如,我们要求在单片机的某口上输出00H到F...单片机R...

89c51 52 的区别?

第一,ROM89c51是4K,但89c52是8K。第二,RAM89c51是128字节,但89c52256字节就编程来说区别不大,主要是硬件资源的区别。区别如下:1、RA...第一,ROM...

哪个系列STC 单片机 有4K的 ram ?

STC90C51AD、STC90C52AD。。。。STC90C516AD,这个STC90CXXAD系列,带的RAM是4KSTC90C51AD、STC90C52AD。。。。STC90C516AD,这个...

51 单片机 ram 由哪几个区构成?

MCS-51单片机内部RAM可分为5个区:1、存储矩阵区:RAM的核心区域是一个寄存器矩阵,用来存储信息,称为存储矩区。2、地址译码器区:地址译码器区的作用是将寄...

AT89S 52单片机 和AT89C51单片机的区别?

AT89S52是AT89C51的增强型,AT89S522比AT89C51,定时器多一个T2(这个东东强悍的很),RAM多128B,ROM多4K,中断多2个,多一个看门狗,在掉电、数据指针等方面还有.....

猜你喜欢