一、实验目的
1.掌握80C51单片机扩展外ROM的方法
2.了解EEPROM的使用方法
二、实验说明
MCS-51型单片机芯片中,8031片内无ROM,必须扩展外ROM;8051片内虽有4KB掩膜ROM,但写入程序时需由生产商一次性输入,使用起来很不方便;80C51芯片内有4KB EEPROM,若片内ROM不够用,也需扩展片外ROM。
MCS-51型单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外(8031芯片无内ROM,全部在片外)。当单片机内外ROM选择EA脚保持高电平时,先访问内ROM,但当程序计数器值超过4KB时,将自动转向执行外ROM中的程序。EA当保持低电平时,则只访问外ROM。不管芯片内有无内ROM,对8031芯片,片内无ROM,因此EA必须接地。
本实验使用EEPROM 27C512芯片进行片外ROM的扩展。27C512具有64K空间,因此它需要使用全部16根地址线(A0~A15),片选端E接地。
PSEN是51单片机的专用外部程序存储器访问控制线,PSEN作用为外ROM的输出允许的选通信号。
三、实验内容与步骤
用EEPROM代替全部的单片机内部程序存储器,只要把已仿真过的程序烧录到EEPROM中,插到芯片座上,连接好线路,把EA端接地,脱离仿真器,直接插入单片机,就可运行程序了。
1.将单片机最小应用系统1实验模块上的电源断开,插上Keil uVision2仿真器的80C51仿真头。用扁平数据线连接P1口和八位逻辑电平显示模块,打开相关模块电源。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 27C512.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。即可执行程序,发光二极管从左到右单只循环点亮。
6、把已烧录好可执行的27C512芯片插到实验模块中,单片机最小应用系统1的 P0口接EEPROM的D0~D7口,单片机最小应用系统1的Q0~Q7口接EEPROM的A0~A7口,单片机最小应用系统1的 P2口接EEPROM的A8~A12口,单片机最小应用系统1的PSEN接EEPROM
的OE,单片机最小应用系统1的EA/VP接地,P1口接八位逻辑电平显示。单片机最小应用系统1插入空的80C51芯片,打开电源运行, LED灯循环点亮。
四、源程序:
ORG 0000H
LJMP START
ORG 0030H
START:
MOV A, #0FEH
MOV R2,#8
OUTPUT:
MOV P1,A
RL A
ACALL DELAY
DJNZ R2,OUTPUT
LJMP START
DELAY:
MOV R6,#0
MOV R7,#0
DELAYLOOP: ;延时程序
DJNZ R6,DELAYLOOP
DJNZ R7,DELAYLOOP
RET
END
五、电路图
扩展外部程序存储器ROM和外部数据存储器RAM
阅读(2519) | 评论(0) | 转发(0) |