10-11(2)微机课10(存储扩展2-2)_第1页
10-11(2)微机课10(存储扩展2-2)_第2页
10-11(2)微机课10(存储扩展2-2)_第3页
10-11(2)微机课10(存储扩展2-2)_第4页
10-11(2)微机课10(存储扩展2-2)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、18.8.4 4 静态数据存储器的扩展静态数据存储器的扩展 在单片机应用系统中,外扩的数据存储器都采用静态数在单片机应用系统中,外扩的数据存储器都采用静态数据存储器(据存储器(SRAMSRAM),所以),所以只讨论只讨论SRAMSRAM与与89C5189C51的接口的接口。8.8.4.1 4.1 常用的静态常用的静态RAMRAM(SRAMSRAM)芯片芯片 典型型号有典型型号有: :61166116、62646264、6212862128、6225662256。+5+5V V电源供电,电源供电,双列直插封装,双列直插封装,61166116为为2424引脚封装,引脚封装,62646264、621

2、2862128、6225662256为为2828引脚封装,引脚如引脚封装,引脚如图图8-158-15。各引脚功能各引脚功能: : A0 A0A14A14:地址输入线。地址输入线。 D0 D0D7D7:双向三态数据线。双向三态数据线。 CE CE* *:片选信号输入。对于片选信号输入。对于62646264芯片,当芯片,当2626脚脚( (CS)CS)为高电平为高电平时时, ,且且CECE* *为低电平时才选中该片。为低电平时才选中该片。 OE OE* *:读选通信号输入线。:读选通信号输入线。 WE WE* *:写允许信号输入线,低电平有效。写允许信号输入线,低电平有效。 Vcc Vcc:工作电

3、源工作电源+5+5V V GND GND:地地P.130P.1302图图8-158-15常用常用SRAMSRAM芯片引脚图芯片引脚图P.131P.1312 KB2 KB16 KB16 KB32 KB32 KB8 KB8 KB38.8.4.3 AT89C514.3 AT89C51与与RAMRAM的接口电路设计的接口电路设计 图图8-8-1818为为线选法线选法扩展外部数据存储器的电路扩展外部数据存储器的电路。 图图8-18 8-18 线选法扩展外部数据存储器的电路线选法扩展外部数据存储器的电路P.133P.1330000H1FFFH4000H5FFFH8000H9FFFHC000HDFFFH00

4、00H1FFFH2000H3FFFH8000H9FFFHA000HBFFFH0000H1FFFH2000H3FFFH4000H5FFFH6000H7FFFH地址冲突区地址冲突区非冲突区非冲突区( (可用可用) )每片均有每片均有4 4个地址个地址重复区重复区【线选译码线选译码】8KB8KB8KB8KB8K8KB B( (一个逻辑地址对一个逻辑地址对应多个物理单元应多个物理单元) )4译码选通法扩展译码选通法扩展,如如图图8-19所示。所示。图图8-198-19P.134P.134C000HFFFFH 8000HBFFFH4000H7FFFH0000H3FFFHA15A15A14A14【全译码全

5、译码】0000H3FFFH 4000H7FFFH 8000HBFFFH C000HFFFFH16KB16KB16KB16KB16KB16KB16KB16KB58.8.5 EPROM5 EPROM和和RAMRAM的综合扩展的综合扩展8.8.5.1 5.1 综合扩展的硬件接口电路综合扩展的硬件接口电路【例例8-28-2】 采用采用线选法线选法扩展扩展2 2片片8 8KBKB的的RAMRAM和和2 2片片8 8KBKB的的EPROMEPROM。RAMRAM选选62646264,EPROMEPROM选选27642764。扩展接口电路见。扩展接口电路见图图8-208-20。 8KB8KB程存程存8KB8

6、KB程存程存8KB8KB数存数存8KB8KB数存数存0000H1FFFH4000H5FFFH8000H9FFFHC000HFFFFH图图8-208-200000H1FFFH2000H3FFFH8000H9FFFHA000HBFFFH0000H1FFFH4000H5FFFH8000H9FFFHC000HFFFFH0000H1FFFH2000H3FFFH8000H9FFFHA000HBFFFHP.135P.135【线选译码线选译码】A15A15A14A14A13A13P2.7A15=0A15=0时时A15=1A15=1时时程存与数存程存与数存的地址区域的地址区域可重叠,因可重叠,因为他们属于为他们

7、属于不同的空间。不同的空间。ORG 0000HORG 0000HLJMP 2030HLJMP 2030HEA非冲突区非冲突区若:若:在片程存在片程存4KB0000H0FFFH6【例例8-38-3】 采用采用译码器法译码器法扩展扩展2 2片片8 8KB EPROMKB EPROM,2 2片片8 8KB RAMKB RAM。EPROMEPROM选用选用27642764,RAMRAM选用选用62646264。共扩展。共扩展4 4片芯片。片芯片。图图8-218-21A15=0A15=0A14A14A13A136000H7FFFH 4000H5FFFH2000H3FFFH0000H1FFFH8KB8KB

8、程存程存8KB8KB程存程存8KB8KB数存数存8KB8KB数存数存P.136P.136【全译码全译码】78.8.5.2 5.2 外扩存储器电路的工作原理及软件设计外扩存储器电路的工作原理及软件设计2. 2. 单片机片外数据区读单片机片外数据区读/ /写数据过程写数据过程 例如:例如:把片外把片外6000H6000H单元的数送到片内单元的数送到片内RAM 50HRAM 50H单元,程序如下:单元,程序如下:MOV DPTRMOV DPTR,#6000H#6000HMOVX AMOVX A,DPTRDPTRMOV 50HMOV 50H,A A 例如:例如:把片内把片内5050H H单元的数据送到

9、片外单元的数据送到片外4000H4000H单元中,程序如下:单元中,程序如下: MOV A,50HMOV A,50HMOV DPTR,#4000HMOV DPTR,#4000HMOVX DPTR,AMOVX DPTR,AP.137P.1378【例例8-18-1】 编写程序将片外数据存储器中编写程序将片外数据存储器中50005000H H50FFH50FFH单元全部单元全部清零清零方法方法1 1:用用DPTRDPTR作数据地址指针,同时作数据地址指针,同时使用字节计数器使用字节计数器。( (计数控制循环计数控制循环) ) MOV DPTRMOV DPTR,# #5000H5000H;设置数据块指

10、针的初值设置数据块指针的初值 MOV R7 MOV R7,# #00H00H ;设置块长度计数器初值设置块长度计数器初值 CLR ACLR A ;A A置写数据置写数据00H00H LOOPLOOP: MOVX DPTR MOVX DPTR,A A ;把;把当前当前单元清零单元清零 INC DPTR INC DPTR ;地址指针加地址指针加1 1 DJNZ R7DJNZ R7,LOOP LOOP ;减减1 1,若不为,若不为0 0则继续清零则继续清零HEREHERE: SJMP HERE SJMP HERE ;执行完毕,原地踏步执行完毕,原地踏步P.134P.134如果改为对如果改为对4FA0

11、H4FA0H508AH508AH单元写数据单元写数据D6HD6H ,如上更改。,如上更改。4FA0H4FA0HEBHEBHMOV A,#0D6HMOV A,#0D6H9例例8-18-1 编写程序将片外数据存储器中编写程序将片外数据存储器中50005000H H50FFH50FFH单元全部清零单元全部清零方法方法2 2:用用DPTRDPTR作为数据区地址指针,但不使用字节计数器,而是作为数据区地址指针,但不使用字节计数器,而是比较特比较特征地址征地址。 ( (条件控制循环条件控制循环) ) MOV DPTRMOV DPTR,# #5000H5000H ;设置数据块指针的初值设置数据块指针的初值C

12、LR ACLR A ;A A置写数据置写数据00H00H LOOPLOOP:MOVX DPTRMOVX DPTR,A A ;把;把当前当前单元清零单元清零INC DPTRINC DPTR ;地址指针加地址指针加1 1MOV R7MOV R7,DPLDPL ;取新地址值低字节;取新地址值低字节CJNE R7CJNE R7,# # 0 0 ,LOOPLOOP ;与与末地址末地址+1+1的的低字节低字节比较比较,未完继续,未完继续HEREHERE:SJMP HERESJMP HEREP.134P.1344FA0H4FA0HMOV A,#0D6HMOV A,#0D6H8BH8BH如果改为对如果改为对4

13、FA0H4FA0H508AH508AH单元写数据单元写数据D6HD6H ,如上更改。,如上更改。10【例例B4-2B4-2】 有一组数据,存放在有一组数据,存放在3030H H为首地址的内存单元,数据长度为为首地址的内存单元,数据长度为1212个。试将每一个数取出个。试将每一个数取出加加1 1,依序存放到以,依序存放到以50H50H为首地址的单元中。为首地址的单元中。 ORGORG0000H0000H0000 02 0000 02 0000 3030 LJMPLJMPSTARTSTART000300030030 0030 ORGORG0030H0030H00300030 78 78 3030

14、START:MOV START:MOVR0,#30H R0,#30H ;R0R0指向源数据区首地址指向源数据区首地址0032 79 0032 79 5050MOVMOVR1,#50H R1,#50H ;R1R1指向目标数据区首地址指向目标数据区首地址0034 7F 0034 7F 0C0CMOVMOVR7,#12 R7,#12 ;置循环计数初值置循环计数初值121200360036 E6 E6 LOOP:MOV LOOP:MOVA,R0 A,R0 ;取当前源数据取当前源数据0037 040037 04INCINCA A ;加加1 10038 F70038 F7MOVMOVR1,A R1,A ;

15、送目标数据区当前单元送目标数据区当前单元0039 080039 08INCINCR0 R0 ;R0R0指向下一个源数据指向下一个源数据003A 09003A 09INCINCR1 R1 ;R1R1指向下一个目标单元指向下一个目标单元003B DF 003B DF F9F9DJNZDJNZR7,LOOP R7,LOOP ;循环计数减循环计数减1 1,未完继续,未完继续003D003D 80 80 FEFESJMPSJMP$ $ENDEND【数据块传送程序例数据块传送程序例】若题中说明数据个数若题中说明数据个数n n存放在存放在2FH2FH单元中?单元中?若要求的是个数据取出按若要求的是个数据取出按BCDBCD码加码加1 1后传送?后传送?若要求的是数据原样传送?若要求的是数据原样传送?若要求的是依序传送到若要求的是依序传送到58H58H之前的内存单元中?之前的内存单元中?若要求的是与片外数据存储器之间进行数据块传送?若要求的是与片外数据存储器之间进行数据块传送?11作业五作业五 : P.140 4. 6. 7. 8. 11. 13. P.140 4. 6.

温馨提示

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

评论

0/150

提交评论