导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教各位怎样在89C52的片内ROM中写数据[shwjwj]

 *第10396篇: 请教各位怎样在89C52的片内ROM中写数据

  
楼 主:shwjwj 2003年4月15日16:18
 请教各位怎样在89C52的片内ROM中写数据
我想在89C52的片内ROM中连续写入一长串数据,请问我能否通过DPTR指针指向要写入数据的地址,然后写入数据,再指向下一个地址,再重复上述步骤写入数据,请问这样的要求能否用汇编实现?怎么实现?请各位大虾帮个忙指点一下迷津,请告之得详细一点,因为我刚学单片机没多久,不这么懂,小弟在这先谢了!
  
2楼:langren0468 2003年4月15日16:24
 当然可以汇编,52内部只有256的RAM,不用DPTR!
  
3楼:shwjwj 2003年4月15日16:26
 我指得是8K的FLASH中写入数据。
我指得是8K的FLASH中写入数据。
  
4楼:langren0468 2003年4月15日16:29
 flash不能随便写入,要烧片!
  
5楼:shwjwj 2003年4月15日16:41
 再请教一下
我先在0800H中用DB指令烧入256个字节,然后我再依次取出第1、2、3……7、8个数据的第8位,组成一个新的字节写入到存储器,用同样的方法组成32个字节的数据也依次存入,再这样取每个数据的第7位,组成新数据,依次到取完所有数据的每一位组成256个字节的新数据,这样的话能否存储起来,存储在哪里?最后我还要依次读出这些数据的,请指点。谢谢!
  
6楼:langren0468 2003年4月15日16:47
 你为什么非要放在FLASH里呢?
  
7楼:langren0468 2003年4月15日16:52
 这应该是RAN内部操作,一般不可能放到FLASH里面随便改动的,你做什么程序怎么需要这么多RAM?
  
8楼:shwjwj 2003年4月15日17:01
 我本来想是省下一块外部RAM,好的,那我再想想别的思路吧,谢谢了!
  
9楼:langren0468 2003年4月15日17:03
 那好吧,一般不需要这么大的数据段,如你要可以用77E58里面有1K的RAM
  
10楼:荒原野草 2003年4月15日16:25
 你是要在编程时写入还是在运行中写入?
如果你是要在运行中写入,肯定不行.
如果你要在编程时就设计好,通过烧片子写入那还可以实现.
我记得汇编里有一个:REG XXXXH的,可以在编程时使用.你查一下资料,应该会明白.
  
11楼:shwjwj 2003年4月15日16:32
 我是用在LED测试显示的
我是用在LED测试显示的,先写入数据,然后根据这些数据的每一位的0或1状态再在FLASH里面写入数据,然后根据这些数据的每一位状态再通过P2口送出数据去的。请问这样的话怎么实现。
  
12楼:荒原野草 2003年4月15日16:36
 不懂,你为何非要放在FLASH中呢?作为变量放在RAM中不行吗?
  
13楼:shwjwj 2003年4月15日16:43
 问题是我还有通过这256个字节是数据组成256个新的字节的数据,如果这样的话内部RAM不是不够了吗?
问题是我还有通过这256个字节是数据组成256个新的字节的数据,如果这样的话内部RAM不是不够了吗?
  
14楼:荒原野草 2003年4月15日16:58
 ??
"我是用在LED测试显示的,先写入数据,然后根据这些数据的每一位的0或1状态再在FLASH里面写入数据,然后根据这些数据的每一位状态再通过P2口送出数据去的。"
你打算如何"写入数据"?是在编程时已经有这样的数据了,还是工作中从外界采集的?
如果是在编程时就已经有了,你当然可以存在FLASH中,这需要在程序包含这些数据.
如果是采集了,你不妨采一组数据,处理一组,若行不通,那只好扩RAM了.
  
15楼:shwjwj 2003年4月15日17:03
 好的,我再想想别的思路吧,小弟在这谢了!
  
16楼:wolf8000 2003年4月15日16:32
 内部ROM是存放要运行的代码空间,在代码
内部rom是存放要运行的代码空间,在代码执行时不可以改变,除非有的芯片支持在系统编程,可以在线修改程序代码,即内部rom空间的内容。
  
17楼:tci3721 2003年4月15日18:50
 多用一些FLASH单元好了
其实你可以在程序中把所有的需要的数据都提前写好,用的时候去取就可以了,为什么只放256个单元那,多留出来一些空间提前写好就可以了。


>>>>>>对该主题发表你的看法

本主题贴数17,分页: [第1页]


[上一篇主题]:求教:学习单片机如何入手效果会好一些?

[下一篇主题]:谢谢斑竹!