打印

关于PC指针的处理及寻址方法

[复制链接]
3404|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eliucheng|  楼主 | 2007-7-25 13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近做编程器
看到一分资料 


 在对其编程的过程中,需要知道当前PIC的PC指针指向的Flash存储区单元地址,也就是当前的操作单元。由于无法直接读取其PC指针的值,故采用在89C5l的RAM区定义一个变量用来记录PIC的PC指针(12位,占用2字节)。该变量的值始终和PIC的PC指针一致,读取该值便可取得当前所操作的PIC的Flash存储单元地址。

    变量的操作应该遵循如下运算规则:
    ①只有“加1”这一种运算;
    ②03FF+1=0000(03FF为PIC10F202的存储器末地址)}
    ③当变量的值不等于03FF时,其“加l”运算与指针值“加1”同步;
    ④初始情况下,指针的值指向03FF。
    PICl0F202的Flash单元地址为0000H~03FFH。在以上运算规则下,记录PC指针的变量值也只能是0000H~03FFH,通过“加1”运算即可寻址到每一个Flash存储单元。

很感兴趣  不过不知道具体的软件如何实现。


请高手指点  谢谢

相关帖子

沙发
xwj| | 2007-7-25 13:45 | 只看该作者

不知道为什么要这么做,但可以实现

直接用DPTR即可:

INC  DPTR
ANL  DPH,#3FH

使用特权

评论回复
板凳
eliucheng|  楼主 | 2007-7-25 13:50 | 只看该作者

你的那个方法

你那个方法  的第二个
应该是 ANL  DPH  #3

DPL  是FF

还有啊用C语言怎么确保
当变量的值不等于03FF时,其“加l”运算与指针值“加1”同步;

还有在定义内部RAM变量的时候
要附初值  0X0000吗?

使用特权

评论回复
地板
古道热肠| | 2007-7-25 13:54 | 只看该作者

是ANL DPH,#03H吧!

  楼上好象不行的。

使用特权

评论回复
5
eliucheng|  楼主 | 2007-7-25 14:01 | 只看该作者

郁闷啊

谁知道帮个忙 把代码写一下

使用特权

评论回复
6
xwj| | 2007-7-25 14:08 | 只看该作者

呵呵,错看成03FFFH了

用C就更容易了,

建议大家都不要说哦,让LZ自己去研究研究

LZ,这都不会只能说明你完全没入门哦,必须得加强学习啊

使用特权

评论回复
7
tanshaojun| | 2008-6-5 16:32 | 只看该作者

呵……

   每次把高六位屏蔽就够了,

使用特权

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

本版积分规则

15

主题

62

帖子

0

粉丝