打印

关于89C52的SRAM数据读取问题

[复制链接]
4141|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bmdlh7|  楼主 | 2013-1-24 15:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我做了一块板子,用的是89C52单片机,使用了HM6116作为SRAM。

在写程序过程中,我用xdata定义了数组,想把数组里的数据放到SRAM中去,可程序执行后发现数据没有显示出来(我不确定是没写进去还是没读出来)
请教下各位高手,想把数组数据写进SRAM,除了开头定义 uchar xdata test[]={1,2,3......99,100},之后还要做什么?用的是KEIL编译器

相关帖子

沙发
ayb_ice| | 2013-1-24 16:30 | 只看该作者
片选信号一般通过PSEN控制

硬件问题吧,没有太仔细看,这年头谁还这样用啊,直接选个有片内XRAM的

使用特权

评论回复
板凳
anazel| | 2013-1-24 16:33 | 只看该作者
STC5A60S2有1K的ram应该够用了

使用特权

评论回复
地板
bmdlh7|  楼主 | 2013-1-24 16:53 | 只看该作者
现在关键板子也做了,我测了下发现是数据没写进去。
我想请教下把数据写进SRAM除了在开头定义xdata,还需要做别的么?
还是因为我定义为全局变量,在定义方面出了问题?

使用特权

评论回复
5
ayb_ice| | 2013-1-24 17:03 | 只看该作者
bmdlh7 发表于 2013-1-24 16:53
现在关键板子也做了,我测了下发现是数据没写进去。
我想请教下把数据写进SRAM除了在开头定义xdata,还需要 ...

正常就是那样定义的

使用特权

评论回复
6
870612| | 2013-1-24 17:11 | 只看该作者
个人简历
姓名: 马志会
| 男 |  21岁(1992年1月13日)                                     

居住地:深圳市

电 话:15840538381(手机)

E-mail:465854789@qq.com  

学 历: 本科

专 业: 计算机软件技术

学 校: 东北大学
-------------------------------------------------------------------------------
求职意向  

到岗时间: 待定

工作性质: 全职

期望月薪: 待定

目标职能: 高级软件工程师,软件工程师,互联网软件开发工程师,项目经理,项目主管  

工作经验  无

所属行业: 计算机软件
-------------------------------------------------------------------------------
教育经历  

2010-9月 东北大学 计算机软件技术 本科
-------------------------------------------------------------------------------
语言能力

英语(一般)   

IT 技能  

技能名称 熟练程度
-------------------------------------------------------------------------------
Java 初学者  

SQL Server初学者

Flash初学者  

EJB初学者  

Access初学者

JavaScript初学者

C/C++初学者

Adobe Photoshop初学者

JSP初学者

HTML初学者
-------------------------------------------------------------------------------
自我评价
性格开朗,吃苦耐劳的我通过三年的大学生活,我感觉自己成长了很多,在即将毕业之时,我对自己这三年来的收获和感受作一个小结,并以此为我今后行动的指南 学习方面,我觉得大学生的首要任务还是学好专业知识,所以在学习上我踏踏实实,勤勤恳恳。一点也不放松,不过也参加了不少娱乐节目。对于我们计算机软件测试相关专业的学生来说,光光学好书本上的知识是远远不够的。我利用课余时间经常阅览计算机类的书籍。课余时间也可以兼职工作锻炼自己。
我认为学习是学生的职业,这份职业同样需要有智慧、毅力和恒心。在当今这个快速发展的信息时代,我们只有不断汲取新知识,才不会落伍。学习固然重要,一个人能力的培养也不容忽视。三年的大学生活给了我很多挑战自我的机会。我结交了一些很好的朋友,学到了为人处事的方法,锻炼了自己的能力。这些经历使我明白有些事情如果尝试了,成功的机会就有一半,如果不去尝试,成功的几率只能为零。机会来临时,我们就要好好地把握,我觉得自己的事情就应该由自己负责,别人最多只能给你一些建议。遇到事情要冷静地思考,不要急躁。不轻易的承诺,承诺了就要努力去兑现。
现在的我只想得到一个能锻炼自己的工作平台,对工薪的要求并不高,只想在那里锻炼自己,让自己成长来得到领导的认可,掌握实际应用技能,将来能过在计算机领域发挥自己的才能,
希望能与贵公司共进退!

使用特权

评论回复
7
gx_huang| | 2013-1-24 17:35 | 只看该作者
估计是学生做项目,现在很少用6116了。
直接定义赋值应该是可以的。
硬件原理图也没有什么错误。
具体要调试一下,看看是否焊接错误。最好示波器测试一下外部总线波形。

我20年前,也是自己做外接EPROM/SRAM的板子。
不过你现在还这么设计,就太落后了。

使用特权

评论回复
8
dqyubsh| | 2013-1-24 20:10 | 只看该作者
先写一个测试程序,测试RAM是否正确读写。板子回来之后,单元电路要单独做测试,以便发现硬件或者软件问题。

使用特权

评论回复
9
我要的飞翔| | 2013-1-24 20:32 | 只看该作者
不错

使用特权

评论回复
10
zhaofy521| | 2013-1-25 11:23 | 只看该作者
硬件读写片外RAM,C用XBYTE或者_at_

使用特权

评论回复
11
lucifer智| | 2013-1-25 12:45 | 只看该作者

STC5A60S2有1K的ram应该够用了

使用特权

评论回复
12
jack821119| | 2013-1-25 14:44 | 只看该作者
应该是跟sram根本没有连接上,先检测下硬件有没有虚焊之类的.
如果没有连接上的,你读出来的数据应该是0x00或者0xff

使用特权

评论回复
13
jack821119| | 2013-1-25 14:52 | 只看该作者
还有 ,你可以用接上sram后读出的来值与没接上sram读出来的值比较,如果都是一样的话,那就证明sram没有连接上了,如果只是某些位不一样的话,那估计是虚焊或者短路到地之类的

使用特权

评论回复
14
sunhq02| | 2013-1-26 08:57 | 只看该作者
要调试啊
你一步步调试下去才知道如何啊
这样说完全是瞎猜

使用特权

评论回复
15
yaoyuanytu| | 2013-1-26 09:12 | 只看该作者
在这我弱弱的问个问题 XDATA和PDATA有什么区别  都是外部扩展RAM用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝