51单片机外部ram扩展c程序及硬件结构
第7章MCS-51单片机的常用外设扩展
(2)数据线
2732的8位数据线直接与单片机的P0口相连。P0口作 为地址/数据线分时复用。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对 2732进行读操作。注意,CPU对EPROM只能进行读操作, 不能进行写操作。CPU对2732的读操作控制都是通过控制线 实现的。2732控制线的连接有以下几条:
2.硬件电路 单片机与6116的硬件连接如图7-4所示。
3.连线说明
• 地址线:A0~A10连接单片机地址总线P0.0~P0.7、P2.0、P2.1、P2.2 共11根;
• 数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;
• 控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15; 读允许线连接单片机的读数据存储器控制线;
• 对于没有内部ROM的单片机或者程序较长、片内ROM容 量不够时,用户必须在单片机外部扩展程序存储器。 MCS-51单片机片外有16条地址线,即P0口和P2口,因此 最大寻址范围为64K字节(0000H—FFFFH)。
• 这里要注意的是,MCS-51单片机有一个管脚 EA跟程序存 储器的扩展有关。如果接高电平,那么片内存储器地址范 围是0000H—0FFFH(4K字节),片外程序存储器地址范 围是1000H—FFFFH(60K字节)。如果接低电平,不使 用片内程序存储器,片外程序存储器地址范围为0000H— FFFFH(64K字节)。
1. 芯片选择
单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8 位)、6264(8K×8位)、62256(32K×8位)等。
根据题目容量的要求我们选用SRAM6116,采 用单一+5V供电,输入输出电平均于TTL兼容,具有 低功耗操作方式,管脚如图7-3所示。
51单片机基本结构详解
51单片机基本结构详解51单片机(也称为8051单片机)是一种8位微控制器,由Intel公司于1980年代推出。
它是目前市场上最广泛使用的低成本单片机之一,被广泛应用于各个领域,包括家电、工业控制、仪器仪表等。
本文将详细介绍51单片机的基本结构。
一、51单片机的总体结构51单片机的总体结构主要分为五个部分,包括中央处理器(CPU)、存储器、IO口、定时器/计数器以及串行通信接口。
1. 中央处理器(CPU)51单片机中心的核心是一个8位的CPU,负责执行指令集中的操作。
它包括一个累加器(Accumulator)用于存放运算结果,以及一组寄存器用于存放操作数和地址。
2. 存储器51单片机的存储器主要包括内部RAM和内部ROM。
内部RAM用于存放程序和数据,容量通常较小,而内部ROM则用于存储不变的程序指令。
3. IO口51单片机提供了多个通用IO口,用于与外部设备进行数据交互。
这些IO口既可以作为输入口用于接收外部信号,也可以作为输出口用于发送信号控制外部设备。
4. 定时器/计数器51单片机内置的定时器/计数器模块可用于产生精确的时间延时和计数应用。
它能够协助实现各种时间相关的功能,如PWM输出、测速和脉冲计数等。
5. 串行通信接口51单片机的串行通信接口可用于与其他设备进行数据的串行传输。
常见的串行通信协议包括UART、SPI和I2C等。
二、51单片机的工作原理51单片机的工作原理可以概括为以下几个步骤:1. 程序存储器中的指令被复制到内部RAM中。
2. CPU从内部RAM中取出指令并执行。
3. 根据指令的要求,CPU可能会与IO口、定时器/计数器或串行通信接口进行数据交互。
4. 执行完指令后,CPU将结果存回内部RAM或IO口。
三、51单片机的应用领域51单片机由于其成本低、技术成熟、易于开发和应用广泛等优点,被广泛应用于各个领域。
1. 家电控制51单片机可以用于家电控制,如空调、洗衣机、电视机等。
51单片机的结构及其组成
51单片机的结构及其组成在前面的五节课当中,我们讲述的都是一些基础概念的知识,从这节开始,我们就正式的切入到我们所在学习的对象--51单片机。
学习单片机的内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份:计算机的五个组成部份:运算器:用于实现算术和逻辑运算。
计算机的运算和处理都在这里进行;控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。
注:1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。
2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。
上面讲的是我们的个人办公计算机,那么51单片机的内部又有些什么部件组成呢?1、中央处理单元(8位)数据处理、测试位,置位,复位位操作2、只读存储器(4KB或8KB)永久性存储应用程序,掩模ROM、EPROM、EEPROM3、随机存取内存(128B、128B SFR)在程序运行时存储工作变量和资料4、并行输入/输出口(I / O)(32条)作系统总线、扩展外存、I / O接口芯片5、串行输入/输出口(2条)串行通信、扩展I / O接口芯片6、定时/计数器(16位、加1计数)计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作7、时钟电路内振、外振。
8、中断系统五源中断、2级优先。
结构特点:MCS-51系列单片机为哈佛结构(而非普林斯顿结构)1)内ROM:4KB2)内RAM:128B3)外ROM:64KB4)外RAM:64KB5)I / O线: 32根(4埠,每埠8根)6)定时/计数器:2个16位可编程定时/计数器7)串行口:全双工,2 根8)寄存器区:工作寄存器区、在内128B RAM中,分4个区,9)中断源:5源中断,2级优先10)堆栈:最深128B11)布尔处理机:位处理机,某位单独处理12)指令系统:五大类,111条上图就是我们要研究学习的对象,51单片机摧部结构图了。
51单片机的扩展
(a)程序存储器的扩展
.程序存储器的作用----存放程序代码或常数表格
.扩展时所用芯片----一般用只读型存储器芯片(可以是 EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接 ---- 用EPROM 2732扩展程序存储器。 .存储器地址分析----究竟单片机输出什么地址值时,可以
一、系统扩展的含义
单片机中虽然已经集成了CPU、I/O口、定时器、 中断系统、存储器等计算机的基本部件(即系统资 源),但是对一些较复杂应用系统来说有时感到以 上资源中的一种或几种不够用,这就需要在单片机 芯片外加相应的芯片、电路,使得有关功能得以扩 充,我们称为系统扩展(即系统资源的扩充)。 需要解决的问题是单片机与相应芯片的接口电 路连接(即地址总线、数据总线、控制总线的连接) 与编程。
指向存储器中的某一单元。
.扩展时所用芯片
2732----4K EPROM
A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 GND Vcc A8 A9 A11 OE/Vpp A10 CE O7 O6 O5 O4 O3
2732引脚功能
A0-A11 CE 地址线 选片 输出允许/ 编程电源 数据线
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
A8 A9 A10 A11
2732
CE OE
ALE
PSEN 图4.2 扩展电路
8031
2732
数据总线的连接: P0.0-P0.7(数据总线)----------------------------------------O0-O7 地址总线的连接: 经过锁存器373 P0.0-P0.7(地址总线低8位)---------------------------------- A0-A7 P2.0-P2.3(地址总线高8位中的4位)--------------------------- A8-A11 控制总线的连接: PSEN(程序存储器允许,即读指令) -------------------------- OE ALE(地址锁存允许)-------------------------------------接373的使能端 G
2.1 89C51单片机的内部结构
4. 数据存储器 (1) 功能: 用于存放运算的中间结果、数据暂存和缓冲、 标志位等。
(2) 编址:
FFH 52子系列才有 FFH
SFR分布在 80H-FFH
其中11个可 位寻址
的RAM区
80H 7FH 80H
普通RAM区
89C51 128字节
30H 2FH 20H 1FH 00H
位寻址区 工作寄存器区
片内RAM前32个单元是工作寄存器区(00H—1FH)
FFH 52子系列才有 的RAM区 1FH 18H 17H 10H 0FH 08H 07H 06H 05H 04H 03H 02H 01H 00H
工作寄存器区3
工作寄存器区2
工作寄存器区1
R7 R6 R5 R4 R3 R2 R1 R0
80H 7FH
2
15
1
5
2/3
32
1
5/6
3. 程序存储器 (1) 功能: 用于存放编好的程序和表格常数。 (2) 编址:
0FFFFH
外部 ROM
1000H 0FFFH 内部 ROM 0000H (EA=1) 外部 ROM (EA=0) 0000H 0FFFH
片内ROM和片外ROM取指的速度相同
0000H 0003H 000BH 0013H 001BH 0023H 002BH
51系列单片机的存储器分为数据存储器和程序存储 器,其地址空间,存取指令和控制信号各有一套。
1. 物理结构
片内程序存储器
程序存储器ROM
89C51存储器
片外程序存储器 片内数据存储器 片外数据存储器
数据存储器ROM
2. 逻辑结构
FFH 特 殊 功 能 寄 存 器 80H 7FH 通用 RAM区 位寻址区 30H 2FH 20H 1FH 0FFFH 工作寄 存器区 0000H 0000H 1000H F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H 特 殊 FFFFH 功 能 寄 存 器 中 位 寻 址 F移位功能;位操作。
第6章 MCS-51单片机系统扩展技术
6.3 数据存储器扩展
6.3.1 静态RAM扩展电路
6.3.2 动态RAM扩展电路
返回本章首页
6.3.1 静态RAM扩展电路
常用的静态RAM芯片有6116,6264,62256等,其 管脚配置如图6-13所示。
1.6264静态RAM扩展 额定功耗200mW,典型存取时间200ns,28脚双列直插 式封装。表6-1给出了6264的操作方式,图6-14为6264静 态RAM扩展电路。
图 6 9
A EEPROM
28 17
扩 展 电 路
写入数据
不是指令
查询 中断 延时
2.2864A EEPROM 扩展
2864A有四种工作方式: (1)维持方式 (2)写入方式 (3)读出方式 (4)数据查询方式
图 6 12
28 64
返回本节
A EEPROM
扩 展 电 路
串行E2PROM简介 串行E2PROM占用引线少、接线简单,适用于作为数据存储 器且保存信息量不大的场合。 以AT93C46/56/57/66为例,它是三线串行接口E2PROM, 能提供128×8、256×8、512×8或64×16、128×16、256×16 位,具有高可靠性、能重复擦写100,000次、保存数据100年 不丢失的特点,采用8脚封装。
第6章 MCS-51单片机系统扩展技术
6.1 MCS-51单片机系统扩展的基本概念
6.2 程序存储器扩展技术
6.3 数据存储器扩展 6.4 输入/输出口扩展技术
T0 T1
时钟电路
ROM
RAM
定时计数器
CPU
并行接口 串行接口 中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1
MCS-51系列单片机的结构
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
3.控制总线
(1)
:ALE为地址锁存允许信号。在访问外部
存储器时,ALE用来把扩展地址低8位锁存到外部锁存器。在
不访问外部存储器时,ALE引脚以不变的频率(时钟振荡器频
率的1/6)周期性地发出正脉冲信号,因而它又可用作外部定
品有8031和87510 8031是一个无ROM的8051,它从外部ROM 获取所用的指令,8751是一个用EPROM代替ROM的8051, 除此之外,三者的内部结构及引脚完全相同。今后,除特另 11说明外,用8051这个名称来代表8031、8051和87510
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
二功能是在访问外部存储器时,它分时作为低8位地址线和8 位双向数据线。当P0口作为普通输入口使用时,应先向口锁 存器写“1”。 (2) P1口(P1. 0~P1. 7)是一个内部带上拉电阻的准双向I/O口。 当P1口作为普通输入口使用时,应先向口锁存器写“1” 。
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
(1)带进位和不带进位的加法。 (2)带借位减法。 (3) 8位无符号数乘法和除法。 (4)逻辑与、或、异或操作。 (5)加1、减1操作。 (6)按位求反操作。 (7)循环左、右移位操作。 (8)半字节交换。 (9)二一十进制调整。 (10)比较和条件转移的判断等操作。
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
2)指令寄存器IR (Instruction Register) 指令寄存器是一个8位寄存器,用于暂存待执行的指令,等
51单片机存储器结构介绍
MCS-51单片机存储器结构从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。
【程序内存ROM】寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;0003H ——外部中断0入口000BH —— T0溢出中断入口0013H ——外中断1入口001BH —— T1溢出中断入口0023H ——串口中断入口002BH —— T2溢出中断入口【内部数据存储器RAM】物理上分为两大区:00H ~ 7FH(低128单元用户RAM 和高128单元SFR区)作用:作数据缓冲器用。
一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
(对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的EA端必须接地。
强制CPU从外部程序存储器读取程序。
)对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC 值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
MCS-51单片机的硬件结构
MCS-51单⽚机的硬件结构MCS-51单⽚机的基本组成MCS-51是Intel公司⽣产的⼀个单⽚机系列的总称.在功能上,该系列单⽚机有基本型和增强型两⼤类,通常以芯⽚型号的末位数字来区别。
末位数字位“1”的型号是基本型,为“2”的信号是增强型。
MCS-51单⽚机的内部结构如图所⽰,基本结构包括:⼀个8位的CPU及⽚内振荡器;4KB掩膜ROM(8051),4KB EPROM(8751),⽆ROM(8031);128B RAM,21个特殊功能寄存器SFK;4个(P0~P3)8位并⾏I/O接⼝,⼀个可编程全双⼯通⽤异步串⾏接⼝(UART);具有5个中断源,2个优先级;可寻址64KB 的⽚外ROM和64KB的⽚外RAM;两个16位的定时/计数器;具有位操作功能的布尔处理机及位寻址功能。
MCS-51单⽚机的引脚及其功能MCS-51单⽚机的引脚封装MCS-51单⽚机有普通的HMOS芯⽚和CMOS低功耗芯⽚。
HMOS芯⽚采⽤双列直插封装⽅式,⽽CMOS芯⽚采⽤的封装⽅式有双列直插也有⽅形封装的。
尽管封装的⽅式不同,但是它们的结构完全⼀样。
输⼊/输出接⼝MCS-51单⽚机有4个双向8位I/O接⼝,它们是P0、P1、P2、P3。
在⽆外接存储器时,这4个I/O接⼝均可以作为通⽤I/O接⼝使⽤,CPU既可以对它们进⾏字节操作也可以进⾏位操作。
当外接程序存储器或数据存储器时,P0⼝和P2⼝不再作为通⽤I/O⼝使⽤。
此时,P0⼝传送存储器地址的低8位以及双向的8位数据,P2⼝传送存储器地址的⾼8位。
P0⼝和P2共同组成MCS-51单⽚机的16位地址总线,⽽低8位地址总线与8位双向数据总线分时复⽤。
P0⼝P0⼝有8位,每⼀位由⼀个锁存器、两个三态输⼊缓冲器、控制电路和驱动电路组成。
P0⼝有两种功能,⼀是作为通⽤I/O⼝;⼆是当外接存储器时,作为低8位地址总线和8位双向数据总线。
P0 ⼝作为通⽤I/O ⼝作为通⽤I/O ⼝时,P0 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。
MCS-51单片机的硬件结构
XTAL1 19
VSS
20
8031 8051 8751
40 VCC 39 P0.0 38 P0.1 37 P0.2 36 P0.3 35 P0.4 34 P0.5 33 P0.6 32 P0.7 31 EA/Vpp 30 ALE/PROG 29 PSEN 28 P2.7
27 P2.6 26 P2.5 25 P2.4 24 P2.3
P1.0 1 P1.1 2 P1.2 3 P1.3 4
P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST/VPD 9
RXD/P3.0
10
TXD/P3.1
11
INT0/P3.2
12
INT1/P3.3
13
T0/P3.4
14
T1/P3.5
15
WR/P3.6
16
RD/P3.7
17
XTAL2 18
17
RD(外部数据存储器读脉
P3.7
冲)
返回本节
2.2 MCS-51单片机的引脚及片外总线结构
2.2.1 MCS-51单片机芯片引脚描述 2.2.2 MCS-51单片机的片外总线结构
返回本章首页
2.2.1 MCS-51单片机芯片引脚描述
图2-7为MCS-51单片机的引脚配置图。 1.主电源引脚VCC和VSS 2.外接晶振引脚XTAL1和XTAL2 3.控制或其他电源复用引脚RST/ VPD、ALE/、 和/VPP 4.输入/输出引脚P0、P1、P2、P3(共32根)
VCC
P2.7 PP22..56 P2.4 P2.3 P2.2 P2.1 P2.0 PPP000...756
P0.3 P0.2 P0.1 P0.0
ALE
51单片机的基本结构及其主要组成部分
51单片机的基本结构及其主要组成部分51单片机是一种非常常见的嵌入式微控制器芯片,其被广泛应用于各种电子设备中。
其基本结构及其主要组成部分既是设计开发嵌入式系统的基础,也是学习51单片机的关键。
一、51单片机基本结构51单片机的基本结构主要包括存储器、CPU、输入输出接口以及时钟电路四个部分。
1. 存储器存储器是51单片机系统的一个重要组成部分。
其中包括的存储器主要有ROM、RAM和EEPROM,ROM用来存储程序代码,RAM用来存储变量和中间结果,EEPROM则可实现数据的存储。
2. CPUCPU是整个51单片机系统的核心部分,其主要功能是执行指令,负责程序的控制和各种数据的处理。
在51单片机中,CPU主要通过时钟信号不断地获取并执行程序指令。
3. 输入输出接口输入输出接口是将51单片机与外界连接的一个重要部分,也是实现嵌入式系统功能的关键。
其中包括并口、串口、SPI接口、I2C接口等等,用于处理外设的输入和输出信号。
4. 时钟电路51单片机的时钟电路用来提供时钟信号给CPU,并且用于控制各种外围设备和CPU执行指令的同步。
二、51单片机主要组成部分1. 程序存储器程序存储器是指ROM,其存储了单片机的程序代码。
在51单片机中,程序存储器可以分为两种类型:OTP(一次可编程)ROM和Flash ROM (可被反复擦写)。
在OTP ROM中,编程后的程序无法修改,而Flash ROM则可被反复擦写。
2. 数据存储器数据存储器是指RAM和EEPROM,用来存储程序中的变量和中间结果。
其中RAM用来存储临时数据,EEPROM则用于数据的存储,这些数据在掉电情况下也不会丢失。
3. 中央处理器中央处理器(CPU)是单片机最核心的部分,它负责执行程序中的指令并且控制其它硬件设备的工作。
4. 输入输出接口输入输出接口是将单片机与外部设备相互连接的途径。
在这些接口中,包括并口、串口、SPI、I2C等。
这些接口是为特定的设备开发的,包括LCD显示器、键盘及调制解调器等。
第五章_MCS-51单片机的系统扩展
8255A的控制字与工作模式
8255A有3种工作方式,即模式0、模式1和模式2,这些工作方式可用软件编程来 指定,其设定格式如图5-21所示,设定指令由单片机根据表5-5所示的地址选择表实 现,其中8255A芯片的三个端口在模式0下被分成两组,在模式1和模式2下PC口为 读写控制信号线,只有PA能工作在模式2下。 此外,PC口还具有位控制功能,可以通过工作方式控制字将其任意一位置“1” 或者清“0”,其控制方式见图5-22所示。
图5-21 8255A方式控制字设置
图5-22 PC口位操作控制字
(1)方式0(基本输入/输出方式) 这种工作方式不需要任何选通信号,A口、B口及C口的高4位和低4位都 可以设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口 时,A口的数据能锁存,B口与C口的数据不能锁存。例如,欲设定PA口和PC 口高四位工作在模式0输出以及PB口和PC口低四位工作在模式0输入方式的指 令为: MOV DPTR,#8003H ;控制字的地址为8003H MOV A,#83H ;工作方式控制字为83H MOVX @DPTR,A ;设定工作方式控制字 在这种模式下,单片机可以对8255A的数据端口进行无条件读写,8255A 三个I/O端口数据可得到锁存和缓冲。因此,8255A的模式0属于基本输入输出 模式。
(2)方式1(选通输入/输出方式) 在这种工作方式下,A口可由编程设定为输入口或输出口,C口的3位用来作 为A口输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口, C口的另3位用来作为B口输入/输出操作的控制和同步信号。在方式1下A口和B口的 输入数据或输出数据都能被锁存。C口的6条线作为控制和状态信号线,其定义如 表5-6所示。
图5-18 利用74LS164扩展并行输出口
2 MCS-51系列单片机的结构和原理
0023H~002AH
地址去执行程序
串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首
但8个单元难以存下一个完整的中断服务程序, 故一般在中断地址区首地址开始存放一条无条件转移指令
JMP、 AJMP以便中断响应后,通过中断地址区,转到
中断服务程序的实际入口地址去
2.3.4 堆栈操作 堆栈只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为插入运算(入栈),PUSH 从堆栈中读出数据称为删除运算(出栈),POP
地址:80H~FFH 存放相应功能部件 的控制命令、状态 或数据 21个专用寄存器
(SFR)
(1)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用 寄存器。在算术/逻辑运算中用于存放操作数或结果。
(2)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
I/O口P0、P1、P2、P3集数据输入缓冲、数据输出驱动及锁
存等多项功能于一体
• 字节地址为90H,位地址为90H~97H,只作通用I/O口使用. • 由一个数据输出锁存器、两个三态输入缓冲器和输出驱动电 路组成。 内有电阻, 输出时无需 外接上拉电 阻 P1口作输出口 使用时: 内部总线 输出数据给输 出数据锁存器 的输入数据线 D.
1. 芯片封装形式
双列直插式DIP(Dual In line Package) 44引脚方形扁平式QFP(Quad Flat Package)
2. 芯片引脚介绍
1)输入/输出口线 4个8位双向口线
2)ALE 地址锁存控制信号 • 在系统扩展时,用于控制把P0口输出的低8位地址
送入锁存器锁存起来,以实现低位地址和数据的分
MCS-51单片机存储器结构
MCS-51单片机存储器结构MCS-51的存储器可分为四类:【1】外部程序存储器ROM 【2】外部数据存储器RAM【3】内部程序存储器ROM一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
【对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。
强制CPU从外部程序存储器读取程序。
】【对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
】8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。
但在程序存储中有些特殊的单元,这在使用中应加以注意:其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。
另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:0003H—000AH 外部中断0中断地址区。
000BH—0012H 定时/计数器0中断地址区。
0013H—001AH 外部中断1中断地址区。
001BH—0022H 定时/计数器1中断地址区。
0023H—002AH 串行中断地址区。
51单片机的程序存储器和数据存储器
一、51单片机的程序存储器结构1.内部结构单片机内部的程序存储器用于存储单片机工作时候的程序,单片机内部专门设置一个16位的程序计数器(PC),用于知识下一时刻单片机要执行的程序在ROM 空间中的地址位置,即可以存储64Kb空间大小。
程序存储器物理上可以分为片内程序存储器和片外存储器,不同单片机型号有不同的片内程序存储器空间大小。
例如8051单片机片内有4Kb的ROM,那当控制线取0时,PC访问的前4kb空间是片内的ROM;当控制线为0时候,PC访问的是片外的ROM。
2.程序存储器的7个特殊地址51单片机复位后,PC的内容是0000H,即为系统程序的启动地址。
51单片机内部有6个中断源,6个中断源介绍及地址如下所示:中断源之间只间隔8个存储单元,这是不足以存放中断程序的,所以这是中断入口地址,后续有中断服务函数。
二、51单片机的数据存储器数据存储器(RAM)存储单片机运行期间所需要的数据和临时生成的数据。
从物理上分为片内RAM和片外RAM(片外RAM是通过16位的地址总线访问,所以片外RAM也是64kb)。
1.片内数据存储器厂家根据不同的任务要求和需求定义不同的任务块,如下所示:工作寄存器组:一共有32个字节,也被称为通用寄存器,用于临时寄存8个信息,工作寄存器组分为4个组别,每组有R0-R7一共8个数据信息。
位寻址区:一共有16个字节,128位,该区域每一位可按照位于方式使用,这128位会重新分配工作地址。
一般RAM区域:用户编程可以使用的RAM,当然,前两个单元未使用的空间,用户也可以使用。
堆栈区和堆栈指针:先进后出、后入先出的原则进行管理的一段存储区域函数的调用就是一个堆栈操作,如下图所示:为实现堆栈“先入后出,后入先出”数据处理,51单片机内部设置了一个堆栈指针SP。
特殊功能寄存器:专用于控制、管理片内算术逻辑部件等功能模块工作,用户编程时可以直接给特殊功能寄存器设定值。
51单片机内部有包括PC在内19个特殊功能寄存器,如下所示:CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈寄存器SP(81H),数据指针DPTR(82H、83H)2.片外数据存储器51单片机内部RAM空间不够时候,就通过总线来扩展片外ram,最多可以扩展64KB.。
51单片机外部存储器的扩展
一、地址线的译码
存储器芯片的选择有两种方法:线选法和译码法。
1、线选法。所谓线选法,就是直接以系统的地址线作为 存储器芯片的片选信号,为此只需把用到的地址线与存储 器芯片的片选端直接相连即可。 2、译码法。所谓译码法,就是使用地址译码器对系统的 片外地址进行译码,以其译码输出作为存储器芯片的片选 信号。译码法又分为完全译码和部分译码两种。
MCS-51系列单片机片内外程序存储器的空 间可达64KB,而片内程序存储器的空间只有 4KB。如果片内的程序存储器不够用时,则需 进行程序存储器的扩展。
MCS-51存储器的扩展
存储器扩展的核心问题是存储器的编址 问题。所谓编址就是给存储单元分配地址。
由于存储器通常由多个芯片组成,为此 存储器的编址分为两个层次:
扩展数据存储器常用静态RAM 芯片: 6264(8K×8位)、62256(32K×8位)、 628128(128K×8位)等。
MCS-51存储器的扩展
P2.7~P2.0
ALE P0.0~P0.7 8031
EA PSEN
A15~A8 高8位地址
CLK Q7~Q0 A7~A0 I0~I7 地址锁存器
D0~D 7
二、以P2口作为高8位的地址总线
P0口的低8位地址加上P2的高8位地址就可以形成16位的 地址总线,达到64KB的寻址能力。
实际应用中,往往不需要扩展那么多地址,扩展多少用 多少口线,剩余的口线仍可作一般I/O口来使用。
三、控制信号线 ALE:地址锁存信号,用以实现对低8位地址的锁存。 PSEN:片外程序存储器读选通信号。 EA:程序存储器选择信号。为低电平时,访问外部程序存储 器;为高电平时,访问内部程序存储器。
MCS-51单片机的基本组成
RST/VP D(9脚)
EA/VPP (31脚)
电源端,接+5 V。
RST即为RESET,VPD为 备用电源。
2)晶体振荡器接入或外部振荡信号输入引脚 (1)XTAL1(19脚):晶体振荡器接入的一个引脚。采用外部
振荡器时,此引脚接地。 (2)XTAL2(18脚):晶体振荡器接入的另一个引脚。采用外
方式可以分成两大类:一类是随机存取存储器(random access memory, RAM),主要用于存放暂存数据及调试程序,所以又称为数据存储器;另 一类是只读存储器(read only memory,ROM),主要用于存放常数及固 定程序,又称为程序存储器。
存储器内部结构
Hale Waihona Puke 3.定时器/计数器 8051单片机有两个16位的可编程定时器/计数器T0和T1,用于精
部振荡器时,此引脚作为外部振荡信号的输入端。 3)地址锁存及外部程序存储器编程脉冲信号输入引脚
ALE/PROG(30脚):地址锁存允许信号输出/编程脉冲输入引 脚。ALE为地址锁存允许信号输出引脚,当8051单片机上电正常工 作时,自动在该引脚上输出六分之一晶振频率(fOSC/6)的脉冲序 列。当CPU访问外部存储器时,此信号作为锁存低8位地址的控制信 号。PROG为编程脉冲输入引脚,在对片内ROM编程写入时,作为编 程脉冲输入端。
1.2 单片机的片外总线与引脚功能
1.MCS-51单片机的引脚分布
MCS-51系列单片机引脚图和逻辑图
2.MCS-51单片机的引脚功能 1)电源及复位引脚
接地端。
VCC(40 脚)
VSS(20 脚)
EA为片内外程序存储器选用端。 该引脚为低电平时,只选用片外 程序存储器;该引脚为高电平 时,先选用片内程序存储器,然 后选用片外程序存储器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c程序
#include<reg52.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
int n,m;
void main()
{
unsigned int i;
while(1)
{
for(i=0x0000;i<=0x7fff;i++)
{
XBYTE[i]=n;//写入ram
}
for(i=0x7fff;i>0x0000;i--)
{
m=XBYTE[i];//读外部存储器
}
}
}
62256外部ram芯片
相关知识:
XBYTE是一个地址指针(可当成一个数组名或数组的首地址),它在文件absacc.h中由系统定义,指向外部RAM(包括I/O口)的0000H单元,XBYTE后面的中括号[ ]0x2000H 是指数组首地址0000H的偏移地址,即用XBYTE[0x2000]可访问偏移地址为0x2000的I/O端口。
这个主要是在用C51的P0,P2口做外部扩展时使用,其中XBYTE [0x0002],P2口对应于地址高位,P0口对应于地址低位。
一般P2口用于控制信号,P0口作为数据通道。
比如:P2.7接WR,P2.6接RD,P2.5接CS,那么就可
以确定个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE [0x4000],其中WR,CS为低,RD为高,那就是高位的4,当然其余的可以根据情况自己定,然后通过
XBYTE [0x4000] = 57;
这赋值语句,就可以把57写到外部RAM的0x4000处了,此地址对应一个字节。
XBYTE 的作用,可以用来定义绝对地址,是P0口和P2口的,其中P2口对应的是高位,P0口对应的是低位
如XBYTE[0x1234] = 0x56;
则等价于
mov dptr,#1234h
mov @dptr,#56h
谢谢大家。