initiicm.asm

来自「微芯公司的PIC子程序库及运算平台」· 汇编 代码 · 共 37 行

ASM
37
字号
;********************INITIICM********************
;本程序实现IIC主控方式初始化并发送起始位,时钟频率为100KHZ。

SAVEW      EQU          07FH            ;现场保护中保存W的地址
SAVES      EQU          07EH

          IFNDEF        INITIICM1
           #DEFINE      INITIICM1    
       
INITIICM   MOVLW        08H             ;初始化SSPCON,
           MOVWF        SSPCON          ;IIC主控模式
           BCF          PIR1,SSPIF

           BSF          STATUS,RP0
           BSF          TRISC,3         ;设置SCL为输入
           BSF          TRISC,4         ;设置SDA为输入
           MOVLW        80H             ;初始化SSPSTAT寄存器,
           MOVWF        SSPSTAT         ;传送速率为标准模式100KHZ
           MOVLW        09H             
           MOVWF        SSPADD          ;设定IIC时钟频率
           CLRF         SSPCON2         ;初始化SSPCON2
           BSF          PIE1,SSPIE      ;SSP中断允许
           BCF          STATUS,RP0      

           CLRF         TEMP1           ;TEMP1记录SSP中断的次数
           BSF          INTCON,GIE
           BSF          INTCON,PEIE     ;开中断
           BSF          SSPCON,SSPEN    ;SSP模块使能

           BSF          STATUS,RP0
           BCF          TRISC,3         ;设置SCL为输出
           BCF          TRISC,4    
           BSF          SSPCON2,SEN     ;产生IIC启动信号
           
           BCF          STATUS,RP0           
           RETURN
          ENDIF

⌨️ 快捷键说明

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