一、实验目的 1. 能够选择存储器芯片进行硬件设计。 2. 能够编制自检程序进行测试验证。 3. 培养系统设计的全局思维。 | |
二、实验内容 按照规则字写存储器,编写实验程序,将0000H~000FH共16个数写入SRAM的从0000H起始的一段空间中,然后通过系统命令查看该存储空间,检测写入数据是否正确。 本系统采用准32位CPU,具有16位外部数据总线,即DO、D1、…、D15,地址总线为BHE#(#表示该信号低电平有效)、BLE#、A1、A2、…、A20。存储器分为奇体和假体,分别由字节允许线BHE#和BLE#选通。 存储器中,从偶地址开始存放的字称为规则字,从奇地址开始存放的字称为非规则字。处理器访问规则字只需要一个时钟周期,BHE#和BLE#同时有效,从而同时选通存储器奇体和偶体。处理器访问非规则字却需要两个时钟周期,第一个时钟周期BHE#有效,访问奇字节;第二个时钟周期BLE#有效,访问偶字节。处理器访问字节只需要一个时钟周期,视其存放单元为奇或偶,而BHE#或BLE#有效,从而选通奇体或偶体。写规则字和非规则字的简单时序图如图 1所示。 图 1 写规则字(左)和非规则字(右)简单时序图 实验单元电路图如图2所示。 图 2 SRAM单元电路图 | |
三、实验步骤 1. 实验接线图如图所示,按图接线。 2. 编写实验程序,经编译、链接无误后装入系统。 3. 先运行程序,待程序运行停止。 4. 通过D命令查看写入存储器中的数据: D8000:0000 回车,即可看到存储器中的数据,应为0000、0001、0002、…、000F共16个字。 | |
四、实验程序 1、内容程序: SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT START: PROC FAR ASSUME CS:CODE,SS:SSTACK MOV AX,8000H MOV DS,AX AA0: MOV SI,0000H MOV CX,0010H MOV AX,0000H AA1: MOV [SI],AX INC AX INC SI INC SI LOOP AA1 MOV AX,4C00H INT 21H START ENDP CODE ENDS END START 2、思考题1程序: SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT START: PROC FAR ASSUME CS:CODE,SS:SSTACK MOV AX,9000H MOV DS,AX AA0: MOV SI,0001H MOV CX,0010H MOV AX,0000H AA1: MOV [SI],AX INC AX INC SI INC SI LOOP AA1 MOV AX,4C00H INT 21H START ENDP CODE ENDS END START 3、思考题2程序: SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT START: PROC FAR ASSUME CS:CODE,SS:SSTACK MOV AX,8000H MOV DS,AX AA0: MOV SI,0000H MOV CX,16*1024 MOV AL,55H AA1: MOV [SI],AL MOV BL,[SI] CMP BL,AL JNE ERROR INC SI LOOP AA1 MOV SI,4000H MOV CX,16*1024 MOV AL,0AAH AA2: MOV [SI],AL MOV BL,[SI] CMP BL,AL JNE ERROR INC SI LOOP AA2 JMP AA3 ERROR: MOV DX,2000H AA3: MOV AX,4C00H INT 21H START ENDP CODE ENDS END START 五、实验结果 如下图3所示,查看写入存储器中的数据,可以看到存储器中的数据,为0000、0001、0002、…、000F共16个字。可见各个数被存放址单元中。 图 3 按规则字写存储器
七、实验心得 通过本次静态存储器扩展设计实验,我认识了SRAM单元电路图,然后也对存储器硬件结构有了更深入的了解,包括地址线、数据线、控制线的作用及连接方式,不仅深化了对微机原理和SRAM工作原理的理解,还锻炼了硬件电路设计和调试的能力。静态存储器扩展设计不仅是一个电子设计的实际案例,更是一个系统性工程的实践,涉及到硬件设计、软件编写和综合调试的多个环节。通过面对和解决实验过程中出现的问题,积累了不少宝贵的经验。 |