RSS

滚动码解码源程序

来源:网络 作者:未知 时间:2007-01-05 Tag: 点击:


        BCF     PORTB,CS                ; END COMMAND, DESEL

ECT

; ******** WRITE 16-BIT WORD TO EEPROM *********

WRITE1  MOVFW   ADDRESS   ; GET EEPROM ADDRESS
 MOVWF OUTBYT
        BSF     OUTBYT,6  ; WRITE COMMAND
        CALL    SENDC                   ; SEND COMMAND TO EEPROM

 MOVLW 16D   ; 16 DATA BITS
        MOVWF   CNT1                

WRITE2
        BTFSS   TMP1,7   ; TEST MSB OF 16 BIT WORD
        BCF     PORTB,DIO  ; SET DATA BIT
        BTFSC   TMP1,7   ; ... ELSE
        BSF     PORTB,DIO               ; CLEAR DATA BIT
        GOTO    $+1                     ; WAIT 2 US
        RLF     TMP2,F                  ; SHIFT LO BYTE
        BSF     PORTB,CLK               ; CLOCK HIGH
        GOTO    $+1                     ; WAIT 2 US
        RLF     TMP1,F                  ; SHIFT HI BYTE
        BCF     PORTB,CLK               ; CLOCK LOW
 DECFSZ CNT1,F
        GOTO WRITE2              ; LOOP COUNTER

WAITACK
        BCF     PORTB,CS                ; END OF WRITE COMMAND, DESELECT

        MOVLW   RDCFG
        TRIS    PORTB   &nbs

p;               ; DIO = INPUT
        BSF     PORTB,CS  ; CS HIGH TO WAIT FOR ACK
WRITE5  
 BTFSC PORTB,DIO  ; CHECK FOR ACK
 GOTO WRITE6   ; WDT RESET ON NO ACK
 GOTO WRITE5

WRITE6  BCF     PORTB,CS                ; END OF ACK

; ******* EEPROM WRITE DISABLE ****************
        MOVLW   000H              ; WRITE DISABLE COMMAND
 MOVWF OUTBYT
        CALL    SENDC
        BCF     PORTB,CS                ; END OF DISABLE COMMAND, DESELECT

 INCF ADDRESS,F      ; POINT TO NEXT EEPROM ADDRESS ( BY DEFAULT )
 RETLW 0H

;------------------------------------------------------------------------------
;
; FUNCTION      : EEREAD ()          
;
; DESCRIPTION   : READ 16 BIT VALUE FROM EEPROM
;
; NOTE  : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
;
;------------------------------------------------------------------------------

EEREAD
        MOVFW   ADDRESS
        MOVWF OUTBYT
        BSF     OUTBYT,7                ; COMMAND = READ
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
教程下载