[PIC®/AVR®/dsPIC®产品] 汇编程序

[复制链接]
 楼主| GeorgeYao929 发表于 2014-5-29 11:20 | 显示全部楼层 |阅读模式

#define DBYTE ((unsigned char volatile*)0x100) //指向100h
#asm  
        LFSR 0, 0x1ff
LOOP:
        BSF PORTC,0 //RC0=1
        BCF PORTC ,0 //RC0=0
        MOVF PORTD, W //将PORTD,即AD转换的值写入W
        MOVWF INDF0  //w写入当前指向的空间
        MOVFF   INDF0,PORTB //当前空间的值放入PORTB
        MOVWF POSTINC0 //指针加一
        BTFSS FSR0H ,1
CALL LOOP
       
#endasm
while(i<255)
                {       
                        a=DBYTE;//偏移i
                        PORTC=1;
                        PORTC=0;
                        PORTB=a;
            i++;
                }

先把数据存入BANK1即100H到1FFH后,如何把这些单元的数据取出,放入a。这些数据存得应该没问题吧?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| GeorgeYao929 发表于 2014-5-29 11:21 | 显示全部楼层
这是PIC18F4520
huangxz 发表于 2014-5-29 16:29 | 显示全部楼层
程序太碎了,
yklstudent 发表于 2014-5-30 08:21 | 显示全部楼层
不知道楼主为什么要这么做
能说说什么情况下需要这么做吗?
 楼主| GeorgeYao929 发表于 2014-5-30 08:55 | 显示全部楼层
yklstudent 发表于 2014-5-30 08:21
不知道楼主为什么要这么做
能说说什么情况下需要这么做吗?

我在进行AD转换,由于采的频率比较高,接受数据是用汇编写的,然后取出数据是用C写的
zhimagod 发表于 2014-5-30 09:15 | 显示全部楼层
貌似你弄个指针就能读出来了吧
 楼主| GeorgeYao929 发表于 2014-5-30 09:37 | 显示全部楼层
zhimagod 发表于 2014-5-30 09:15
貌似你弄个指针就能读出来了吧

DBYTE 这个就是指针啊?我在程序最开始就定义了。
zhimagod 发表于 2014-5-30 10:24 | 显示全部楼层
有点不清楚楼主的问题了,是读不出?读不对?还是?
 楼主| GeorgeYao929 发表于 2014-5-30 15:55 | 显示全部楼层
MOVFF   INDF0,PORTB //当前空间的值放入PORTB           这句话是用汇编读的,汇编读得是对的,如上面蓝色的图显示,但用C语言读得不对,我该怎么办?



#define DBYTE ((unsigned char volatile*)0x100) //指向100h
#asm  
        LFSR 0, 0x1ff
LOOP:
        BSF PORTC,0 //RC0=1
        BCF PORTC ,0 //RC0=0
        MOVF PORTD, W //将PORTD,即AD转换的值写入W
        MOVWF INDF0  //w写入当前指向的空间
        MOVFF   INDF0,PORTB //当前空间的值放入PORTB
        MOVWF POSTINC0 //w写入POSTINC0,指针加一
        BTFSS FSR0H ,1
CALL LOOP
        
#endasm
while(i<255)
                {        
                        a[i]=DBYTE[i];//偏移i
                        PORTC=1;
                        PORTC=0;
                        PORTB=a[i];
            i++;
                }
 楼主| GeorgeYao929 发表于 2014-5-30 15:56 | 显示全部楼层
zhimagod 发表于 2014-5-30 10:24
有点不清楚楼主的问题了,是读不出?读不对?还是?


MOVFF   INDF0,PORTB //当前空间的值放入PORTB           这句话是用汇编读的,汇编读得是对的,如上面蓝色的图显示,但用C语言读得不对,我该怎么办?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

51

帖子

0

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

17

主题

51

帖子

0

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