实验1 存储器读写实验-实验报告

合集下载

微机原理存储器读写实验

微机原理存储器读写实验

微机原理存储器读写实验微机原理是指计算机系统的硬件和软件运行原理,包括中央处理器、存储器、输入输出设备等。

存储器是计算机系统中重要的组成部分,用于存储程序、数据和中间结果。

本实验主要介绍存储器的读写操作。

实验目的:1.了解存储器的读写原理;2.掌握存储器读写指令的编写和执行;3.理解存储器的地址映射方式。

实验原理:计算机存储器的基本单位是字节(Byte),每个字节包含8个二进制位。

存储器可以根据访问速度和成本的不同分为不同级别,包括缓存、内部存储器和外部存储器。

存储器可以按照地址访问模式分为随机存储器(RAM)和只读存储器(ROM)。

RAM用于存储程序和数据,可读可写;ROM用于存储固定程序和只读数据,只能读取不能修改。

存储器的读写操作是通过存储器控制器和CPU之间的数据、地址和控制信号交互来实现的。

存储器读操作包括将地址传给存储器控制器、存储器控制器将地址进行解码,找到存储单元并将数据读出。

存储器写操作类似,也需要将地址传给存储器控制器、进行解码定位目标存储单元,并将数据写入存储器。

此外,在写操作中还可能需要一些控制信号,如读/写选择信号、写使能信号等。

实验步骤:1.将计算机主机开机,启动操作系统;2.打开计算机的命令行终端,进入存储器读写实验目录;3.编写C语言程序,实现存储器的读写操作;4.将程序编译生成可执行文件;5.运行程序,观察存储器读写操作的结果;6.分析程序的运行结果,验证存储器读写操作的正确性;7.对比不同存储器读写操作的速度和性能。

实验注意事项:1.实验过程中需遵守实验室安全规定,注意用电安全;2.在进行存储器读写操作时,注意操作的顺序和正确性,防止对存储器数据的意外修改;3.在编写程序过程中要注意代码的规范性和可读性,以便于后续的维护和改进;4.实验结束后,及时关闭计算机主机,保护好存储器的安全。

实验结果分析:通过本实验,我们可以加深对存储器读写原理的理解,了解存储器的读写操作需要地址、数据和控制信号的配合,才能完成对存储器单元的操作。

存储器卡读写实验

存储器卡读写实验

西安邮电大学智能卡技术及应用课内实验报告实验名称:存储器卡读写实验专业名称:智能科学与技术班级:学生姓名:学号:指导教师:实验日期:2016年4月18日实验一存储器卡读写实验一.实验目的1.了解CI2串行总线的工作原理;2.通过实验了解存储器卡存、取数据的过程。

二.实验器材1.KEIL软件;2.PROTEUS仿真软件。

三.实验内容往24C04芯片中写入一个数据(如“129”),然后再从24C04芯片中读出刚才的数据并把它显示在数码管上。

四.实验步骤1.硬件电路仿真使用Proteus软件画出如图1所示的电路图,要求:使用两个按钮来分别模拟读卡和拔卡(清除数据)的过程,用一个发光二极管来模拟卡座上电的过程。

(注:电路图画好后,给存储器24C04导入24C04.bin文件,给51单片机导入hex文件)图 1 硬件电路图2.软件编写图2 程序流程图程序截图:图33.实验结果刚开始运行时,单片机没有读取任何数据,此时数码管显示数字为0;当“读卡”按钮按下时,此时发光二极管亮,数码管显示预先存入24C04芯片的数值;当“清除”按钮按下时,此时此时发光二极管灭,数码管数值清零。

图4图5图6五、实验总结通过本次实验我了解了存储器卡存、取数据的过程,同时了解CI2串行总线的工作原理。

实验在程序编写过程中遇到了问题,还是参考过老师以及网上的程序得到同学的帮助,才大体上完成。

每次实验都有新的收获,以后我会更加努力学习的。

六、实验代码#include <reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define NOP4(){_nop_();_nop_();_nop_();_nop_();} //延时4ussbit SCL = P1^0; //SCL引脚sbit SDA = P1^1; //SDA引脚sbit BUTTON = P1^5; //定义读卡按键sbit LED = P1^6;//定义模拟上电卡座sbit BUTTONQ = P1^7;//定义模拟取卡按键uint shu; //定义写入变量//数码管显示数组uchar code DUAN_XUAN[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x8 2,0xf8,0x80,0x90};//延迟函数void Delay(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}void DelayMS(uint x){uchar t;while(x--){for(t=120;t>0;t--);}}/*IIC启动*/void Start(){SDA=1;SCL=1;NOP4();SDA=0;NOP4();S CL=0;}/*IIC停止*/void Stop(){SDA=0;SCL=0;NOP4();SCL=1;NOP4();S DA=1;}/*读取应答*/void RACK(){SDA=1;NOP4();SCL=1;NOP4();SCL=0; }/*发送非应答信号*/void NO_ACK(){SDA=1;SCL=1;NOP4();SCL=0;SDA=0; }/*向24c04中写一字节*/void Write_A_Byte(uchar b){uchar i;for(i=0;i<8;i++){//循环移入8位b<<=1;SDA=CY;_nop_();SCL=1;NOP4() ;SCL=0;}RACK(); //读取应答}/*向24c04中读一字节*/uchar Receive_A_Byte(){uchar i,d;for(i=0;i<8;i++){SCL=1;d<<=1;d|=SDA;SCL=0;}return d;}/*任意地址写数据*/void Write_Random_Address_Byte(uchar add,uchar dat){Start();Write_A_Byte(0xa0);Write_A_Byte(add);Write_A_Byte(dat);Stop();DelayMS(10);}/*当前地址读数据*/uchar Read_Current_Address_Data(){ uchar d;Start();Write_A_Byte(0xa1);d=Receive_A_Byte();NO_ACK();Stop();return d;} /*任意地址读数据*/uchar Random_Read(uchar addr){ Start();Write_A_Byte(0xa0);Write_A_Byte(addr);Stop();returnRead_Current_Address_Data();}//显示函数void display(uint x){uchar bai,shi,ge;bai=x/100; //取百位shi=x%100/10; //取十位ge=x%10; //取个位P0=0xff; //消影Delay(1);P2=0x01;P0=DUAN_XUAN[ge]; //显示个位Delay(10);P0=0xff;P2=0x02;P0=DUAN_XUAN[shi]; //显示十位Delay(10);P0=0xff;P2=0x04;P0=DUAN_XUAN[bai]; //显示百位Delay(10);}//主函数void main(){uint x;x=0;shu=129; //把要写的值赋给变量BUTTON=1;LED=0;Write_Random_Address_Byte(0x00,sh u); //往00地址写入一个值shu = Random_Read(0x00) ; // 读00地址的值while(1){if(BUTTON==0) {//判断读卡按键Delay(40);if(BUTTON==0) { //消抖LED=1; //灯亮x=shu; //把读出的数赋给显示变量}}if(BUTTONQ==0) {//判断清除按键Delay(40);if(BUTTONQ==0){LED=0; //灯灭x=0;//对显示变量的值清零}}display(x); //显示 }}。

微机原理存储器的读写实验

微机原理存储器的读写实验

微机原理存储器的读写实验一、实验目的1.了解存储器的基本原理和工作过程;2.掌握存储器的读写操作;3.通过实验验证存储器的读写正确性和可靠性。

二、实验器材1.存储器电路板;2.存储器读取电路板;3.逻辑分析仪;4.示波器。

三、实验原理1.存储器的组成存储器由多个存储单元组成,每个存储单元可存储一个数据位。

存储器的组成方式可以是并行结构或串行结构。

2.存储器的工作原理存储器的工作过程包括读取和写入两个部分。

读取操作:当控制信号使得读信息有效(RE=1)时,存储器从指定单元中输出数据到数据输出总线。

写入操作:当控制信号使得写信息有效(WE=1)时,数据从数据输入总线写入到指定单元。

3.存储器读写时序存储器读写时序包括地址输入、读写控制信号的生成和数据输入输出等步骤。

四、实验步骤1.连接实验电路将存储器电路板与逻辑分析仪、示波器等设备连接。

2.设置操作模式将存储器电路板上的读写模式设置为读写模式。

3.编写代码并烧录使用程序设计语言编写读写存储器的代码,并将代码烧录到EPROM或其他可编程存储器中。

4.运行实验程序将存储器电路板上的读写控制信号接入示波器或逻辑分析仪,观察读写时序是否正确。

5.验证读写正确性和可靠性通过读取和写入不同地址的数据,检查读取到的数据是否正确,写入后再读取是否一致。

五、实验结果与分析通过观察示波器或逻辑分析仪的输出结果,可以判断存储器的读写控制信号是否正确生成。

同时,通过验证读写数据的正确性,可以评估存储器的可靠性。

六、实验总结1.存储器的读写操作是微机系统的基本操作之一,对于存储器的工作原理和时序要有一定的了解;2.在实验过程中,要确保读写时序和控制信号的正确生成;3.通过验证读取和写入数据的正确性,可以评估存储器的可靠性。

通过完成存储器的读写实验,我们可以更深入地理解存储器的工作原理和操作方式,并通过验证读写数据的正确性,进一步评估存储器的可靠性。

这对于进一步研究和应用微机系统具有重要意义。

存储器读写实验报告

存储器读写实验报告

存储器读写实验报告班级:电信1001 姓名:张贵彬学号:201046830213一、实验目的1、熟悉6116静态RAM的使用方法,掌握PC机外存扩充的手段。

2、通过对硬件电路的分析,学习了解总线的工作时序。

二、实验内容1、硬件电路如下:2、编制程序,将字符A-Z循环写入扩展的6116RAM中,然后再将6116的内容读出来显示在主机屏幕上。

三、编程提示1、注意:TPC-USB已为扩展的6116指定了段地址:0d000H。

2、TPC-USB模块外扩储器的地址范围为0D4000H-0D7fffH。

3、通过片选信号的产生方式,确定6116RAM在PC机系统中的地址范围。

因为段地址已指定,所以其地址为CS=A15 and A14 and A13 and A12,实验台上设有地址选择微动开关K2,拨动开关,可以选择4000-7fff的地址范围。

编制程序,从0d6000H开始循环写入100h个A-Z。

开关状态如下:1 2 3 4 地址ON OFF ON OFF d4000hON OFF OFF ON d6000h四、实验电路图五、实验流程图六、实验程序data segmentmessage db'please enter a key to show the contents!',0dh,0ah,'$'data endscode segmentassume cs:code,ds:data,es:data start:mov ax,datamov ds,axmov ax,0d000hmov es,axmov bx,06000hmov cx,100hmov dx,40hrep1:inc dlmov es:[bx],dlinc bxcmp dl,5ahjnz ss1mov dl,40hss1:loop rep1mov dx,offset messagemov ah,09int21hmov ah,01hint21hmov ax,0d000hmov es,axmov bx,06000hmov cx,0100hrep2:mov dl,es:[bx]mov ah,02hint21hinc bxloop rep2mov ax,4c00hint21hcode endsend start七、实验结果。

实验1 存储器读写实验-实验报告

实验1  存储器读写实验-实验报告
2、教师批改学生实验报告应在学生提交实验报告10日内
信息与机电工程学院
实验报告
(20—20学年第1学期)
课程名称微机原理与接口技术
实验名称实验1存储器读写实验
专业
年级
组号1
成员1学号成员1姓名张XX
成员2学号成员2姓名
指导教师
实验日期
实验目的与要求:
1.掌握PC机外存扩展的方法。
2.熟悉6264芯片的接口方法。
3.掌握8086十六位数据存储的方法。
实验设备(环境):
MUT—Ⅲ型实验箱、8086CPU模块。
实验内容:
向02000~020FFH单元的偶地址送入AAH,奇地址送入55H。
实验步骤:
1、程序源码
2、
3、
实验结果分析
实验总结(包括过程总结、心得体会及实验改进意见等):
1、ቤተ መጻሕፍቲ ባይዱ程总结:
2、心得体会:
指导教师评语:
成绩评定
教师签字
年月日
备注:
注:1、报告内的项目或设置,可根据实际情况加以补充和调整

存储器读写实验

存储器读写实验

实验一存储器读写实验一、实验目的1. 熟悉静态RAM 的使用方法,掌握8088 微机系统扩展RAM 的方法;2. 掌握静态RAM 读写数据编程方法。

二、实验内容对指定地址区间的RAM(4000H~43FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~53FFH 中。

三、实验接线图(系统中已连接好)四、实验步骤1. 在PC 机和实验系统联机状态下,编辑源程序。

2. 从存储器窗口检查和记录4000H~43FFH 中的内容和5000~53FFH 中的内容。

3. 对源程序进行编译和装载,生成可执行文件。

4. 对可执行文件进行调试,调试方法有:单步,宏单步,自动单步,自动宏单步,注意这些方法之间的区别。

5. 连续运行实验程序。

6. 从存储器窗口检查和记录4000H~43FFH 中的内容和5000~53FFH 中的内容,比较程序运行前、后存储器内容的变化情况。

五、实验程序清单CODE SEGMENT ;RAM.ASMASSUME CS:CODEPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 1850hSTART: JMP START0BUF DB ?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0HMOV DS,AX ;写数据段地址MOV BX,4000H ;内存首址MOV AX,55AAH ;要写入的字MOV CX,0200H ;数据长度RAMW1: MOV DS:[BX],AX ;写数据ADD BX,0002H ;下一个单元LOOP RAMW1 ;循环写MOV AX,4000H ;首址MOV SI,AX ;SI置源首址MOV AX,5000HMOV DI,AX ;DI置目首址MOV CX,0400H ;数据长度CLD ;增址REP MOVSB ;串传送call buf1 ;写”62256-”mov cx,0ffhcon1: push cxcall disp ;显示pop cxloop con1call buf2 ;写”--good”con2: call disp ;显示jmp con2DISP: MOV AL,0FFH ;显示子程序 ,5msMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,06H ;写”62256-”MOV BUF+1,02HMOV BUF+2,02HMOV BUF+3,05HMOV BUF+4,06HMOV BUF+5,17HRETBUF2: MOV BUF,17H ;写”--good”MOV BUF+1,17HMOV BUF+2,09HMOV BUF+3,00HMOV BUF+4,00HMOV BUF+5,0dHRETCODE ENDSEND START六、实验总结这个自己实现!!!。

实验一 存储器读写实验

实验一 存储器读写实验

动态调试工具DEBUG 的常用命令
1. U命令(反汇编) 2. G命令(执行) 3. T命令(跟踪执行) 4. D命令(显示内存) 5. R命令(修改寄存器)
三、实验内容
1、将字符A-Z逐个存入RAM中,然后再将 这些内容读出来显示在实验箱的屏幕上。
2、用一片6116作为内存扩展,向8000H: 0H至8000H:100H单元的偶地址单元送 入0AAH(扩充)
WRITE: MOV AL,0AAH STOSB MOV AL,55H STOSB LOOP WRITE
MOV CX,50H MOV SI,0000H
READ: LODSW CMP AX,55AAH JNZ NOT_RIGHT LOOP READ MOV AL,'R' MOV DX,88H OUT DX,AL JMP $
实验程序与流程图
程序开始
向6116 写数据
从 6116 中8000H :0H 开始 的地址逐 次读出字符比较
并显示相应字符 程序结束退出
CODE SEGMENT ASSUME
CS:CODE START:
MOV CX,50H MOV DI,0 MOV AX,8000H MOV DS,AX MOV ES,AX
1、将字符A-Z逐个存入RAM中, 然后再将这些内容读出来显示在实验箱的屏幕上。
程序开始 从当前的RAM中申请一个
26字节的缓冲区
将字符逐次写入缓冲区
从缓冲区中逐次读出字符显示
程序结束
RAMDUXIE.ASM
CODE SEGMENT ASSUME CS:CODE
START: JMP START_ DAT DB 26 DUP(?) CHAR DB 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

储存器实验报告

储存器实验报告

一、实验目的1. 了解储存器的基本概念和分类。

2. 掌握储存器的读写原理和操作方法。

3. 学会使用常用储存器芯片,如RAM、ROM等。

4. 熟悉储存器的扩展方法,如字扩展、位扩展等。

二、实验仪器与设备1. 实验台2. 信号发生器3. 数字示波器4. 静态随机存储器(RAM)芯片5. 只读存储器(ROM)芯片6. 译码器7. 74LS系列集成电路芯片8. 连接线三、实验原理1. 储存器的基本概念:储存器是计算机系统中用于存放数据和指令的设备,分为内存储器和外存储器。

内存储器包括RAM和ROM,外存储器包括硬盘、光盘等。

2. 储存器的读写原理:储存器的读写操作主要依靠控制电路来实现。

控制电路根据地址信号选择相应的存储单元,并根据读写信号决定是读取数据还是写入数据。

3. 常用储存器芯片:(1)RAM:随机存取存储器,具有读写速度快、存储容量大、价格低等特点。

RAM 分为静态RAM(SRAM)和动态RAM(DRAM)两种类型。

(2)ROM:只读存储器,只能读取数据,不能写入数据。

ROM分为掩模ROM、可编程ROM(PROM)、可擦写可编程ROM(EPROM)和闪存(Flash)等类型。

四、实验步骤1. 储存器读写原理实验:(1)搭建实验电路,包括RAM芯片、地址译码器、控制电路等。

(2)使用信号发生器产生地址信号、读写信号和控制信号。

(3)观察数字示波器上的波形,分析读写操作过程。

2. 储存器扩展实验:(1)字扩展:使用多个RAM芯片扩展存储容量。

将多个RAM芯片的地址线和控制线连接在一起,数据线分别连接。

(2)位扩展:使用译码器将地址信号转换为片选信号,控制多个RAM芯片的读写操作。

将译码器的输出端连接到RAM芯片的片选端,地址信号连接到译码器的输入端。

3. 基于AT89C51的RAM扩展实验:(1)搭建实验电路,包括AT89C51单片机、RAM芯片、译码器等。

(2)编写程序,设置RAM芯片的地址、读写信号和控制信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、教师批改学生实验报告应在学生提交实验报告10日内
MUT—Ⅲ型实验箱、8086CPU模块。
实验内容:
向02000~020FFH单元的偶地址送入AAH,奇地址送入55H。
实验步骤:
1、程序源码
2、
3、
实验结果分析
实验总结(包括过程总结、心得体会及实验改进意见等):
1、过程总结:
2、心得体会:
指导教师评语:
成绩评定
教师签字
年月日
备注:
注:1、报告内的项目或设置,可根据实际情况加以补充和调整
信息与机电工程学院
实验Байду номын сангаас告
(20—20学年第1学期)
课程名称微机原理与接口技术
实验名称实验1存储器读写实验
专业
年级
组号1
成员1学号成员1姓名张XX
成员2学号成员2姓名
指导教师
实验日期
实验目的与要求:
1.掌握PC机外存扩展的方法。
2.熟悉6264芯片的接口方法。
3.掌握8086十六位数据存储的方法。
实验设备(环境):
相关文档
最新文档