用EPROM单片机ROM实验扩展.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用EPROM单片机ROM实验扩展

试验四 用EPROM扩展单片机ROM实验 实验项目名称:用EPROM扩展单片机ROM实验 实验项目性质:普通 所属课程名称: 实验计划学时:2学时 一.实验目的 1. 用EPROM27C64扩展AT89C51单片机ROM(27C64为外ROM)。 2. 用PROTEUS设计,仿真AT89C51单片机ROM的扩展实验。 3. 借助PROTEUS VSM 的虚拟逻辑分析仪,观测单片机访问外ROM(即27C64)时地址,数据和控制总线的信号状态。 二.PROTEUS电路设计 27C64扩展ROM电路原理图如图4-1所示,(注意:本原理图中的复位电路和振荡电路均未画)。整个设计都在ISIS平台中进行。 从PROTEUS库中选取元器件 ① AT89C51.BUS:总线式的单片机; ② RES: 电阻; ③ 7SEG-BCD-GRN: 带BCD译码七段绿光数码管; ④ CAP,CAP-ELEC: 电容,点解电容; ⑤ CRYSTAL: 晶振; ⑥ 74LS373:八D锁存器; ⑦ 27C64:EPROM存储器。 图4-1 27C64扩展外ROM电路原理图 放置元器件,放置电源和地,连线,元器件属性设置,电气检测 所有操作都是在ISIS中进行。它们都与第3.1节相似,故不详述。但要注意总线标注要匹配,标注方法参看第3.4.2节,3.6.2节,EA脚接正电源。 4.1.3源程序设计,生成目标代码文件 1. 源程序设计 经ROM扩展后的单片机系统,其程序存储器ROM分内ROM(单片机)和外ROM(27C64)两部分。本实验AT89C51内ROM为4KB,地址从0H到0FFFH;外ROM 27C64为8KB,地址从0H到1FFFH。所以程序设计也要分别设计单片机内ROM源程序和外ROM 27C64源程序;分别生成目标代码文件;分别写入单片机内ROM和外ROM 27C64中。 图4-2 源程序添加结果 通过菜单“Source→Add/Remove Source Files...”新建两个源程序文件:2764.ASM和P2764.ASM,如图4-2 所示。 通过菜单“Source→2764.ASM”,“Source→P2764.ASM”,分别打开各自的源程序文件,且分别使用编辑器SRCEDIT设计程序。现举一简单例子如下: 单片机源程序设计 ORG 0 LJMP 1000H; END (2)外存储器源程序设计 ORG 1000H ;数码管循环显示0,1,…F MOV R2,#0 MOV A,R2 STAR: MOV P1,A ;1个机器周期 INC R2 ;1个机器周期 MOV A,R2 ;1个机器周期 ANL A,#0FH ;1个机器周期 SJMP STAR ;2个机器周期 END 每个源程序编好后,都单击按钮保存源程序文件。 2. 生成目标代码文件 通过菜单“Source→Build ALL”编译源程序,生成目标代码文件2764.HEX,P2764.HEX。若编译失败,对程序修改调试直至编译成功。 四.POTEUS仿真 1.加载目标代码文件 (1)加载目标代码文件 对AT89C51单片机先右后左击,打开其属性编辑窗口,在“Program File”栏中添加目标代码文件2764.HEX;在“Clock Frequency”栏中输入晶振频率为120Hz。 (2)加载27C64目标代码文件 对27C64先右后左击,打开27C64的属性编辑对话框,在映像文件“Image File”栏中输入外ROM程序的目标代码文件P2764.HEX,如图4-3所示。 图4-3 添加外ROM代码 2.加载目标代码文件 单击按钮,启动仿真,仿真运行片段如图4-4所示。从单片机源程序和外ROM27C64源程序可看出,启动仿真后,因单片机的EA脚接电源,从单片机内ROM地址0H开始执行指令LJMP1000H。因内ROM的最大地址为0FFFH,而外ROM27C64的地址从0H到1FFFH,当指令地址大于0FFFH时就自动转到外ROM中去执行程序。所以,执行LJMP1000H是跳到外ROM27C64的地址1000H处执行外ROM27C64中的程序。它是令数码管不断循环显示0,1…F的程序,都在外ROM27C64中执行,这正反应了“扩展单片机ROM实验”的意义。 图4-4 用EPROM扩展单片机ROM实验的仿真片段 若要观察外ROM27C64中程序的机器代码,可在启动仿真后单击仿真暂停按钮。再通过菜单“DEBUG→Memory Contents-U2”,则弹出显示外ROM27C64机器代码的存储器内容窗口,如图4-5所示。从中可查看地址1000H-100AH外存储器中数据为7A,00

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档