pic中档单片机程序存储器如何访问

[复制链接]
4678|12
 楼主| loveme99 发表于 2011-4-7 15:14 | 显示全部楼层 |阅读模式
如何把程序存储器中的数据读到RAM中,目的是做整个程序存储器的CRC校验
NE5532 发表于 2011-4-7 16:17 | 显示全部楼层
RETLW查表,像16F690这样的新机型,那个访问E2的寄存器可以指向FLASH寻址的。
 楼主| loveme99 发表于 2011-4-7 17:00 | 显示全部楼层
谢谢,我用了,又发现个问题,怎么只返回8位,正常看program memory里是16位的啊!前八位怎么读不出来
NE5532 发表于 2011-4-7 17:24 | 显示全部楼层
PIC的特性,PIC的程序字长是13bit宽,建表只能建8bit宽度,剩下的bit浪费掉。
 楼主| loveme99 发表于 2011-4-7 17:33 | 显示全部楼层
Line  Address  Opcode               Disassembly              
    11   000A   280C  GOTO 0xc                              
    12   000B   280D  GOTO 0xd                              
    13   000C   2845  GOTO 0x45                              
    14   000D   108B  BCF 0xb, 0x1                           
    15   000E   0020  MOVLB 0                              
看其中的opcode是280c等16位
NE5532 发表于 2011-4-7 17:41 | 显示全部楼层
你用的哪种PIC芯片?
 楼主| loveme99 发表于 2011-4-7 21:19 | 显示全部楼层
skygrow 发表于 2011-4-8 13:53 | 显示全部楼层
详看数据手册
这个型号读程序存储器有两个方法:
1.如上所说的RETLW
2.FSR间接寻址
 楼主| loveme99 发表于 2011-4-8 20:51 | 显示全部楼层
11   000A   280C  GOTO 0xc                              
    12   000B   280D  GOTO 0xd                              
    13   000C   2845  GOTO 0x45                              
    14   000D   108B  BCF 0xb, 0x1                           
    15   000E   0020  MOVLB 0   
用那两种方法只能返回0c 0d 45 8b 20前面的28 10 00 返回不了
yewuyi 发表于 2011-4-8 21:24 | 显示全部楼层
支持FLASH读写的PIC MCU,都可以通过读FLASH操作得到FLASH数据的吧!
 楼主| loveme99 发表于 2011-4-10 17:29 | 显示全部楼层
莫非前面的8位是固定的,不允许访问?
yewuyi 发表于 2011-4-11 08:12 | 显示全部楼层
前面的位是指令码
251566208 发表于 2011-4-11 17:24 | 显示全部楼层
有数据手册吗?没有我可以提供中文的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

119

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部