您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机hcs301滚动码源程序 正文
hcs301滚动码源程序

hcs301滚动码源程序

点击数:7913 次   录入时间:03-04 11:59:32   整理:http://www.55dianzi.com   PIC单片机
    TRIS    PORTA

    BTFSS    RTCC,7            ; TEST FOR 32MS TIMEOUT    ON RTCC MSB
    RETLW    0            ; ... DO QUICK RETURN TO RECEIVE ROUTINE

; **** INCREASE 16 BIT CLOCK TIMER *******

    BCF    RTCC,7            ; CLEAR MSB OF RTCC
    INCF    CNT_LW,F        ; INCREASE 16 COUNTER
    SKPNZ                ; INCREASE UPPER BYTE IF ZERO ( OVERFLOW )
    INCF    CNT_HI,F
    RETLW    0

;------------------------------------------------------------------------------
;
; FUNCTION         : TST_TIMER()                      
;
; DESCRIPTION      : TEST 32MS TIMER AND UPDATE OUTPUTS IF REQUIRED
;
; NOTE        : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
;
;------------------------------------------------------------------------------

TST_TIMER
; ***** TEST FOR 500 MS TIMEMOUT ON OUTPUTS **********
    BTFSS    CNT_LW,4        ; TEST FOR 500 MS TIMEOUT
    GOTO    TST_30            ; ... IF NOT TEST 30S TIMEOUT

     MOV LW    0F0H
    ANDWF    PORTB,F            ; DOWN ALL PULSE OUTPUTS 

 ; ********* TEST FOR 30 S LEARN TIMEOUT *************
TST_30    BTFSS    FLAGS,LRNF
    GOTO    TST_END
    
    BTFSC    CNT_HI,2        ; TEST FOR LEARN TIMEOUT
    GOTO    RESET            ; ... IF LEARN TIMEMOUT FORCE SOFT RESET 

TST_END    
    RETLW    0H

;------------------------------------------------------------------------------
;
; FUNCTION         : SENDC ()                      
;
; DESCRIPTION      : SEND EEPROM COMMAND 
;
; NOTE        : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
;
;------------------------------------------------------------------------------

SENDC
    CLRWDT                ; RESET WATCHDOG TIMER

        BCF     PORTB,CS                ; RESET CS STATE
        BCF     PORTB,CLK               ; RESET CLK STATE
        BCF     PORTB,DIO               ; RESET DIO STATE

         MOV LW   WRCFG
        TRIS    PORTB                   ; DIO = OUTPUT
        GOTO    $+1                     ; WAIT FOR OUTPUTS TO SETTLE
        BSF     PORTB,CS                ; SELECT EEPROM
        SETC                            ; START BIT = 1
         MOV LW   9D                     ; START BIT + 8 DATA BITS
     MOV WF    CNT1

SENDC2
        SKPC                            ; TEST BIT
        BCF     PORTB,DIO               ; WRITE TO DIO
        SKPNC                           ; TEST BIT
        BSF     PORTB,DIO               ; WRITE TO DIO
        GOTO    $+1                     ; WAIT 2 US
        RLF     OUTBYT,F                ; GET NEXT BIT INTO CARRY
        BSF     PORTB,CLK               ; CLOCK HIGH

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]  下一页


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