在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 4183|回复: 5

请问有没有做过ADUC812的SPI总线编程的,求教

[复制链接]
发表于 2005-1-18 16:07:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我编了一个SPI总线的程序,两块硬件都是ADUC812
但主机始终无法将数据传送给从机,但从机的数据却可以传送给主机
硬件连接良好,估计是程序问题,我实在找不出错误,请大虾帮我看看,程序很短的
或者能否提供确实能用的程序让我参考一下,谢谢
主机:
$MOD812         ; Use 8052 & ADuC812 predefined symbols
SS      EQU     P3.5            ; P3.5 drives slave device's SS pin
ORG 0000h
        LJMP     MAIN            ; jump to main program
ORG 003Bh ; (.................... SPI ISR)
        SETB    SS              ; pull slave's SS pin high
        MOV     A,SPIDAT
    CLR    C
        RETI
;====================================================================
                                                       ; MAIN PROGRAM
ORG 004Bh
MAIN:
    SETB    EA
    MOV    IE2,#01H
    MOV    SPICON,#30H
MASTER:
    JB    P3.4,$   
    CLR    SS
    NOP
    NOP
    NOP
    NOP
    SETB    C
    MOV    SPIDAT,#0AAH
    JC    $   
    LJMP    MASTER
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DELAY:          ; delays approximately 100ms
        PUSH    ACC
        PUSH    B
        MOV     A,#200          ; 200 * 500us = 100ms
DLY1:   MOV     B,#229          ; 229 * 2.17us = 500us
        DJNZ    B,$             ; sit here for 500us
        DJNZ    ACC,DLY1        ; repeat 200 times (100ms delay)
        POP     B
        POP     ACC
        RET

END
从机:
$MOD812         ; Use 8052 & ADuC812 predefined symbols
SS      EQU     P3.5            ; P3.5 drives slave device's SS pin
ORG 0000H
        LJMP     MAIN            ; jump to main program
ORG 0013H
    CLR    SPE
    SETB    SPE
    MOV    SPIDAT,#0BBH
    SETB    P3.2
    RETI
ORG 003BH
    MOV    A,SPIDAT
    SETB    P3.5
    CLR    C
    RETI
;====================================================================
                                                       ; MAIN PROGRAM
ORG 004Bh
MAIN:
    SETB    P3.5
    SETB    EA
    MOV    IE2,#01H
    SETB    EX0
    MOV    SPICON,#20H
    CLR    P1.5
SLAVE:   
    CLR    P3.5
    JB    P1.5,$
    CLR    P3.2
    SETB    C
    JC    $
    LJMP    SLAVE
; - - - - - - - - - - - - - - -POST http://eetop.cn/cgi-bin/post.cgi HTTP/1.0
P       ; delays approximately 100ms
        PUSH    ACC
        PUSH    B
        MOV     A,#200          ; 200 * 500us = 100ms
DLY1:   MOV     B,#229          ; 229 * 2.17us = 500us
        DJNZ    B,$             ; sit here for 500us
        DJNZ    ACC,DLY1        ; repeat 200 times (100ms delay)
        POP     B
        POP     ACC
        RET

END
发表于 2005-1-19 12:37:02 | 显示全部楼层

请问有没有做过ADUC812的SPI总线编程的,求教

很久以前做的时候也遇到这个问题,好像是spi中断处理时 sfr中有个相关标志位没有处理好
 楼主| 发表于 2005-1-20 16:05:33 | 显示全部楼层

请问有没有做过ADUC812的SPI总线编程的,求教

那么请问一下,你的以前编过的程序还有吗
实在搞不定啊,不知该如何改
发表于 2005-1-22 10:48:09 | 显示全部楼层

请问有没有做过ADUC812的SPI总线编程的,求教

得死劲找找了
 楼主| 发表于 2005-1-24 14:26:39 | 显示全部楼层

请问有没有做过ADUC812的SPI总线编程的,求教

麻烦你了
找到了就请尽快贴这吧
谢谢
发表于 2015-3-1 21:15:20 | 显示全部楼层
who know it ?!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-7-1 09:51 , Processed in 0.169612 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表