[其它应用] 模拟SPI

[复制链接]
158|10
 楼主 | 2018-1-7 15:43 | 显示全部楼层 |阅读模式
有哪位大神帮忙看下69P42模拟SPI的程序有木有问题?
SPI_SENDGET_BYTE:
        PUSH_A
        LDI SPI_COUNT,04H
        ANDIM SPI_FLAG,1101B
SPI_SEND_BYTE1:
        CLR_SCK                                ;拉低时钟信号        
        LDA SPI_TMP_H,0               
        BA3 SEND_DATA_1                        ;先发送高位
        CLR_SDI
        JMP SPI_SEND_BYTE2               
SEND_DATA_1:        
        SET_SDI
SPI_SEND_BYTE2:
        NOP
        NOP
        NOP
        SET_SCK
        LDA SPI_TMP_H,0                        ;发送的数据左移
        ADDM SPI_TMP_H,0
        LDA SPI_READBYTE_L,0                ;接收的数据左移
        ADDM SPI_READBYTE_L,0        
        LDA PD,0                        ;读取SDO
        BA3 GET_DATA_1
        ANDIM SPI_READBYTE_L,1110B
        JMP SPI_GET_BYTE1
GET_DATA_1:
        ORIM SPI_READBYTE_L,0001B
SPI_GET_BYTE1:
        SBIM SPI_COUNT,01H                ;判断4位是否发送完
        BNZ SPI_SEND_BYTE1        
        LDA SPI_FLAG,0
        BA1 SPI_SENDGET_END
        LDI SPI_COUNT,04H
        ORIM SPI_FLAG,0010B                ;4位接收/发送完置位
        LDA SPI_TMP_L,0                        ;把地位赋值给高位
        STA SPI_TMP_H,0
        LDA SPI_READBYTE_L,0                ;先接收的4位数据给高位
        STA SPI_READBYTE_H,0
        JMP SPI_SEND_BYTE1
SPI_SENDGET_END:
        CLR_SCK
        POP_A
        RTNI
有什么问题没有
| 2018-1-7 15:45 | 显示全部楼层

没毛病
| 2018-1-7 15:46 | 显示全部楼层
楼主看看,程序跑飞了吧?
| 2018-1-7 15:48 | 显示全部楼层
选的4个IO口,作模拟用,分别模拟CS、SCLK、SI、SO。。。。。
| 2018-1-7 15:54 | 显示全部楼层
看不出有啥问题,楼主问题解决的怎么样了呢?
| 2018-1-7 15:56 | 显示全部楼层
当用软件模拟SPI时序时,一般情况都是主机模拟SPI时序,从机有硬件的SPI寄存器
| 2018-1-7 15:58 | 显示全部楼层

你可以先了解spi通信协议。然后根据你从机spi模式来模拟。
| 2018-1-7 16:00 | 显示全部楼层
楼主,为什么想到拉低时钟信号呢??
 楼主 | 2018-1-7 16:04 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
| 2018-1-8 08:17 | 显示全部楼层
很久不用汇编了
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

分享 快速回复 返回顶部 返回列表