⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spieerd.asm

📁 PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用
💻 ASM
字号:
;********************SPIEERD********************
;本程序实现从SPI类型EEPROM中读取多字节数据。
;入口参数:数据在EEPROM中的地址在SADRH:SADR中,目标RAM的首地址为DADR,字节数在W中。
;出口参数:相关数据已读取到指定RAM单元中。
;占用资源:W,STATUS,FSR,RB1,020H,021H,022H,023H,SSP模块,1重堆栈
;说明:    同步时钟频率为FOSC/64

           IFNDEF       SPIEERD1
            #DEFINE     SPIEERD1

CS         EQU          1               ;EEPROM的CS端连到单片机的RB1
            
SPIEERD    MOVWF        CNT             ;保存字节数
           MOVF         DADR,W
           MOVWF        FSR             ;RAM首地址
           BSF          STATUS,RP0
           MOVLW        11010111B
           MOVWF        TRISC           ;SCK输出,SDO输出,SDI输入
           MOVLW        0FDH
           ANDWF        TRISB,F         ;RB1为输出
           CLRF         SSPSTAT         ;清除SMP,CKE位
           BCF          PIE1,SSPIE      ;SSP中断禁止
           BCF          STATUS,RP0      
           MOVLW        00110010B       ;设置SSP控制方式:取FOSC/64,SPI主控,CKP=1
           MOVWF        SSPCON
           BCF          PIR1,SSPIF          
           BCF          PORTB,CS
           MOVLW        03H             ;READ指令
           MOVWF        SSPBUF          
           BTFSS        PIR1,SSPIF      ;READ指令传送完毕?
           GOTO         $-1
           BCF          PIR1,SSPIF
           MOVF         SADRH,W         ;数据地址高位
           MOVWF        SSPBUF
           BTFSS        PIR1,SSPIF      ;地址高位传送完毕?
           GOTO         $-1
           BCF          PIR1,SSPIF
           MOVF         SADR,W
           MOVWF        SSPBUF
           BTFSS        PIR1,SSPIF      ;地址低位传送完毕?
           GOTO         $-1
           BCF          PIR1,SSPIF
NEXT64     CLRW
           MOVWF        SSPBUF          ;开始接收数据
           BTFSS        PIR1,SSPIF      ;第一个数据接收完毕?
           GOTO         $-1
           BCF          PIR1,SSPIF
           MOVF         SSPBUF,W
           MOVWF        INDF
           INCF         FSR,F
           DECFSZ       CNT,F
           GOTO         NEXT64   
           BSF          PORTB,CS   
           RETURN
          ENDIF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -