您的当前位置:首页正文

存储器扩展

2024-01-16 来源:钮旅网


数据存贮器扩展实验

一、 实验目的

1、学习片外存贮器扩展方法。 2、学习数据存贮器不同的读写方法。 二、 实验内容 使用一片62256RAM,作为片外扩展的数据存贮器,对其进行读写。

三、 实验说明 本实验采用的是55H(0101,0101)与AAH(1010,1010),一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实验调试用户电路时非常有效。编写程序对片外扩展的数据存贮器进行读写,若L1灯闪动说明RAM读写正常。 四、 实验接线图

U8A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14109876543252421232261A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14D0D1D2D3D4D5D6D71112131516171819D0D1D2D3D4D5D6D7VCCRf110KCEOEWE62256202227RAM_CSRDWRP2.7CPUP1.0L1 图(12-1) 五、 实验框图

开 始 置测试数据1 写外部RAM 读外部RAM N 两数据相同?Y 置测试数据2 写外部RAM 读外部RAM N 两数据相同否? Y 改变LED状态 亮LED

六、 实验步骤

1、RAM_CS插孔连到译码输出P2.7插孔,P1.0连接到L0。 2、调试运行程序test12中RAM.ASM。对62256进行读写。若L1灯闪动,表示62256RAM读写正常。

ORG 0000H AJMP START

ORG 0030H

START: MOV SP,#60H MOV DPTR,#0000H MOV R6,#0FH MOV A,#55H RAM1: MOV R7,#0FFH RAM2: MOVX @DPTR,A CLR P1.0 INC DPTR

DJNZ R7,RAM2 DJNZ R6,RAM1 MOV DPTR,#0000H MOV R6,#0FH RAM3: MOV R7,#0FFH RAM4: MOVX A,@DPTR CJNE A,#55H,RAM6 SETB P1.0 INC DPTR

DJNZ R7,RAM4 DJNZ R6,RAM3 RAM5: CLR P1.0 CALL DELAY SETB P1.0 CALL DELAY SJMP RAM5 DELAY: MOV R5,#0FFH

DELAY1: MOV R4,#0FFH DJNZ R4,$

DJNZ R5,DELAY1 RET

RAM6: SETB P1.0 SJMP RAM6 END

#include #include void delay(void); sbit P1_0=P1^0;

void main(void) {

unsigned char tmp2; unsigned int tmp1,i1; SP=0x60; i1=0;

for (tmp1=0;tmp1<0x3fff;tmp1++) {

XBYTE[0X0000+i1]=0x55; tmp2=XBYTE[0X0000+i1]; if (tmp2!=0x55){while(1) P1_0=0;} P1_0=!P1_0; delay(); i1++; XBYTE[0x0000+i1]=0xaa; tmp2=XBYTE[0X0000+i1]; if (tmp2!=0xaa){while(1) P1_0=0;} P1_0=!P1_0; i1++; delay(); } }

void delay(void) {

unsigned char ii; unsigned int jj;

for (ii=0;ii<15;ii++)

for (jj=0;jj<0xFF;jj++); }

因篇幅问题不能全部显示,请点此查看更多更全内容