数据存储器的扩展课件_第1页
数据存储器的扩展课件_第2页
数据存储器的扩展课件_第3页
数据存储器的扩展课件_第4页
数据存储器的扩展课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目八:数据存储器的扩展项目预备知识知识点链接

项目目标通过控制单个发光二极管的闪烁次数,学习MCS-51单片机数据存储器扩展的方法,学习MOVX、ACALL指令,能够根据要求编写控制程序。项目任务

应用AT89C51芯片,实现单片机系统数据存储器的扩展。要求在片外扩展的数据存储器中存储发光二极管的闪烁次数,通过调用片外的数据,理解片外数据存储器扩展的方法。项目分析

本项目将发光二极管的闪烁次数存储在片外的数据存储器中,通过指令进行数据的调用和存储,理解数据存储器扩展方法及使用。在MCS-51指令系统中,与片外RAM进行数据传送只可以是累加器A,所有对片外RAM进行读写的操作必须通过A来完成。内部RAM单元之间可以进行直接的数据传送,但是外部RAM不行。若RAM单元间要进行数据传送,必须利用本组指令通过编写程序实现。要对外部RAM进行读写,就必须知道单元地址。对外部RAM的寻址只能用间接寻址方式,可使用DPTR或者Ri作间址寄存器。DPTR是16位数据指针,用@DPTR可对片外RAM整个64KB地址寻址;@Ri是8位寄存器,只能对片外256个单元寻址。读写操作时,应先将要读写的片外RAM单元地址送入DPTR或者Ri中,然后使用MOVX指令。

汇编指令指令功能ACALLaddr11根据给出的11位地址计算目的地址,并将程序转移到此处执行子程序绝对调用指令中提供了11位目的地址,可调用2K范围内的子程序。执行指令时,PC当前值即下一条指令的地址自动进栈,指令中11位目的地址装入PC的低11位,高5位不变。

2、绝对调用指令(ACALL)一、数据存储器扩展MSC-51内部有128B的RAM(52系列有256B),在某些应用场合片内RAM不够用,需要进行数据存储器扩展,扩展容量可达64KB。MSC-51使用专门的指令与外部数据存储器联系,它们分别是:读操作:MOVX A,@Ri;i=0,1写操作:MOVX @Ri,A ;i=0,1

以上两条指令可寻址片外256B数据存储器单元。读操作:MOVX A,@DPTR写操作:MOVX @DPTR,A 以上两条指令可寻址片外64KB数据存储器单元。知识点链接:存储器扩展技术

6116的存储容量是2KB×8,是静态随机存储器芯片,额定功耗为160mW,24线双列直插式封装。下面详细介绍6264的使用方法。6264的引脚功能:①A0~A12:13根地址线②CE1:片选1③OE:读允许线④VCC:+5V工作电源⑤D0~D7: 8根双向数据线⑥CE2:片选2⑦GND:接地线⑧WE:写允许线2.常用的扩展方法

下图是6264扩展的原理图,可以看出,CE2接高电平,89C51的RD与6264的OE相接,WR与WE相接,P2.5与CE1相接,6264的A0~A12与系统地址总线A0~A12相接,D0~D7与89C51的P0口相接。这样,89C51扩展了8KB的外部数据存储器,地址为0000H~1FFFH。二、同时扩展程序存储器和数据存储器

下图给出了一个系统同时扩展程序存储器和数据存储器的例子。

27512为64KBEPROM,62256为32KBRAM。这样,系统共扩展了64K程序存储器、64K数据存储器。其地址为:

U1:27512程序存储器,地址为:0000H~FFFFH

U2:62256数据存储器,地址为:0000H~7FFFH

U3:62256数据存储器,地址为:8000H~FFFFH(一)设计思路本设计使用AT89C51芯片的P0口和P2口进行数据存储器的扩展。P0口分时复用作数据/地址线,P2口用作地址线。选择使用74HC373锁存器与P0进行连接。扩展用的数据存储器选用6116芯片,内存为2KB。为了区分数据存储的位置,在6116芯片中存储发光二极管的闪烁次数。一、硬件电路设计1、数据存储器扩展电路本电路先将P0口与74HC373锁存器的输入引脚(D0~D7)进行连接,同时与6116的数据引脚D0~D7连接,然后将74HC373的输出(Q0~Q7)与6116数据存储器的地址线的低8位(A0~A7)连接。由于6116数据存储器有2KB的存储空间,编址范围是0000H~07FFH,高8位仅A8~A10有效,因此P2口的P2.0~P2.2与6116的A8~A10连接即可。

(二)电路设计2、控制电路

(1)EA/VPP引脚:本设计选用AT89C51单片机芯片,程序存放在片内程序存储器中,因此EA/VPP接高电平。(2)ALE引脚:本设计使用此引脚的“地址锁存允许信号”功能,因此将ALE引脚与74HC373锁存器的允许端G连接。(3)RD(17号)及WR(16号)引脚:本设计使用这两个引脚对外部数据存储器进行读写选通控制,因此将RD引脚与HM6116数据存储器的数据输入选通引脚OE连接,将WR引脚与HM6116的WR连接。(三)材料表

从原理图可以得到实现本项目所需的元器件。序号元件名称元件型号元件数量备注1单片机芯片AT89C511片DIP封装2锁存器74HC373N1片DIP封装3数据存储器芯片HM61161片DIP封装4发光二极管Φ51只普通型5晶振12MHz1只6电容30pF2只瓷片电容22uF1只电解电容7电阻200Ω8只碳膜电阻,可用排阻代替10kΩ1只碳膜电阻8按键1只无自锁1只带自锁9双向开关1只1040脚IC座1片安装AT89C51芯片1120脚IC座1片安装锁存器芯片1224脚IC座1片安装数据存储器芯片13导线二、控制程序的编写

(一)绘制程序流程图

本项目是为了学习数据存储器的扩展方法,因此程序设计较简单,主要突出片外RAM的使用方法。程序结构如图所示。(二)编制汇编源程序

1、参考程序清单标号操作码操作数指令意义(注释)ORG0000H;伪指令,指明程序从0000H单元开始存放LJMPMAIN8;控制程序跳转到“MAIN8”处执行ORG0800HMAIN8:MOVR0,#50H;片内RAM存储数据的首单元MOVR1,#6;存储6个数据MOVDPTR,#0100H;片外RAM存储数据的首单元MM:MOVA,@R0;取片内第一个数据送AMOVX@DPTR,A;第一个数送片外0100H单元INCR0;指向下个取数单元INCDPTR;指向下个存储数据的单元DJNZR1,MM;是否将6个数据送完CLRAMOVDPTR,#0100H;确定片外RAM中存储数据的单元地址2、程序执行过程:XS:CLRP1.1 ACALLDELAY CPLP1.1 ACALLDELAY DJNZR7,XS SJMP$ ORG0F00HDELAY: MOV R7,#10D0: MOV R6,#100D1: MOV R5,#200D2: DJNZ R5,D2 DJNZ R6,D1 DJNZ R7,D0 RET END ORG0000HLJMP MAIN8ORG 0800HMAIN8:MOVR0,#50H MOV R1,#6 MOVDPTR,#0100HMM:MOV A,@R0 MOVX@DPTR,A INC R0 INC DPTR DJNZR1,MM CLRA MOVDPTR,#0100HMOVXA,@DPTRMOVR7,A将编译生成的main8.hex文件通过编程器写入AT89C51芯片,将芯片安装到焊接好的电路中,通电后运行程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论