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

📄 spis.asm

📁 PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用
💻 ASM
字号:
;********************SPIS********************
;本程序实现SPI从动方式发送并接受一个字节数据。
;入口参数:待发送的数据在SOU中。
;出口参数:接收到的数据在SOU中。
;占用资源:W,STATUS,024H,07FH,07EH,17FH,SSP模块,二重堆栈。
;说明:    1.使用该程序需在中断入口程序中填入如下两条指令
;           BTFSC	PIR1,SSPIF
;           GOTO	SSPINT1
;          3.同步时钟频率为FOSC/64

           IFNDEF       SPIS1
            #DEFINE     SPIS1

SAVEW      EQU          07FH            ;现场保护中保存W的地址
SAVES      EQU          07EH
            
SPIS       BSF          STATUS,RP0
           MOVLW        11011111B
           MOVWF        TRISC           ;SCK输入,SDO输出,SDI输入
           CLRF         SSPSTAT         ;清除CKE,SMP位
           BSF          PIE1,SSPIE      ;SSP中断允许
           BCF          STATUS,RP0      
           MOVLW        00110101B       ;设置SSP控制方式:取FOSC/64,SPI主控,CKP=1
           MOVWF        SSPCON
           BCF          PIR1,SSPIF
           BSF          INTCON,GIE
           BSF          INTCON,PEIE     ;开中断
           MOVF         SOU,W
           MOVWF        SSPBUF          ;开始发送和接收
           RETURN
;*****************接收中断服务程序***************
SSPINT1    MOVWF        SAVEW
           SWAPF        STATUS,W
           CLRF         STATUS
           MOVWF        SAVES           ;保护现场

           BCF          PIR1,SSPIF
           MOVF         SSPBUF,W
           MOVWF        SOU             ;接收到数据

           SWAPF        SAVES,W
           MOVWF        STATUS
           SWAPF        SAVEW,F
           SWAPF        SAVEW,W         ;恢复现场
           RETFIE
          ENDIF

⌨️ 快捷键说明

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