4524|9

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

片外数据存取的问题。 [复制链接]


  1. ORG        0000H
  2. AJMP        MAIN
  3. ORG        0100H

  4. MAIN:        MOV         SP, #5FH
  5.         ;PUSH        ACC
  6.         MOV        DPTR, #01FFH
  7.         MOV        A, #78H
  8.         MOVX         @DPTR, A        [color=#FF0000];怎么没有传入数据 ??[/color]
  9.         ACALL        L_UP        ;


  10. L_UP:       
  11.         MOVX        A,@DPTR        ;保存灯泡的信息
  12.         MOV        P1,A
  13.         HERE:        SJMP $;
  14.         RET
  15.         END
复制代码


我想用这个程序验证片外RAM的存储,但是通过在keil中调试发现,在DPTR指向的地方(X:0x01ff),并没有出现本应该出现的值78H。
(PS:我的X:0x01ff中是0xfe,我用发光二极管验证了,亮的方式和X:0x01ff中存的数据相同,可见片外RAM的电路接法应该没有问题。稍后我把图上上来。)
有没有人知道是怎么回事儿呢?
我翻了翻书,MOVX的指令没有用错啊?
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
会不是keil的project中, “option for ……” 的设置出了问题呢?
我的target这一栏的设置是:
Memory Model:     lardge_variables in XDATA
Code Rom Size:    Small_program 2k or less
operating:        None

use On_chip ROM 我也选上了。

谢谢

最新回复

再贴转载 [转载]上拉电阻原理2007-3-31 20:37:00 上拉电阻在什么情况下使用: 1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。 2、OC门电路必须加上拉电阻,才能使用。 3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。 4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。 5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。 6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。 7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。 上拉电阻阻值的选择原则包括: 1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。 2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。 3、对于高速电路,过大的上拉电阻可能边沿变平缓。 综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理 对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素: 1. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。 2. 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。 3. 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。 4. 频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。 下拉电阻的设定的原则和上拉电阻是一样的。 OC门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端每端口不大于100uA,设输出口驱动电流约500uA,标准工作电压是5V,输入口的高低电平门限为0.8V(低于此值为低电平);2V(高电平门限值)。 选上拉电阻时: 500uA x 8.4K= 4.2即选大于8.4K时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0.8V即可。 当输出高电平时,忽略管子的漏电流,两输入口需200uA 200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了。选10K可用。COMS门的可参考74HC系列 设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为: 输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了) 再找找单片机外围电路与抗干扰设计方面的书看看。。  详情 回复 发表于 2008-8-4 10:52
点赞 关注

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
图片来了。

图片注释:其中SRAM 6264的 D0 ~ D7口接到了图下方的总线上。

昨天我上传的另外的图片在eeworld上没有打开。我给个地址吧图片的地址吧:
http://lh3.ggpht.com/somebodykiss/SJL-s1JlxVI/AAAAAAAAAGQ/cVX99f7n6x4/ex_ram.JPG?imgmax=576

再次谢谢大家帮忙。
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
WR接we   cs接高电平 ce接地
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

4
 
MOVX     @DPTR, A    ;怎么没有传入数据 ??

关键是这一句话,我本想把A中的值存入DPRT所指向的存储单元,但是A的值压根儿就没有存进去。刨除硬件电路的问题,我在keil中的内存查看窗口中发现DPTR中的值就没有变化?会不是keil的project中, “option for ……” 的设置出了问题呢?
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 2 楼 chuanye 的回复:
WR接we  cs接高电平 ce接地

另外,单片机的/EA脚接高电平。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

6
 
注意P0口有没有加上拉电阻。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 
P0口有芯片,可以没有加上拉电阻,像四楼所说,硬件不对,看书.
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
用的什么单片机呢?
是不是复位后ALE禁止输出?
如果有这个功能的话,就得这样:
MOV AUXR #00000000B
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(中级)

9
 
RE:  nikko_lo
EA接高电平是从内部开始读程序。但是我悬空的话会怎么样?

RE:《完全手册》(张天凡)的书中说,当P0口作为驱动是,必须连接上拉电阻。
但是书中没有说如何接上拉电阻。我在学习单片机的过程中经常遇到外围电路的设计问题。这些都让我有些迷惑:什么时候该接电容,什么时候该接保护电阻,什么是上拉电阻?这些单片机的书中既没有提到,我也不知道该从哪儿得到这方面的讲解。您能告诉我哪能学到这方面的知识么?谢谢。



 
 
 

回复

80

帖子

0

TA的资源

禁止访问

10
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表