|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
51单片机,操作内部RAM,会影响数据线吗? |
作者:khsb 栏目:技术交流 |
请问大家,51单片机里,如果我在程序里操作内部RAM(即操作data变量),对数据线P0口(或者说是低8位地址线)会有影响么?对RD和WR线呢有没有影响? 谢谢 |
2楼: | >>参与讨论 |
作者: awey 于 2005/12/23 10:24:00 发布:
如果EA接高(运行内部的程序),没有影响 |
3楼: | >>参与讨论 |
作者: chunyang 于 2005/12/23 10:49:00 发布:
一般不会 但有个例外要特别留意:某些51系MCU中除128+128结构的内存外还有用MOVX访问的SRAM,对其访问如果超出其最大地址范围,有些这样的MCU(不是全部)会自动转向真正的片外地址,这时总线及读写控制的状态就会发生改变了。 |
4楼: | >>参与讨论 |
作者: javie 于 2005/12/23 10:56:00 发布:
我发现chunyang是个51专家 应该和热电源不相上下,哈哈~~ |
5楼: | >>参与讨论 |
作者: maychang 于 2005/12/23 16:57:00 发布:
当然是 Hotpower不大攻硬件,Chunyang软硬兼施。 |
6楼: | >>参与讨论 |
作者: qjy_dali 于 2005/12/23 23:24:00 发布:
没有 |
7楼: | >>参与讨论 |
作者: awey 于 2005/12/24 9:11:00 发布:
这个叫内部的扩展RAM,用MOVX访问 我现在用的C8051F120就有8K的 |
8楼: | >>参与讨论 |
作者: khsb 于 2005/12/26 11:20:00 发布:
那下面的问题怎么解释? 为什么按照图1和图2的接线,运行同一段代码,而有不一样的效果。 代码如下: #define CONTROL XBYTE[0x8001] void main(void) { unsigned CHAR data i; while(1) { CONTROL = 0x00; for(i=0;i<255;i++); CONTROL = 0xFF; for(i=0;i<255;i++); } } 现在只讨论片选信号:当按照图1接线时,74HC138只有Y1(NO.14)有低电平,其他Y都不会选中,也就是说只有高电平,而且低电平很短;当按照图2接线时,74HC138除了Y1(NO.14)有低电平,Y2(No.13)也有低电平出现,而且这两个脚的低电平都比较长,差不多与高电平形成1:1的方波了。这是为什么? |
9楼: | >>参与讨论 |
作者: HIGHWAY 于 2005/12/26 12:36:00 发布:
肯定不一样,你的地址都不是唯一的 |
10楼: | >>参与讨论 |
作者: khsb 于 2005/12/26 19:35:00 发布:
说明一点 地址的确不是唯一的,但是程序里操作过的地址却是唯一。为什么对0x8001操作的时候,Y2也会被选中呢? 另外,上图中的A0、A1、A2是从74HC373过来的,不是直接从CPU引脚接过来 |
11楼: | >>参与讨论 |
作者: khsb 于 2005/12/28 8:41:00 发布:
怎么没有人回答了? |
12楼: | >>参与讨论 |
作者: awey 于 2005/12/28 9:21:00 发布:
P2口在没用于地址总线时,口线上输出其内部寄存器的状态 P2口在做地址总线用之前,最好置1 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |