您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机SC1621摇控器-PIC单片机解码程序(已测试OK) 正文
SC1621摇控器-PIC单片机解码程序(已测试OK)

SC1621摇控器-PIC单片机解码程序(已测试OK)

点击数:7178 次   录入时间:03-04 11:33:32   整理:http://www.55dianzi.com   PIC单片机
CSR0A        EQU 30H         ;遥控接收32位数据暂存寄存器
CSR1A        EQU 31H         ;遥控接收32位数据暂存寄存器
CSR2A        EQU 32H         ;遥控接收32位数据暂存寄存器
CSR3A        EQU 33H         ;遥控接收32位数据暂存寄存器
;**************************************************
CONT1        EQU 7FH         ;
;**************************************************
            ORG 0000H
            GOTO MAIN
            ORG  0004H
            RETFIE           ;
            ORG  0008H
;************************************************
MAIN:
 CALL    RESET_       ;BANK0--BANK1清0

 CLRF STATUS       ;清状态寄存器口
        BSF     STATUS,RP0   ;BANK-1
;------------------------------------------------
        MOVLW   0FH          ;00001111设定:RB口不用上拉,分频器配给WDT
        MOVWF   OPTION_      ;分频比设为1:256
        MOVLW   02H          ;00000010转换结果左对齐,只选3个A/D通道RA0/AN0,RA1,RA3
        MOVWF   ADCON1       ;选择VDD和VSS作参考源
;------------------------------------------------
        MOVLW   00H
        MOVWF   TRISC        ;PORTC所有管脚设为输出
        MOVLW   01H          ;
        MOVWF   TRISB        ;RB0=输入
        MOVLW   0FFH         ;
        MOVWF   TRISA        ;
;------------------------------------------------
        BCF     STATUS,RP0   ;BANK-0
;------------------------------------------------
        MOVLW   01001001B    ;01001001选择:时钟时钟源为FOSC/8,允许ADC工作
        MOVWF   ADCON0       ;通道AN1,暂时不启动转换过程
        BCF     PIR1,  ADIF  ;清除A/D中断标志位
;------------------------------------------------
        MOVLW   00H          ;
        MOVWF   PORTC        ;
        MOVLW   0FFH         ;
        MOVWF   PORTB        ;
;*****************************************************
LOOP:
        NOP                  ;
        NOP                  ;
;*****************************************************
RCV:
        BTFSC      PORTB,RMT
        GOTO       LOOP           ;是干扰退出
        MOVLW      4
        MOVWF      CNT1           ;4*256*10us
        CLRF       CNT2
        CLRF       CNT0
RCV1:                             ;先检测引导码的9MS低电平
        GOTO       $+1            ;每一个循环10US
        NOP                       ;
        BTFSC      PORTB,RMT      ;
        INCF       CNT2,1         ;
        BTFSS      PORTB,RMT      ;
        CLRF       CNT2           ;
        BTFSC      CNT2,3         ;高电平大于8*10US=80US则为有效高电平,否则是一些干扰信号
        GOTO       RCV2           ;

        DECFSZ     CNT0,1         ;
        GOTO       RCV1           ;
        DECFSZ     CNT1,1         ;
        GOTO       RCV1           ;
        GOTO       LOOP           ;低电平大于4*256*10US=10.24MS则是错误脉冲
RCV2:
        MOVLW      3
        SUBWF      CNT1,0         ;低电平小于2*256*10US=5.12MS则是错误脉冲
        BTFSC      STATUS,C       ;

上一页  [1] [2] [3] [4] [5] [6]  下一页


本文关键字:单片机  程序  PIC单片机单片机-工控设备 - PIC单片机