这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ㄐ偶际?PTR8000 菜鸟求助--关于PTR8000

共2条 1/1 1 跳转至

ㄐ偶际?PTR8000 菜鸟求助--关于PTR8000

院士
2006-09-17 18:14:16     打赏
ㄐ偶际?PTR8000 菜鸟求助--关于PTR8000



关键词: ㄐ偶     PTR8000     菜鸟     求助     关于    

院士
2006-12-22 22:43:00     打赏
2楼
问 小弟我刚买回来两块PTR8000的模块.
想看看是否能和我用的C8051F330接通.想法很简单,就是向NRF905里面的配置寄存器里面写数据,然后再原封不动的把它读出来,看看是不是我写的.
如果是的,证明应该是通了.但是发现一个问题,不管我写的是什么,读出来的都是FF.....这个我是用调试工具在内存中看的.百思不得其解,请大家帮帮忙,谢谢了.下面是我的源程序代码:

$include (c8051f330.inc)
       cd      equ   p0.7
       pwr     equ   p0.6
       trx_ce  equ   p0.5
       txen    equ   p0.4
       am      equ   p1.0
       dr      equ   p1.1
       sck     equ   p1.2
       miso    equ   p1.3
       mosi    equ   p1.4
       csn     equ   p1.5


       org   0000h
       ljmp  main
       org   0030h

main:    anl  PCA0MD,    #NOT(040h)          ;关闭看门狗
    MOV  SP,#60H
         MOV  OSCICN,#080H                   ;设置时钟频率为3.0625M
         mov  P0MDOUT,   #0FFh
         mov  P1MDOUT,   #03Fh
         mov  P0SKIP,    #0FFh
         mov  P1SKIP,    #0FFh
         mov  XBR1,      #040h              ;以上为初始化IO引脚定义


ini:     setb    pwr
         clr     trx_ce      ;进入空闲编程模式
         setb    csn
    mov     r0,#00h
    clr     csn         ;开启SPI

       acall   spiout      ;发送命令为向配置寄存器0000H写数据        

         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h   
    acall   spiout                 
         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h   
    acall   spiout            
         mov     r0,#00h   
    acall   spiout
         mov     r0,#00h             
    acall   spiout          ;以上用很笨的方法发了十个数据 全为0
    setb    csn             ;关闭SPI
                 
    mov     r0,#10h         ;读地址为0000H 的配置寄存器
    clr     csn
                 
    acall   spiout      ;发送命令为读数据(待发送)
         acall   spiin       ;接受数据             
    mov     20h,r0
    acall   spiin                 
    mov     21h,r0
    acall   spiin                 
    mov     22h,r0
    acall   spiin
    mov     23h,r0
    acall   spiin                 
    mov     24h,r0
    acall   spiin                 
    mov     25h,r0
    acall   spiin
    mov     26h,r0
    acall   spiin                 
    mov     27h,r0
    acall   spiin
    mov     28h,r0
    acall   spiin
    mov     29h,r0     ;以上用很笨的方法存了十个数据全为FF
                            ;理论上应该读到的数据为0
    setb    csn
    sjmp    $




;***********************************************************
;spi通讯子程序
;**************************************************************
;read返回参数在R0中
spiin:     nop
           clr     c
      clr     a
      mov     r1,#08h
spiin1:    clr     sck
           nop
      nop
      mov     c,miso
      rlc     a
      setb    sck
      nop
      nop
      djnz    r1,spiin1
      mov     r0,a
      ret
;write入口参数在RO中
spiout:    clr    sck
           clr     c
      mov     r1,#08h
           mov     a,r0
spiout1:   nop
           MOV     C,ACC.7
           MOV     MOSI,C
      rlc    a
      setb   sck
      nop
      nop
      clr    sck
      djnz   r1,spiout1
      setb   sck
      ret
        
           end

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]