亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gdm.txt

?? 滾動碼接收源程序,用于HCS300/301
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
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
        CALL    SENDC                   ; SEND COMMAND
        MOVLW   RDCFG
        TRIS    PORTB                   ; DIO = INPUT
        MOVLW   16D                        ; 16 BITS TO READ
        MOVWF        CNT1

READ0   BSF     PORTB,CLK               ; CLOCK HIGH
        RLF     TMP2,F                  ; SHIFT LO BYTE
        BCF     TMP2,0                  ; ASSUME BIT WILL BE 1
        BTFSC   PORTB,DIO               ; READ DIO LINE
        BSF     TMP2,0                  ; COPY BIT TO REGISTER
        BCF     PORTB,CLK               ; CLOCK LOW
        RLF     TMP1,F                  ; SHIFT HI BYTE
        DECFSZ  CNT1,F                        ; LOOP COUNTER
        GOTO        READ0
        BCF     PORTB,CS                ; END READ CYCLE

        RETLW        0H

;------------------------------------------------------------------------------
;
; FUNCTION             : DECRYPT ()                                      
;
; DESCRIPTION          : DECRYPTS 32 BIT [HOP1:HOP4] USING [CSR0:CSR7]
;
; NOTE                : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
;
;------------------------------------------------------------------------------


; THE KEY USED IS A FIXED KEY WHICH IS NOT SERIAL NUMBER DEPENDANT
; THE USER MUST CHOOSE A KEY AND CHANGE THE CODE HERE TO REFLECT THAT KEY

DECRYPT
        MOVLW        0EFH                ; LOAD FIXED 64 BIT KEY LSB                
        MOVWF        KEY0
        MOVLW        0CDH
        MOVWF        KEY1
        MOVLW        0ABH
        MOVWF        KEY2
        MOVLW        089H
        MOVWF        KEY3
        MOVLW        067H
        MOVWF        KEY4
        MOVLW        045H
        MOVWF        KEY5
        MOVLW        023H
        MOVWF        KEY6
        MOVLW        01H                ; LOAD FIXED 64 BIT KEY MSB
        MOVWF        KEY7

        MOVLW   11+1            ; OUTER LOOP 11+1 TIMES 
        MOVWF   CNT1                  ; OUTER LOOP 11+1 TIMES 

DECRYPT_OUTER

        MOVLW   48              ; INNER LOOP 48 TIMES
        MOVWF   CNT0                  ; INNER LOOP 48 TIMES

DECRYPT_INNER
        CLRWDT                        ; RESET WATCHDOG TIMER
        MOVFW   CNT1                ; LAST 48 LOOPS RESTORE THE KEY
        XORLW   1               ; LAST 48 LOOPS RESTORE THE KEY
        SKPNZ                   ; LAST 48 LOOPS RESTORE THE KEY
        GOTO    ROTATE_KEY      ; LAST 48 LOOPS RESTORE THE KEY

        ; THE LOOKUP TABLE IS COMPRESSED INTO IN 4 BYTES TO SAVE SPACE
        ; USE THE 3 LOW INDEX BITS TO MAKE UP AN 8-BIT BIT MASK
        ; USE THE 2 HIGH INDEX BITS TO LOOK UP THE VALUE IN THE TABLE
        ; USE THE BIT MASK TO ISOLATE THE CORRECT BIT IN THE BYTE
        ; PART OF THE REASON FOR THIS SCHEME IS BECAUSE NORMAL TABLE LOOKUP
        ; REQUIRES AN ADDITIONAL STACK LEVEL

        CLRC                    ; CLEAR CARRY (FOR THE LEFT SHIFT)
       
        MOVLW   1               ; INITIALISE MASK = 1
        BTFSC   HOP3,3               ; SHIFT MASK 4X IF BIT 2 SET
        MOVLW   10000B          ; SHIFT MASK 4X IF BIT 2 SET
        MOVWF   MASK            ; INITIALISE MASK = 1

        BTFSS   HOP2,0               ; SHIFT MASK ANOTHER 2X IF BIT 1 SET
        GOTO    $+3
        RLF     MASK,F
        RLF     MASK,F            

        BTFSC   HOP1,0               ; SHIFT MASK ANOTHER 1X IF BIT 0 SET
        RLF     MASK,F

        ; MASK HAS NOW BEEN SHIFTED 0-7 TIMES ACCORDING TO BITS 2:1:0

        MOVLW   0               ; TABLE INDEX = 0
        BTFSC   HOP4,1
        IORLW   2               ; IF BIT 3 SET ADD 2 TO THE TABLE INDEX
        BTFSC   HOP4,6
        IORLW   4               ; IF BIT 4 SET ADD 4 TO THE TABLE INDEX

        ADDWF   PC,F            ; ADD THE INDEX TO THE PROGRAM COUNTER
                                ;  [ MUST BE IN LOWER HALF OF PAGE ]
                               
TABLE
        MOVLW   02EH            ; BITS 4:3 WERE 00
        GOTO    TABLE_END       ; END OF LOOKUP

        MOVLW   074H            ; BITS 4:3 WERE 01
        GOTO    TABLE_END       ; END OF LOOKUP

        MOVLW   05CH            ; BITS 4:3 WERE 10
        GOTO    TABLE_END       ; END OF LOOKUP

        MOVLW   03AH            ; BITS 4:3 WERE 11
                                 
TABLE_END

        ANDWF   MASK,F          ; ISOLATE THE CORRECT BIT BY ANDING WITH MASK
        MOVLW   0               ; COPY THE BIT TO BIT 7
        SKPZ                    ; COPY THE BIT TO BIT 7
        MOVLW   10000000B       ; COPY THE BIT TO BIT 7

        XORWF   HOP2,W            ; ONLY INTERESTED IN BIT HOP2,7
        XORWF   HOP4,W            ; ONLY INTERESTED IN BIT HOP4,7
        XORWF   KEY1,W                ; ONLY INTERESTED IN BIT KEYREG1,7

        MOVWF   MASK            ; STORE W TEMPORARILY (WE NEED BIT 7)
        RLF     MASK,F          ; LEFT ROTATE MASK TO GET BIT 7 INTO THE CARRY

        RLF     HOP1,F                 ; SHIFT IN THE NEW BIT
        RLF     HOP2,F
        RLF     HOP3,F
        RLF     HOP4,F

ROTATE_KEY

        CLRC                        ; CLEAR CARRY
        BTFSC   KEY7,7               ; SET CARRY IF LEFTMOST BIT SET
        SETC                    ; SET CARRY IF LEFTMOST BIT SET

        RLF     KEY0,F                 ; LEFT-ROTATE THE 64-BIT KEY 
        RLF     KEY1,F
        RLF     KEY2,F
        RLF     KEY3,F
        RLF     KEY4,F
        RLF     KEY5,F
        RLF     KEY6,F
        RLF     KEY7,F         

        DECFSZ  CNT0,F                 ; INNER LOOP 48 TIMES
        GOTO    DECRYPT_INNER   ; INNER LOOP 48 TIMES

        DECFSZ  CNT1,F                 ; OUTER LOOP 12 TIMES (11 + 1 TO RESTORE KEY)
        GOTO    DECRYPT_OUTER   ; OUTER LOOP 12 TIMES (11 + 1 TO RESTORE KEY)

        RETLW   0               ; RETURN

;------------------------------------------------------------------------------
;
; FUNCTION             : LOAD_CNT_VALS()                                      
;
; DESCRIPTION          : LOAD COUNTERS INTO WRITE BUFFERS
;
; NOTE                : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
;
;------------------------------------------------------------------------------

LOAD_CNT_VALS
        MOVFW        CNTR_HI                        ; LOAD MSB OF COUNTER
        MOVWF        TMP1
        MOVFW        CNTR_LW                        ; LOAD LSB OF COUNTER
        MOVWF        TMP2
        RETLW        0

;------------------------------------------------------------------------------
;
; FUNCTION             : RECEIVE()                                      
;
; DESCRIPTION          : RECEPTION ROUTINE FOR PWM TRANSMISSIONS
;
; NOTE                : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
;
;------------------------------------------------------------------------------

RECEIVE

;******** WAIT FOR HEADER AND CALIBRATE *******************

        BTFSS   PORTA,RFIN              ; INPUT LOW?
        GOTO    RMT_0                   ; YES; RECEIVE ERROR

        MOVLW   10                      ; 10 ms TIMER
        MOVWF   CNT1
RCV0
        MOVLW   200
        MOVWF   CNT0
RCV1
        BTFSS   PORTA,RFIN              ; [2] INPUT HIGH?
        GOTO    RCV2                    ; [0] NO, JUMP OUT OF LOOP
        DECFSZ  CNT0,1                  ; [1] YES, CONTINUE WITH TIMING LOOP
        GOTO    RCV1                    ; [2] 5 us X CNT0
        DECFSZ  CNT1,1                  ; [0] DO 1 ms LOOP CNT1 TIMES
        GOTO    RCV0                        ; [0]

RCV2
        CLRF    CNT0                    ; [1] CLEAR CALIB COUNTER LOW BYTE
        CLRF    CNT1                    ; [1] CLEAR CALIB COUNTER HIGH BYTE

;*************************************************************************
;  2.5 IS AVERAGE FOR DETECTING FALLING EDGE IN RCV1
;  2   INSTRUCTIONS FOR JUMP OUT RCV1 TO RCV2
;  2   INSTRUCTIONS FOR RCV2 - CLEAR CALIBRATION COUNTER
;  TOTAL 6.5 INSTRUCTIONS < 1 CALIBRATION LOOP SO DISCARD
;*************************************************************************

RCV3
        BTFSC   PORTA,RFIN              ; [2][2] INPUT HIGH?
        GOTO    RCV6                    ; [0][0] YES--END CALIBRATION
        INCF        CNT0,1                        ; [1] INCREMENT 16BIT COUNTER        
        SKPNZ                                      ; [2]
        INCF        CNT1,1                        ; [0]
        CLRWDT                                ; [1] RESET WATCH DOG TIMER
        NOP                                ; [1]
        BTFSS        CNT1,3                        ; [1]
        GOTO        RCV3                          ; [2]
        GOTO        RMT_0                         ; [0]
                                              ; TOTAL = 10
                                              
RCV6
        CLRC                                ; [1] DIVIDE CNT1:CNT0 BY 8 (600/8=75)
        RRF     CNT1,1                        ; [1]
        RRF     CNT0,1                        ; [1]
        RRF     CNT1,1                        ; [1]
        RRF     CNT0,1                        ; [1]
        RRF     CNT1,1                        ; [1]
        RRF     CNT0,1                  ; [1] 
                                        
        MOVLW   MIN/80                        ; [1]
        SUBWF   CNT0,W                        ; [1]
        BTFSS   STATUS,C                ; [2] NEGATIVE?
        GOTO    RMT_0                   ; [0] YES--HEADER SHORTER THAN MIN.
                                        ; TOTAL = 11
; ************* VALID HEADER RECEIVED *********************
RCV7
        MOVLW   NBITS                   ; [1] VALID START MARKER WAS RECEIVED
        MOVWF   CNT1                        ; [1]
        MOVF    CNT0,W                        ; [1]
        MOVWF   CNT2                    ; [1] CNT2 = CNT0
        MOVLW   6H                        ; [1] SEE NOTE BELOW
        SUBWF   CNT2,1                        ; [1]
        GOTO    DL1                           ; [2] COMPENSATE FOR FIRST BIT
                                        ; TOTAL = 8

;**********************************************************************************
;  2.5 IS AVERAGE PLAY BETWEEN RISING EDGE AND JUMP OUT OF CALIBRATION LOOP.
;  2   FOR JUMP OUT OF RCV3 TO RCV6
; 11   INSTRUCTIONS FOR RVC6 - CAIBRATION COUNTER DIVIDE
;  8   INSTRUCTIONS FOR RCV7 - COMPENSATE FOR POST CALIBRATION CALCUATIONS
; TOTAL 22.5 INSTRUCTIONS BETWEEN RISING EDGE AND ENTERING DL1
;  THEREFORE SUBTRACT 22.5/4 = 5.625 TO COMPENSATE FOR POST CALCULATION ON 1ST BIT
;**********************************************************************************

RCV8                                        
        MOVLW        4H                        ; [1] WAIT A MAXIMUM OF 4 Te
        MOVWF        TMP_CNT                        ; [1] SET TEMP LOOP COUNTER

RCV10A
        MOVFW        CNT0                          ; [1] and CSR processing
        MOVWF   CNT2                        ; [1] Refer to explanation above

RCV10B
        BTFSC   PORTA,RFIN              ; [2] Wait for rising edge
        GOTO    RCV11                   ; [0] Edge found--Process
        CLRWDT                          ; [1] Clear watchdog Timer
        BTFSC   PORTA,RFIN              ; [2] Wait for Next rising edge
        GOTO    RCV11                   ; [0] Edge found--Process
        DECFSZ  CNT2,1                  ; [1] Decrement Timeout counter
        GOTO    RCV10B                  ; [2] Loop Back
                                        ; TOTAL = 8, RFIN CHECKED EVERY 4uS ON AVERAGE

        DECFSZ        TMP_CNT,1                ; [1] ALL Te PERIODS
        GOTO        RCV10A                        ; [2] ... NO, THEN WAIT FOR NEXT ONE
        GOTO    RMT01                   ; [0] ... YES, [0] TIMEOUT--no edge found

RCV11
        MOVLW        3H                        ; [1]  SEE NOTE BELOW
        SUBWF        CNT0,W                        ; [1]
        MOVWF        CNT2                        ; [1]

;*************************************************************************
; 2   SETUP OF TEMP LOOP COUNTER  ( ONLY ONCE )
; 2   SETUP TE LOOP COUNTER       ( MAX 4 )
; 3   DECREMENT TEMP LOOP COUNTER ( MAX 4 )
; 4   IS THE AVERAGE PLAY BETWEEN EDGE AND EDJE BEING DETECTED IN RCV9
; 2   JUMP OUT OF RCV10B TO RCV11
; 3   FOR RCV11
; TOTAL 10 INSTRUCTIONS BETWEEN EDGE AND ENTERING DL1
; THEREFORE SUBTRACT 10/4 = 2.5 => 3 DL1 LOOPS TO COMPENSATE FOR
;*************************************************************************

DL1
        CLRWDT                          ; [1] RESET WATCHDOG TIMER
        DECFSZ  CNT2,1                  ; [1] [2, IF SKIP]
        GOTO    DL1                     ; [2] CNT0 X 4 us

SAMPLE1
        BTFSS   PORTA,RFIN              ; [2] INPUT HIGH?  FIRST SAMPLE
        GOTO    RMT01                   ; [0] NO--ERROR

        MOVF    CNT0,W                  ; [1] CALIBRATION COUNTER
        MOVWF   CNT2                    ; [1] (NOMINALLY 75 FOR 300 us PULSE)
        DECF    CNT2,1                        ; [1] SUBTRACT 2 FROM FINAL CALIB COUNTER TO COMPENATE FOR THIS
        GOTO        $+1                        ; [2]
        NOP                                ; [1]
                                        ; TOTAL = 8 => 1 LOOP COUNTER

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲图片有声小说| 三级在线观看一区二区| 欧美人伦禁忌dvd放荡欲情| 国产精品伊人色| 亚洲国产欧美另类丝袜| 国产亚洲福利社区一区| 日韩欧美一卡二卡| 欧美午夜免费电影| 91香蕉视频在线| 国产福利一区在线观看| 免费高清不卡av| 亚洲自拍另类综合| 成人免费视频在线观看| 久久精品一区四区| 日韩视频在线观看一区二区| 欧美怡红院视频| 97精品久久久午夜一区二区三区| 美女网站视频久久| 日精品一区二区| 性做久久久久久久久| 一区二区三区在线观看视频| 国产精品视频一区二区三区不卡| 精品国产乱码久久久久久牛牛| 欧洲精品中文字幕| 99久久久免费精品国产一区二区| 精品系列免费在线观看| 天使萌一区二区三区免费观看| 国产精品国产三级国产aⅴ入口| 日韩欧美一区二区三区在线| 欧美性videosxxxxx| 91在线无精精品入口| 国产精品一区专区| 国产一区二区三区不卡在线观看| 天天操天天综合网| 亚洲超碰97人人做人人爱| 日韩毛片高清在线播放| 国产精品久久久久久久久久免费看| 精品999在线播放| 久久一区二区三区四区| 国产亚洲一区二区三区在线观看| 久久久亚洲午夜电影| 久久精品视频免费| 国产精品久久久久久久久快鸭| 国产精品你懂的在线欣赏| 中文字幕中文字幕一区二区| 亚洲天堂成人在线观看| 一区二区三区高清在线| 五月开心婷婷久久| 精品写真视频在线观看| 丁香婷婷深情五月亚洲| 97精品久久久久中文字幕 | 国产精品久久久久aaaa| 亚洲欧洲精品一区二区精品久久久| 中文字幕乱码日本亚洲一区二区| 一区二区中文视频| 亚洲国产一区视频| 日本午夜一本久久久综合| 国产在线精品国自产拍免费| 粉嫩av一区二区三区| 99精品久久久久久| 欧美日韩久久久| 久久午夜电影网| 亚洲欧美在线高清| 日韩精品久久理论片| 久久99国产精品久久99| 99精品视频一区| 欧美日韩精品三区| 久久综合九色综合欧美亚洲| 国产欧美视频在线观看| 一区二区国产视频| 免费观看在线综合| av在线这里只有精品| 欧美精品三级日韩久久| 久久影院视频免费| 亚洲九九爱视频| 免费在线看一区| 91亚洲永久精品| 日韩三级免费观看| 国产精品国产三级国产a| 日韩国产在线观看| 99re成人在线| 精品欧美一区二区久久| 亚洲男同性恋视频| 激情欧美一区二区| 在线观看欧美日本| 国产欧美中文在线| 偷偷要91色婷婷| 成人av手机在线观看| 91麻豆精品国产91久久久久久久久 | 国产成人亚洲精品青草天美| 在线免费观看日本欧美| 久久久亚洲综合| 亚洲午夜电影在线| gogo大胆日本视频一区| 欧美成人国产一区二区| 亚洲影院免费观看| 成人午夜精品在线| 日韩免费高清av| 亚洲丶国产丶欧美一区二区三区| 国产激情一区二区三区桃花岛亚洲 | 高清不卡一区二区在线| 欧美一区二区在线看| 日韩一区中文字幕| 国产伦精品一区二区三区免费迷 | 69堂精品视频| 亚洲精品少妇30p| 国产91对白在线观看九色| 91精品国产色综合久久| 一区二区三区四区高清精品免费观看| 国产乱色国产精品免费视频| 91精品国产丝袜白色高跟鞋| 一区二区三区精品在线观看| 成人免费不卡视频| 久久精品亚洲国产奇米99| 看电影不卡的网站| 91精品国产高清一区二区三区 | 韩国精品久久久| 欧美福利一区二区| 亚瑟在线精品视频| 欧洲一区在线电影| 一区二区三区中文字幕| 99久久免费精品高清特色大片| 久久精品一区二区三区不卡牛牛| 蜜桃视频一区二区三区 | 2021中文字幕一区亚洲| 美国毛片一区二区三区| 在线成人免费视频| 五月天丁香久久| 欧美顶级少妇做爰| 日韩精品午夜视频| 日韩一区二区三区高清免费看看| 日本在线不卡视频| 欧美成人在线直播| 国模娜娜一区二区三区| 久久九九影视网| 成人黄色大片在线观看| 国产精品久久久久久久久久久免费看 | 日韩欧美中文字幕精品| 奇米精品一区二区三区四区 | 91精品欧美久久久久久动漫 | 国产精品毛片大码女人| 不卡的电影网站| 日韩理论片中文av| 在线观看日韩av先锋影音电影院| 一区二区三区 在线观看视频| 日本久久一区二区| 午夜影院在线观看欧美| 日韩一级片在线观看| 国产在线视频不卡二| 国产网站一区二区三区| 99re热这里只有精品免费视频| 亚洲欧美一区二区三区国产精品| 欧美亚洲日本一区| 免费看黄色91| 国产欧美精品一区二区色综合朱莉| 成人免费视频caoporn| 亚洲免费av网站| 日韩一级片在线观看| 国产99一区视频免费 | 丝袜a∨在线一区二区三区不卡| 91精品国产一区二区人妖| 黄一区二区三区| 亚洲天堂中文字幕| 91精品国产综合久久精品麻豆| 国产做a爰片久久毛片| 国产精品福利av| 欧美一区二区三区的| 国产传媒一区在线| 一级日本不卡的影视| 欧美大片一区二区| 99国产一区二区三精品乱码| 丝袜亚洲另类欧美| 中文字幕+乱码+中文字幕一区| 欧洲激情一区二区| 国产精品一区二区在线播放 | 日本麻豆一区二区三区视频| 国产日韩精品一区二区三区在线| 在线一区二区三区四区| 久久精品国产一区二区三区免费看| 国产精品成人网| 日韩女优av电影在线观看| 91一区二区三区在线观看| 蜜桃一区二区三区四区| 亚洲人成伊人成综合网小说| 制服丝袜亚洲网站| av亚洲产国偷v产偷v自拍| 美女视频一区在线观看| 亚洲欧美国产三级| 久久亚洲精品国产精品紫薇| 欧美色视频在线观看| 国产99久久精品| 老司机精品视频一区二区三区| 亚洲免费观看高清| 久久久久久99精品| 欧美一区二区三区四区视频| 91美女在线看| 风流少妇一区二区| 六月丁香综合在线视频| 亚洲一区二区在线视频| 一区在线播放视频|