- 32
- 0
- 约4.66千字
- 约 7页
- 2017-01-22 发布于重庆
- 举报
DE2上使用OC8051运行点灯程序(二)
DE2上使用OC8051运行点灯程序(二)
在“DE2上使用OC8051运行点灯程序(一)”中已经使用OC8051进行了功能仿真、时序仿真,并且下载到DE2上运行,查看执行效果了,但实际上这里有一个问题,而由于上一节ROM中指令只有一条,占三个字节,所以将问题掩盖住了,一旦程序长度增加,就会暴露出问题。具体原因是:oc8051中ROM设计的是4096*8bit,一次读取4个字节,所以输出数据宽度是32bit,而上一节设计的ROM是4096*32bit,这样做的原因是为了使得一次读出32bit。所以在读取地址0时,第一种方式取出0-3地址空间的数据,第二种方式(即上一节设计的ROM)只取出0地址空间的数据。如下:
由于oc8051一次读出4个字节,所以开机复位的时候两种方式读出的数据是一样的,随后pc值加4,在第一种方式中读出紧接着的4个字节,而在第二种方式中会读出地址4中存储的内容。所以第二种方式只在低两位为00的地址存储数据,但是即使这样也会出现异常情况,如果存在跳转指令,比如:转移到地址0x3处,此时应该读出的是0x3、0x4、0x5、0x6处的四字节指令,使用上一节中修改后的ROM就无法实现这一点,所以还需要修改ROM,有两种修改方法:
1、使用8bit宽度的数组实现ROM
这样就可以方便的实现上述要求,唯一的缺点是初始化ROM的时候比较麻烦,需要在源文件中依次添加指
您可能关注的文档
最近下载
- 股票操盘手揭密操盘——操盘手的告白探秘庄的心理.doc VIP
- 220kV升压站 接地网施工方案.docx VIP
- 操盘手的告白.doc VIP
- 上海创景公司软件工程师类试题.pdf VIP
- 【河北图集】J16Z606-2:预制装配式钢筋混凝土排水检查井(超深)(带书签)建筑标准图集 .docx VIP
- DB62T 4429-2021 大豆品种 陇黄2号.docx VIP
- 化工单元操作基础知识课件.ppt VIP
- DB62T 4428-2021 大豆品种 陇黄1号.docx VIP
- 营林及生物防治视角下的杨树病虫害防治措施.pdf VIP
- (2026)危险化学品经营许可证管理办法PPT课件.pptx VIP
原创力文档

文档评论(0)