⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ql100.asm

📁 这是一个无线发送
💻 ASM
📖 第 1 页 / 共 2 页
字号:

     MOVLW 5
     MOVWF DATA4
KEY2_2
     CALL DRMT0.5S
     BC M_LOOP
     MOVF DATA3,1
     BNZ M_LOOP
     DECFSZ DATA4,1
     GOTO KEY2_2

     MOVLW 08H
     XORWF BIAOZI,1 
     CALL WRITEBIAOZI
     BTFSC BIAOZI,AUTO
     CALL SPK0.1MS
     CALL SPK0.1MS
     CALL DELAY0.8S
     GOTO M_LOOP   
;------------------------
KEY3
     BTFSS GPIO,ACC
     GOTO M_LOOP
     BTFSC BIAOZI,POSS
     GOTO M_LOOP
     
     MOVLW 2
     MOVWF DATA2
KEY3_4A
     MOVLW 3
     MOVWF DATA4
KEY3_4B
     CALL DRMT0.5S
     BC KEY3_8
     MOVF DATA3,1
     BNZ KEY3_8
     DECFSZ DATA4,1
     GOTO KEY3_4B
     CALL SPK0.1MS
     DECFSZ DATA2,1
     GOTO KEY3_4A
     CALL SPK0.1MS
     GOTO KEY5     ;6S
KEY3_8
     DECFSZ DATA2,1
     GOTO M_LOOP
     GOTO KEY6     ;3S  
;-------------------
KEY4 
     BTFSC BIAOZI,LOCK
     GOTO SPKJ5MS
     BTFSS GPIO,ACC
     GOTO M_LOOP

     MOVLW 5
     MOVWF DATA2
KEY4_A
     CALL DRMT0.5S
     BC M_LOOP
     
     MOVF DATA3,1
     BNZ M_LOOP
     DECFSZ DATA2,1
     GOTO KEY4_A
     INCF SOCK,1 
     MOVLW 03
     XORWF SOCK,0
     SKPNZ
     CLRF SOCK 
     MOVFW SOCK
     MOVWF DATA4
     INCF DATA4,1
KEY4_4
     CALL SPK0.1MS
     CALL DELAY
     DECFSZ DATA4,1
     GOTO KEY4_4
     MOVLW 03H
     MOVWF ADDRESS
     MOVFW SOCK
     MOVWF TMP1
     CALL EEWRITE
     MOVLW 02
     MOVWF DATA2
     GOTO KEY4_A
;----------------------
M_LOOP1
     BTFSS BIAOZI,LOCK
     GOTO M_LOOP3    
     BTFSC CNT_LW,5
     BCF FLAGS,SETACC
     BTFSC FLAGS,SETACC
     GOTO M_LOOP3
     BTFSS GPIO,SDATA
     GOTO M_LOOP1A
     MOVFW SOCK
     MOVWF CNT0
     CLRC
     RLF CNT0,1
     RLF CNT0,1
     INCF CNT0,1
M_LOOP1B
     MOVLW 1
     MOVWF DATA2
M_LOOP1B_A
     CALL DELAY1MS
     BTFSS GPIO,SDATA
     GOTO M_LOOP1A
     DECFSZ DATA2,1
     GOTO M_LOOP1B_A
     DECFSZ CNT0,1
     GOTO M_LOOP1B

     BSF FLAGS,SETACC
     BTFSS FLAGS,SPKTWO
     GOTO M_LOOP1B_1   
     GOTO SPK30MS
M_LOOP1B_1
     BSF FLAGS,SPKTWO
     GOTO SPKJ5MS
M_LOOP1A
     BTFSS GPIO,ACC
     GOTO M_LOOP3
     BTFSC FLAGS,SETACC
     GOTO M_LOOP3
     BSF FLAGS,SETACC
     BTFSS GPIO,K0
     GOTO SPK30MS
     GOTO LEARN
;--------------------
M_LOOP3
     BTFSS GPIO,ACC 
     GOTO M_LOOP4   
     BCF FLAGS,STACC
     BTFSS GPIO,K0
     GOTO M_LOOP
     GOTO LEARN
;--------------------
M_LOOP4
     BTFSS BIAOZI,PWWER
     GOTO M_LOOP
     BTFSC BIAOZI,POSS
     GOTO M_LOOP
     BTFSS BIAOZI,AUTO
     GOTO M_LOOP
     BTFSC FLAGS,STACC
     GOTO M_LOOP5
     BSF FLAGS,STACC
     CALL SET_RTCC
     MOVLW 03H
     MOVWF CNT_HI
     GOTO M_LOOP
M_LOOP5
     BTFSS CNT_HI,3
     GOTO M_LOOP 
     BCF GPIO,SKY    
     BSF BIAOZI,POSS
     CALL WRITEBIAOZI
     BCF FLAGS,STACC
     CALL SPK0.1MS
     GOTO M_LOOP
;-------------------- 
LEARN
     MOVLW 250
     MOVWF CNT0
LEARNA
     CLRWDT
     BTFSS GPIO,K0
     GOTO M_LOOP
     DECFSZ CNT0,1
     GOTO LEARNA

     CALL SPK0.1MS
     CALL SET_RTCC
LEARN1
     CALL TST_RTCC
     BTFSC CNT_HI,3
     GOTO LEARNEND
     CALL RECEIVE
     BC LEARN1
     
     MOVLW 05H
     MOVWF ADDRESS
     MOVFW CSR0
     MOVWF TMP1
     CALL EEWRITE

     INCF ADDRESS,1
     MOVFW CSR1
     MOVWF TMP1
     CALL EEWRITE
     
     INCF ADDRESS,1
     MOVFW CSR2
     MOVWF TMP1
     CALL EEWRITE
  
     CALL SPK0.1MS
LEARNEND
     CLRWDT
     BTFSC GPIO,K0
     GOTO LEARNEND  
     GOTO MAIN  
;--------------------
SPK30MS     
     MOVLW 6
     MOVWF DATA9
SPK30MS_B
     CALL SPK5MS
     BC SPKJ5MS_EXT
     DECFSZ DATA9,1
     GOTO SPK30MS_B
     GOTO SPKJ5MS_EXT
;----------------------- 
SPKJ5MS  
     BSF FLAGS,J5MS
     CALL SPK5MS
SPKJ5MS_EXT
     BCF FLAGS,J5MS
     BCF FLAGS,SPKK
     CALL SET_RTCC
     GOTO M_LOOP
;-----------------------
SPK5MS
SPKJ5MS_1
     BSF FLAGS,SPKK
     MOVLW 9
     MOVWF DATA4
SPKJ5MS_A
     CALL SPK0.1MS
     BNC SPK5MS_EXT
;*****************************
SPK_RECEIVE
     CALL SET_RTCC
SPK_RECEIVE1
     CALL TST_RTCC
     BTFSS FLAGS,J5MS
     BTFSS CNT_LW,2
     BTFSC CNT_LW,4
     GOTO SPK_RECEEXT

     CALL RECEIVE
     BC SPK_RECEIVE1
     CALL M_SEARCH
     BC SPK_RECEIVE1

     MOVLW RMK_B
     XORWF CSR3,0
     BNZ SPK_RECEIVE1
     GOTO SPK5MS_EXT
SPK_RECEEXT
     DECFSZ DATA4,1     
     GOTO SPKJ5MS_A 
     GOTO RMT_SS1
SPK5MS_EXT
     CALL DELAY0.8S
     GOTO RMT_SS2
;------------------------
SPK2_0.1MS
     CALL SPK0.1MS
     CALL DELAY0.8S
     RETLW 0
;------------------------
RMT_SS1
    BCF STATUS,C
    RETLW 0
RMT_0
RMT_SS2
    BSF STATUS,C
    RETLW 1
;---------------------
RECEIVE:  
     BTFSC GPIO,RFIN
     GOTO RMT_0  
     MOVLW 10
     MOVWF CNT0
     CLRWDT
RCV1
     BTFSC GPIO,RFIN
     GOTO RMT_0
     DECFSZ CNT0,1
     GOTO RCV1
     MOVLW 4
     MOVWF CNT1
     CLRF CNT2
     CLRF CNT0
RCV2                ;23US
     CLRWDT
     GOTO $+1
     GOTO $+1
     GOTO $+1
     GOTO $+1
     GOTO $+1
     GOTO $+1
     BTFSC GPIO,RFIN
     INCF CNT2,1
     BTFSS GPIO,RFIN
     CLRF CNT2
     BTFSC CNT2,2
     GOTO RCV3
     DECFSZ CNT0,1
     GOTO RCV2
     DECFSZ CNT1,1
     GOTO RCV2
     GOTO RMT_0
RCV3
     BTFSC CNT1,2 ;>RCV2*256
     GOTO RMT_0
     MOVLW 24
     MOVWF CNT2
RCV4
     CLRF CNT4
     CLRF CNT0
     CLRF CNT1
RCV4_HI            ;11US
     CLRWDT
     BTFSS GPIO,RFIN
     INCF CNT4,1
     BTFSC GPIO,RFIN
     CLRF CNT4
     BTFSC CNT4,3      ;11*8US
     GOTO RCV5
     INCFSZ CNT0,1
     GOTO RCV4_HI
     GOTO RMT_0
RCV5
     CLRF CNT4
RCV5_LO               ;11US
     CLRWDT
     BTFSC GPIO,RFIN
     INCF CNT4,1
     BTFSS GPIO,RFIN
     CLRF CNT4
     BTFSC CNT4,3     ;11*8US
     GOTO COMPARE
     INCFSZ CNT1,1
     GOTO RCV5_LO
     GOTO RMT_0
COMPARE
     MOVLW 80
     MOVWF CNT4
     MOVFW CNT1
     ADDWF CNT0,W
     SKPNC
     GOTO RMT_0
     SUBWF CNT4,W
     SKPNC
     GOTO RMT_0
    
     BCF FLAGS,BITIN
     MOVFW CNT1
     SUBWF CNT0,W
     SKPNC
     BSF FLAGS,BITIN
     RLF CSR0,1
     RLF CSR1,1
     RLF CSR2,1
     BCF CSR0,0
     BTFSC FLAGS,BITIN
     BSF CSR0,0
     DECFSZ CNT2,1
     GOTO RCV4

     MOVF CSR0,0
     MOVWF CSR3
     MOVLW 0FH
     ANDWF CSR3,1
     
     MOVLW 0F0H
     ANDWF CSR0,1
     GOTO RMT_SS1
;---------------------
KEY5
     SETC
     CALL DPOSS
     BC M_LOOP
KEY5_B
     MOVLW 04H
     XORWF BIAOZI,1
     CALL WRITEBIAOZI
     BTFSC BIAOZI,PWWER
     CALL SPK0.1MS
     CALL DELAY0.8S
     GOTO M_LOOP
;------------------------
COUNT1S
     MOVLW 16
     MOVWF DATA7
     CALL SET_RTCC
COUNT1S_1
     CALL TST_RTCC
     BTFSC CNT_LW,7 ; 5S
     GOTO RMT_SS2
     CALL RECEIVE
     BC COUNT1S_1
     CALL M_SEARCH
     BC COUNT1S_1
     
     MOVF CSR3,0
     XORLW RMK_A
     BNZ COUNT1S_1
     DECFSZ DATA7,1
     GOTO COUNT1S_1
     GOTO RMT_SS1
;------------------------
DPOSS
     BNC DPOSS_1A
     CALL COUNT1S
     BC DPOSS_8
DPOSS_1A
     CALL SPK0.1MS
     CALL SET_RTCC
     MOVLW 0AH
     MOVWF ADDRESS
     MOVLW RMK_A
     MOVWF DATA2
     MOVLW 04H
     MOVWF DATA5
DPOSS_2
     CALL TST_RTCC
     BTFSC CNT_HI,0 ;5S
     GOTO DPOSS_8
     CALL RECEIVE
     BC DPOSS_2
     CALL M_SEARCH
     BC DPOSS_2
DPOSS_3
     MOVFW DATA2
     XORWF CSR3,0
     BZ DPOSS_2
     CALL EEREAD

     MOVFW CSR3
     MOVWF DATA2
     XORWF TMP1,0
     BNZ DPOSS_8
     INCF ADDRESS,1
     DECFSZ DATA5,1
     GOTO DPOSS_2
     CALL SPK0.1MS
     GOTO RMT_SS1
DPOSS_8
     CALL SPK0.1MS
     CALL SPK0.1MS
     CALL SPK2_0.1MS
     GOTO RMT_SS2
;------------------------
KEY6
KEY6_B
     CLRF DATA8  
KEY6_BB
     CALL COUNT1S
     BC KEY6_D
     CALL SPK0.1MS
KEY6_A3
     CALL SET_RTCC
     MOVLW 04H
     MOVWF DATA5
     MOVLW RMK_A
     MOVWF DATA7
     MOVLW DATA1
     MOVWF FSR
KEY6_B2
     CALL TST_RTCC
     BTFSC CNT_HI,0   ;5S
     GOTO KEY6_D
     CALL RECEIVE
     BC KEY6_B2
     CALL M_SEARCH
     BC KEY6_B2
KEY6_B3
     MOVFW DATA7
     XORWF CSR3,0
     BZ KEY6_B2
     
    
     MOVF DATA8,1
     BZ KEY6_B4
     MOVFW CSR3
     XORWF IND,0
     BNZ KEY6_D
KEY6_B4
     MOVFW CSR3
     MOVWF IND
     MOVWF DATA7
     INCF FSR,1
     DECFSZ DATA5,1
     GOTO KEY6_B2
KEY6_B8
     CALL SPK0.1MS
     MOVF DATA8,1
     BNZ KEY6_B9
     INCF DATA8,1
     GOTO KEY6_BB
KEY6_B9
     MOVLW DATA1
     MOVWF FSR
     MOVLW 4
     MOVWF CNT0
     MOVLW 0AH
     MOVWF ADDRESS
KEY6_BA
     MOVFW IND
     MOVWF TMP1
     CALL EEWRITE
     INCF ADDRESS,1
     INCF FSR,1
     DECFSZ CNT0,1
     GOTO KEY6_BA
     CALL SPK0.1MS
     GOTO M_LOOP
KEY6_D
     CALL SPK0.1MS
     CALL SPK0.1MS
     CALL SPK2_0.1MS
     GOTO M_LOOP
;------------------------ 
     END
</pre></body></html>

⌨️ 快捷键说明

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