51单片机大容量数据存储器的扩展要点
1
郑州航空工业管理学院
《单片机原理与应用》
课程设计说明书
10 级 自动化 专业 1006112 班级
题 目 51单片机大容量数据存储器的系统扩展
姓 名 杨向龙 学号 100611234
指导教师 王义琴 职称 讲师
二О 一三 年 六 月 十 日 2
3 目 录
一、51单片机大容量数据存储器的系统扩展的基本原理 .... 4
二、设计方案 .............................................................................. 4
三、硬件的设计..........................................................................5
3.1 系统的硬件构成及功能 ................................................. 5
3.2硬件的系统组成 .............................................................. 5
3.2.1、W241024A ............................................................ 5
3.2.2、CPLD的功能实现................................................ 5
3.2.3、AT89C52简介 ...................................................... 6
3.2.4、SRAM的功能及其实现 ...................................... 9
3.3、基本单片机系统大容量数据存储器系统扩展 ........... 9
五、结论 .................................................................................... 13
六、参考资料 ............................................................................ 13
4
51单片机大容量数据存储器的系统扩展
摘要: 在单片机构成的实际测控系统中,仅靠单片机内部资源是不行的,单片机的最小系统也常常不能满足要求,因此,在单片机应用系统硬件设计中首先要解决系统扩展问题。51单片机有很强的外部扩功能, 传统的用IO口线直接控制大容量数据存储器的片选信号的扩展系统存在运行C51编译的程序时容易死机的缺点。文中介绍了一种改进的基于CPLD的51系列单片机大容量数据存储器的扩展方法,包括硬件组成和软件处理方法。
关键字:W241024A、CPLD、AT89C52、SRAM
一、51单片机大容量数据存储器的系统扩展的基本原理
MCS-51 单片机系统扩展时,一般使用P0 口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16根地址总线,最大寻址空间为64KB。但在实际应用中,有一些特殊场合,例如,基于单片机的图像采集传输系统,程控交换机话单的存储等,需要有大于64KB 的数据存储器。
二、设计方案
在以往的扩展大容量数据存储器的设计中,一般是用单片机的IO口直接控制大容量数据存储器的片选信号来实现,但是这种设计在运行以C51编写的程序(以LARGE 方式编译)时往往会出现系统程序跑飞的问题,尤其是在程序访问大容量数据存储器(如FLASH)的同时系统产生异常(如中断),由于此时由IO 口控制的片选使FLASH 被选中而SRAM 无法被选中,堆栈处理和函数参数的传递无法实现从而导致程序跑飞的现象。文章介绍一种基于CPLD 的大容量数据存储器的扩展系统,避免了上述问题的产生,提高了扩展大容量数据存储器系统的可靠性。该系统MCU 采用89C52,译码逻辑的实现使用了一片EPM7128
CPLD 芯片,系统扩展了一片128K 的SRAM,一片4M 字节的NOR FLASH,以上芯片均为5V 供电。
5 第三节 硬件设计
3.1 系统的硬件构成及功能
W241024A 是128K × 8 位的静态RAM,共需17 根地址线,其A0~A7
接经CPLD 锁存输出的A0~A7,A8~A14 接89C52 的A 8 ~ A 1 4 ,A 1 5 、A
1 6 分别接C P L D 输出的S R A M _ A 1 5 、SRAM_A16;M29F032D 是4M
× 8 位的NOR 型FLASH,共需22 根地址线。A0~A14 的接法与W241024A
的相同,A15~A21接经CPLD 锁存输出AL15~AL21;所有数据存储器的读写控制线与M C U 相应的读写控制线相连。S R A M 和F L A S H 的片选信号由C
P L D 内部译码产生:/ C S _ S R A M 接S R A M 的片选,/ C S _ F L A S H 接F L A S H 的片选。
3.2硬件的系统组成
3.2.1、W241024A
W 2 4 1 0 2 4 A 是 1 2 8 K x 8 位的 静态R A M, 共 需 1 7 根地 址线,
其 A O - A 7 接经 C P L D 锁存 输出 的 A O - A 7 , A 8 - A 1 4 接 8 9
C 5 2 的A 8 - A 1 4 , A 1 5 , A 1 6 分别 接 C P L D输出的 S R A M- A 1 5 ,
SRAM-A16; M 2 9 F O 3 2 D 是 4 M x 8 位的 N O R型 F L A S H , 共
需 2 2 根 地 址线。A O - A 1 4 的 接法与W 2 4 1 0 2 4 A 的相同,A 1 5 - A 2
1
接 经 C P L D 锁 存 输出 的A L 1 5 - A L 2 1 ; 所 有 数 据 存 储 器 的 读写 控制线与 M C U相应的 读写 控制线相连。 S R A M 和 F L A S H的片
选 信 号由 C P L D内 部 译 码产 生: / C S - S R A M 接 S R A M 的 片
选, / C S - F L A S H接 F L A S H的 片 选。
3.2.2、CPLD的功能实现
CPLD就是复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)。CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。CPLD主要是由可编程逻辑宏单元 (MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。
使用CPLD 器件可以提高系统设计的灵活性,并且可以简化电路设计,节省很多常规电路中的接口器件和I/O 口线。系统将单片机的地址线、各种控制和 6 状态信号均引入CPLD,实现系统的地址译码和部分I/O 控制。系统中C P L D
采用的是MAX7000 系列的EPM7128STC100 - 10。AL15~AL22 为系统锁存出来的高8 位地址,该地址锁存器的地址为:0x7F00;状态缓冲器地址为:0x7F20,通过状态缓冲器可以读取FLASH 的当前状态,判断FLASH 当前状态是忙还是空闲,如果应用系统中还有其它状态信号可以接至该状态缓冲器的输入端。/CS2~/CS7 可以用作其他器件的片选。
3.2.3、AT89C52简介
89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器和256byte的随机数据存储器,器件采用ATMEL公司高密度\非易失性存储技术生产,与标准的51指令系统以8052产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大89C52单片机适合于许多较为复杂控制应用场合.
主要性能参数:
.与MCS-51产品指令和引脚完全兼容
.8K字节可重擦写FLASH闪速存储器
.1000次擦写周期
.全静态操作:0Hz-24 Hz
.三级加密程序存储器
.256*8字节内部RAM .32个可编程I/O口线
.3个16位定时/计数器
.8个中断源
.可编程串行UART通道
.低功耗空闲和掉电模式
功能特性概述:
AT89C52提供以下标准功能:8K字节FLASH闪存存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路.同时,AT89C52可降至0 Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
引脚功能说明
.vcc:电源电压
.GND:地
.P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式8个TTL逻辑门电路,对端口P0写“1”时,可作为 高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据复用,在访问期间激活内部上拉电阻。
在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
.P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流。
单片机内部RAM的扩展
STC单片机内部扩展RAM的应用
作者:郭天祥 来源:原创 更新时间:2008-11-27 21:19:35 浏览次数:5803
RAM是用来在程序运行中存放随机变量的数据空间,51单片机默认的内部RAM只有128字节,52单片机增加至256字节,STC89C52增加到512字节,STC89C54、55、58、516等增加到1280字节,对于编程者来说,一个芯片的RAM越多,写起程序来就越容易得心应手,不会总考虑RAM不够用而担心这担心那,连过多的变量都不敢定义。
在前面我们写程序时曾讲到过,如果定义一个变量后,不对这个变量进行初始化,这个变量默认的初值就是0,其实这个结论是需要一定的条件的,在用KEIL编写程序时,总程序中所有变量占用的字节之和小于128字节,并且存储器模式为small模式的前提下,对定义的变量不进行初始化时,编译器会默认将变量值设定为0。一旦程序中的总变量超过128字节,必须对所有变量进行初始化,否则,没有被初始化的变量默认值将是不确定的。当变量总和超过128字节时,必须还要在编译器中重新设定存储器的存储模式,存储器模式一共有3种,分别为small、compact和large模式,在KEIL编译器中有选项可进行选择,选项表如图4.4.1所示。它决定了没有明确指定存储类型的变量、函数参数等数据的默认存储区域。如果在某些函数中需要使用非默认的存储模式,也可以使用关健字直接说明。下面对这三种模式分别做介绍。
1. small模式
small模式中,所有缺省变量参数均装入单片机内部128字节RAM中,当定义类似如:uchar a; float
b;等变量时,这些变量都装入内部128字节RAM中。使用该模式的优点是访问速度快,缺点是空间有限,而且是对堆栈的空间分配比较少,难以把握,碰到需要递归调用的时候需要小心。所以这种模式只适用于小程序。
2. compact模式
一种新颖的基于MCS-51的大容量数据存储器的扩展及仿真
第27卷第5期(2011) 河西学院学报 Vo1.27No.5(2011)
一种新颖的基于MCS一5 1的大容量
数据存储器的扩展及仿真
朱志斌
(Tq西学院物理与机电工程学院,甘肃张掖734000)
摘要:本文主要介绍了一种新颖的MCS一51单片机大容量数据存储器(超过64K)的扩展方 法,并在Proteus7.7下仿真通过,验证了该方法的可行性.该方法新颖之处有两点:一是不占用任 何一个I/O端口;二是扩展用器件常见、简单. 关键词:MCS一51;大容量数据存储器;Proteus 中图分类号:TP333 文献标识码-A 文章编号:1672—0520(2011)05—0000—06
0 引言
一般在MCS一51系列单片机中,对数据存储器的扩展是通过Po口、P2口及P3口的部分线来
进行扩展的,其中决定数据存储器有多大容量是看地址线的扩展.由于MCS一51系列单片机地址线 最多有16根,也就是说它本身扩展的最大数据存储器容量为216Byte即64K.这样的一个数据存储
器容量在一些需要大量数据采集与交换的系统中显然是不够用的,所以必需要扩展大于64K的数
据存储器.以往的大容量数据存储器的扩展都是接助于51单片机的其它I/O口线进行扩展,最常用
的方法就是利用Pl口线做片选进行扩展,这种扩展方法导致在单片机上找不到一个完整的8位I/
O口,这使得其它需要8位I/O口电路的扩展出现了困难.其次在存储芯片选择上以往的方法是用 CPLD进行扩展,这种方法缺点是要进行CPLD的额外编程,这样就加大了设计者软件的设计量. 因此,本文提出了一种新颖的大容量数据存储器的扩展方法可以解决以上问题,且在Proteus7.7环
境中仿真通过验证了本方法的可行性.
1 扩展方法 在大容量数据存储器扩展中最关键的问题是如何进行存储芯片的片选,下面以4片62256为
例,在单片机上扩展一个128K的数据存储系统.一片62256其容量是32K即访问该芯片需要l5根 地址线,地址范围00o0H~07FFFH,而51单片机一共16根地址线,剩最后一根地址线A15对4
MCS-51单片机大容量数据存储器扩展板设计
《工业控制计算机》2013年第26卷第1期
MCS一5 1单片机大容量数据存储器扩展板设计
Design of Large—capacity Data Memory Expansion Board Based on MCS-51 MCU
何 威 周 克 张 超 (贵州大学电气工程学院,贵,J,It贵阳550025)
摘 要
设计了基于MCS一51单片机的大容量(超64KB)数据存储器的扩展方案,采用具有19根地址线的大容量Flash芯片
F29C51004作为扩展存储体。将数据线和地址线合并使用,对F29C51004进行分页访问,解决了单片机存储单元及端口
不足的问题,释放了I/0口。文中以扩展8MB的数据存储器为例,给出了单片机扩展板的硬件电路和软件程序。
关键词:MCS一51,数据存储器,F29C51004,扩展板
Abstract
The expansion project of lar~capacity data memory(over 64KB)based on MCS一51 SCM is designed,lar-capacity
FLASH chip F29C51 004 which owns 1 9 add ress lines is utilized as expansion block Make a combination of data line and
address line and access F29C51 004 in pages,this behavior will release every I/O port and solve the problem that the stor—
age unit and port of SCM is usually inadequate In this paper,8MB data memory expansion project is proposed as an ex—
MCS-51单片机存储器的综合扩展及软件设计
第20卷第1期 20o7年1月 机电产品开簋与剀新 Development&Innovation of machinery&electrical products Vo1.20.No.1 Jan.,2007
MCS一51单片机存储器的综合扩展及软件设计 王联奎 (菏泽学院机电工程系,山东菏泽274030) 摘要:MCS一51型单片机具有很强的系统扩展能力,可以扩展64KB的程序存储器和64KB的数据存储器 或输入/输出接口,以满足不同应用系统的要求。本文以智能温室测控系统为例,介绍了MCS一51 型单片机存储器的扩展及软件设计。 关键词:单片机;存储器;综合扩展;软件设计 中圈分类号:TP32 文献标识码:A 文章编号:1002—6673(2007)01—158—02
0引言 MCS一51型单片机是一高性能的单片机系列,具有 很强的系统扩展能力,可以扩展64KB的程序存储器和 64KB的数据存储器或输入/输出接口,以满足不同应用 系统的要求。程序存储器和外部数据存储器的地址空间 是重叠的,实际访问时用相应的控制信号PSEN和RD 与WR加以区分。 1 设计实例 以智能温室测控系统为例,需要保存的参量如表1所示。 表1需要保存的参量 Tab.1 Theparameters that need to be saved 鑫数 事例 类型 字节数 温室内空气温度 30.500℃ 数值型 3字节(高位在前) 温室内空气温度 85.5%RH 数值型 2字节(高位在前) 温室内土壤水分古量 49.5%RH 数值型 2字节(高位在前) 温室内土壤温度 一l0.50 数值型 3字节(高位在前) 温室内CO2浓度 lO00ppm 数值型 2字节(高位在前) 温室内关照强度 3伽lo】 数值型 2字节(高位在前) 温室外空气温度 一l1.50℃ 数值型 3字节(高位在前) 温室外光照强度 3O00Lx 数值型 2字节(高位在前) 各执行机构 二进制 1字节 本组数据测试时间月份 l2月 日期型 1字节 本组数据测试时间日期 30日 日期型 1字节 本组数据测试时间小时 2l点 日期型 1字节 顶留空间 6字节 合计 30字节 2程序存储器的扩展 MCS-51单片机最大可寻址64K的程序存储器,程 收稿日期:2006—10—25 作者简介:王联奎(1962-),男,山东曾县人,副教授。主 要从事机电一体化方向研究。 158 序存储器芯片插座采用28脚统一插座,通过拨码开关 SW1的不同设置状态可选择插入27C512、27C256和 27C128,如图1所示。 拨码开关:5、6、7、8代表“ON”状态;1、3= ON;2、4=OFF;设置为27C512。1、4=ON;2、3= OFF;设置为27C256;2、4=ON;1、3=OFF;设置为 27C128。
一种改进的51单片机大容量数据存储器的系统扩展
工业技 ! : SOil NOl&¨Ol】NOf OOY INf o}{MA l_0N 一种改进的5 1单片机大容量数据存储器 的系统扩展 魏秋菊’张华 (1. .-L-IL地质职工大学石家庄050081 2.河北地质职工大学石家庄050081) 摘要 在51单片机应用系统中,有一些特殊的应用场合需要使用大容量的数据存储器。传统的用IO口线直接控制大容量数据 存储器的片选信号的扩展系统存在运行C51编译的程序时容易死机的缺点。文中根据作者实际使用的应用系统,介绍了一种改进的 基干CP[ D的5l系列单片机火容量数据存储器的扩展疗法,包括硬件组成和软件处理方法。实践证明基于这种设计的大容量数据存 储器的扩腥系统具有对仔储据操作简便,系统运行稳定的特点。 关键词:单片机 CPLD 大容量数据存储器 中图分类号:TP31 文献表示码:A 1.引言 MCS 5 1单片机系统扩腱时,一般使用P0口作为地址低8 位(与数据口分时复用),而P2口作为地址高8位,它共有l6根 地址总线,最人寻址空间为64KB。但在实际应用中,有一些特 殊场合,例如,基于单片机的图像采集传输系统,程控交换机话 单的存储等,需要有火千64KB的数据存储器。在以往的扩展人 容量数据存储器的设计中,一般是用单片机的IO口直接控制大 容量数据存储器的片选信号来实现,但是这种设计在运行以C5 l 编写的程序(以LARGE方式编译)时往往会出现系统程序跑飞 的问题,尤其是在程序访问大容量数据存储器(如FI ASII)的 时系统产生异常(如中断),由r此时由10 u控制的片选使 FLASH被选中 SRAM无法被选中,堆栈处理和闯数参数的传 递无法实现从而导致程序跑飞的现象。文章根据作者实际使用的 应用系统,介绍一种基于CPI D的大容量数据存储器的扩展系 统,避免r上述问题的产生,提高r扩腱大容量数据存储器系统 的叮靠性。该系统MCU采用89C52,译码逻辑的实现使用了一 片EPM7128 CPI D芯片,系统扩展了一片128K的SRAM,一 片4M字节的NOR FI ASIt,以上芯片均为5V供电 下面介绍 其硬什组成及软件处理方法。 2.系统的硬件组成 2.1系统的硬件组成 W241024A是l28K×8位的静态RAM,共需l7根地址线, 其A0 A7接经CPI D锁存输出的A0 A7,A8一A14接89C52的 A 8 A1 4,Al 5、Al 6分别接CPLD输出的SRAM A1 5、 SRAM~Al6;M29F032D是4M X 8位的NOR型FLASH,共 需22根地址线。A0-A14的接法 W241024A的相同,A15 A2l 接经CPLD锁存输出的ALl5-AL2l;所有数据存储器的读写控 制线与MCU相应的读写控制线相连。SRAM和FLASH的片 选信号由CPI D内部译码产生:/CS SRAM接SRAM的片 选,/CS—FI ASH接FLASH的片选。 2.2 CPLD的功能实现 使用CPLD器件可以提高系统.L殳计的灵活性,并且可以简 化电路设计,节省很多常规电路中的接口器件和I/O L==1线。系 统将单片机的地址线、各种控制和状态信 均引入CPI D,实 现系统的地址译码和部分I/0控制。系统中CPLD采用的是 MAX7000系列的EPM7l28STC100—10。 ALl5-AL22为系统锁存出来的高8位地址,该地址锁存器 的地址为:0x7F00;状态缓冲器地址为:0X 7F20,通过状 态缓冲器可以读取FLASH的当前状态,划断FLASH当前状态 是忙还是空闲,如果应用系统中还有其它状态信号可以接至该 状态缓冲器的输入端。/CS2-/CS7可以用作其他器件的片选。 l28K的SRAM被SRAM.A1 5和SRAM—Al6分成4个 BANK,每个BANK均为32K,其中BANK0地址范围是: OxO000~0x7EFF,当Al5为0时BANK0被选中,BANK0可 用来存储用户定义的各种,叟量,以LARGE方式编译的C51用 户函数的参数传递也在该区实现,只要设置C5 l编译器的片外 SRAM的大小为0x7F00字节(32K一256字节),起止地址为: 0x0000。这样当系统在访问外郜大容量数据存储器(如4M的 FLAS}{)并且系统产生中断时,由于系统在函数调用时自动 使Al5为0,故此时BANK0是可用的,这样保证了系统在这 种情况下能稳定的运行。 由于访问B A N K l B A N K 3时A l 5必须为l,故 BANK i BANK3的地址范围均为:0x8000~0xFEFF,通过 SRAM—A15和SRAM—Al6来区分它们是属干哪个BANK的, 访问BANKl BANK3的前提是AL22为0。BANKl BANK3町 用来存储用户数据。当AI 22和Al5均为l时4M的FLASIt被 选中,FLASH}皮AI l5’AL21分成了l28页,每页为32K。下 面介绍访问大容量数据俘储器的软件实现。 3 软件处理方法 如用KEII 编译C5 l程序时,首先设置项日的编译模式为 LARGE模式,并设置片外XRAM的相关参数为:START: 0x0000,SIZE:0x7F00。访IhJ BANK0时无需编写子程序, 系统可以直接访问。ij了问SRAM的BANKrBANK3步骤为: ①锁存高8位地址使AL22为0,设置BANK值(要访问sRAM 的绝对物理地址除十32K,商为BANK值,余数为BANK内 的偏移地址) ②在0x8000~0xFEFF地址范围内操作SRAM (Al5—1)。Write—Sram—Bankl23函数的功能为写一个字节数 据至片外sRAM的BANK l~BANK3,Read Sram—Bank123函 数的功能是从sRAM的BANKl BANK3读一个字节数据。相 关C5 l示例代码如 void Write SramBank123(unsigned long address, unsigned char va1) unsigned char bank‘unsigned int addr_bank; bank=address/0x8000l//商为BANK值。 if((bank>=1)&&(bank< 3)) 1 addr—bank—address%0x8000‘//余数 为BANK内地址。 XBYTE【0x7f00】一bank; //AL22=0, 设置BANK值。 XBYTE[0x8000+addr bank】=val‘//写 科技资讯SOlENOE&TKOHNOI OGY INFORMA I ION 1
单片机课件3
第7章 MCS-51系列单片机系统总线扩展方法
单片机总线分内部总线和外部总线。
外部总线包括:数据总线DB(Data Bus), 地址总线 AB(Address Bus)和控制总线 CB(Control Bus)
数据总线:P0兼作数据和地址总线的低8位A0~A7;
地址总线:P0口兼作地址总线的低8位A0~A7,P2口为地址总线的高8位A8~A15;
控制总线: PSEN :外部程序存储器读选通信号输出端;ALE地址锁存信号输出端;RST:复位信号输入端;EA /VPP为内部或外部程序存储器读选择输入端: RD
(P3.7)为外部数据存储器读选通输出端;(P3.6)WR 为外部数据存储器写选通输出端。
总线设计时还需考虑如下几个问题:
① CPU三总线(地址总线、数据总线、控制总线)的负载能力。
② CPU读写时序与接口芯片,如存储器的存取速度的匹配问题。存储器的读写速度应与CPU要求的读写速度相同或更快
三总线的基本构架
由于51采用地址/数据分时复用技术,低8位地址A7~A0与数据总线D7~D0分时使用P0口引脚,因此需要在P0口上接一个地址锁存器芯片,P0口的直通端为8位数据总线,通过锁存器的为低8位地址A7~A0。
常用的锁存器是74LS373(现在常用74HC373)、74HC573。
8D锁存器74LS373、74HC573是带输出三态门的8D锁存器
1D~8D为8个输入端;
1Q~8Q为8个输出端;
G为数据打入端:当G为“1”时,锁存器输出状态(1Q~8Q)同输入状态(1D~8D);当G由“1”变“0”时, 数据打入锁存器中。并且在G保持“0”时输出保持不变,输入为高阻。
2.总线驱动器74LS244, 74LS245
译码电路的设计原则是:在任意时刻只有一个芯片的数据口开放,其他芯片的数据口均为高阻状态。学习译码技术要达到以下水平:
① 电路的设计者要能指出系统上每个芯片的地址范围。
单片机系统扩展
文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.
1文档来源为:从网络收集整理.word版本可编辑. 第六章 单片机系统扩展
通常情况下,采用MCS-51单片机的最小系统只能用于一些很简单的应用场合,此情况下直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口;使得应用系统的成本降低。但在许多应用场合,仅靠单片机的内部资源不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。
在很多复杂的应用情况下,单片机内的RAM ,ROM 和 I/O接口数量有限,不够使用,这种情况下就需要进行扩展。因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。
6.1 单片机应用系统
按照单片机系统扩展与系统配置状况,单片机应用系统可以分为最小应用系统、最小功耗系统、典型应用系统等。
最小应用系统,是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。对于片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机。对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM或EEPROM作为程序存储器用。最小应用系统的功能取决于单片机芯片的技术水平。
单片机的最小功耗应用系统是指能正常运行而又功耗力求最小的单片机系统。
单片机的典型应用系统是指单片机要完成工业测控功能所必须具备的硬件结构系统。
6.1.1 8051/8751最小应用系统
MCS-51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。对于简单的应用,最小系统即能满足要求。
8051/8751是片内有ROM/EPROM的单片机,因此,用这些芯片构成的最小系统简单、可靠。
图6-1 8051/8751最小应用系统
单片机实验-扩展存储器读写实验
实验一 :扩展存储器读写实验
一.实验要求 编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的
1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线
将P1.0接至L1。CS256连GND孔。
四.实验说明
1.单片机系统中,对片外存贮器的读写操作是最基本的操作。用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序
的方法。
用户编程可以参考示例程序和流程框图。本示例程序中对片外存贮器中一固定地
址单元进行读写操作,并比较读写结果是否一致。不一致则说明读写操作不可靠
或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。读写数据的选用,本例采用的是55(0101,0101)与
AA(1010,1010)。一般采用这两个数据的读写操作就可查出数据总线的短路、
断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执
行的流程和各中间变量的值。 2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读
写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,
在I状态执行SX0000↓ 55,SPACE, 屏幕上应显示55,再键入AA,SPACE,屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序框图 实验示例程序流程框图如下:
六.实验源程序:
ORG 0000H
LJMP START
ORG 0040H START:
MOV SP,#60H
MOV DPTR,#0000H ;置外部RAM读写地址
MOV A,#55H ;测试的数据一 MOV B,A
6264与51单片机扩展
Intel6264芯片
单片机内存扩展6264芯片
2012-5-2
1.Intel6264芯片
Intel 6264的特性及引脚信号 Intel 6264的容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造
A12~A0(address inputs):地址线,可寻址8KB的存储空间。
D7~D0(data bus):数据线,双向,三态。
OE(output enable):读出允许信号,输入,低电平有效。
WE(write enable):写允许信号,输入,低电平有效。
CE1(chip enable):片选信号1,输入,在读/写方式时为低电平。
CE2(chip enable):片选信号2,输入,在读/写方式时为高电平。
VCC:+5V工作电压。
GND:信号地。
Intel 6264的操作方式 Intel 6264的操作方式由, CE1 , CE2的共同作用决定
① 写入:当和CE1为低电平,且和CE2为高电平时,数据输入缓冲器打开,数据由数据线D7~D0写入被选中的存储单元。
② 读出:当和CE1为低电平,且和CE2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线D7~D0上。
③ 保持:当为高电平,CE2为任意时,芯片未被选中,处于保持状态,数据线呈现高阻状
2.
74LS373
74ls373的照片及内部结构(4张) 八 D 锁存器(3S,锁存允许输入有回环特性) 简要说明: 373为三态输出的八 D 透明锁存器,共有 54S373 和 74LS373 两种线路
结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别): 型号 TPD PD
54S373/74S373 7ns 525mW
54LS373/74LS373 17ns 120mW 373 的输出端 O0~O7 可直接与总线相连。 当三态允许控制端 OE 为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0~Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。 引出端符号: D0~D7 数据输入端
51单片机存储器结构介绍
51单片机存储器结构介绍
MCS-51单片机在物理结构上有四个存储空间:
1、片内程序存储器
2、片外程序存储器
3、片内数据存储器
4、片外数据存储器
但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:
1、片内外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片内数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序内存ROM
寻址范围:0000H ~ FFFFH 容量64KB
EA = 1,寻址内部ROM;
EA = 0,寻址外部ROM
地址长度:16位
作用: 存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是: 0000H —— 系统复位,PC指向此处;
0003H —— 外部中断0入口
000BH —— T0溢出中断入口
0013H —— 外中断1入口
001BH —— T1溢出中断入口
0023H —— 串口中断入口
002BH —— T2溢出中断入口
内部数据存储器RAM
物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。
作用:作数据缓冲器用。
下图是8051单片机存储器的空间结构图
程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
