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

📄 ec-235old.asm

📁 此程序为电控锁程序。通电后门关上感应到门位信号
💻 ASM
字号:

    #include <P12C508A.INC>

; RAM-Variable
LRAM_0x08 equ 0x08
LRAM_0x09 equ 0x09
LRAM_0x0A equ 0x0A
LRAM_0x0C equ 0x0C
LRAM_0x0D equ 0x0D
LRAM_0x0E equ 0x0E

; Program

    Org 0x0000

;   Reset-Vector
    GOTO LADR_0x000A
    MOVLW 0x20
    MOVWF LRAM_0x08
LADR_0x0003
    CLRF LRAM_0x09
LADR_0x0004
    DECFSZ LRAM_0x09,F
    GOTO LADR_0x0004
    DECFSZ LRAM_0x08,F
    GOTO LADR_0x0003
    NOP
    RETLW 0x00
LADR_0x000A
    MOVLW 0x0F
    TRIS 6
    MOVLW 0x0F
    MOVWF GPIO
    MOVLW 0x01
    OPTION
    MOVLW 0x06
    MOVWF TMR0
LADR_0x0012
    MOVF TMR0,W
    BTFSS STATUS,Z
    GOTO LADR_0x0012
    MOVLW 0x59
    MOVWF TMR0
    BTFSS GPIO,2
    GOTO LADR_0x001A
    GOTO LADR_0x0012
LADR_0x001A
    CLRF LRAM_0x0C
    MOVF GPIO,W
    ANDLW 0x03
    MOVWF LRAM_0x0A
    MOVF LRAM_0x0A,W
    BTFSC STATUS,Z
    GOTO LADR_0x0034
    XORLW 0x01
    BTFSC STATUS,Z
    GOTO LADR_0x002C
    MOVF LRAM_0x0A,W
    XORLW 0x02
    BTFSC STATUS,Z
    GOTO LADR_0x0030
    BSF LRAM_0x0C,0
    MOVLW 0x09
    MOVWF LRAM_0x0A
    GOTO LADR_0x0035
LADR_0x002C
    BSF LRAM_0x0C,1
    MOVLW 0x06
    MOVWF LRAM_0x0A
    GOTO LADR_0x0035
LADR_0x0030
    BSF LRAM_0x0C,2
    MOVLW 0x03
    MOVWF LRAM_0x0A
    GOTO LADR_0x0035
LADR_0x0034
    BSF LRAM_0x0C,3
LADR_0x0035
    BTFSC LRAM_0x0C,3
    GOTO LADR_0x004A
LADR_0x0037
    MOVLW 0x0A
    MOVWF LRAM_0x0D
LADR_0x0039
    MOVLW 0x64
    MOVWF LRAM_0x0E
    MOVLW 0x05
    MOVWF TMR0
LADR_0x003D
    MOVF TMR0,W
    BTFSS STATUS,Z
    GOTO LADR_0x003D
    MOVLW 0x05
    MOVWF TMR0
    BTFSC GPIO,2
    GOTO LADR_0x0012
    DECFSZ LRAM_0x0E,F
    GOTO LADR_0x003D
    DECFSZ LRAM_0x0D,F
    GOTO LADR_0x0039
    DECFSZ LRAM_0x0A,F
    GOTO LADR_0x0037
LADR_0x004A
    BSF GPIO,4
    MOVLW 0x48;     72毫秒延时
    MOVWF LRAM_0x0E
    MOVLW 0x06
    MOVWF TMR0
LADR_0x004F
    MOVF TMR0,W
    BTFSS STATUS,Z
    GOTO LADR_0x004F
    MOVLW 0x06
    MOVWF TMR0
    DECFSZ LRAM_0x0E,F
    GOTO LADR_0x004F
    MOVLW 0x0A;      1秒延时
    MOVWF LRAM_0x0D
LADR_0x0058
    MOVLW 0x64
    MOVWF LRAM_0x0E
    MOVLW 0x06
    MOVWF TMR0
LADR_0x005C
    MOVF TMR0,W
    BTFSS STATUS,Z
    GOTO LADR_0x005C
    MOVLW 0x06
    MOVWF TMR0
    BTFSC GPIO,2
    GOTO LADR_0x006A
    DECFSZ LRAM_0x0E,F
    GOTO LADR_0x005C
    DECFSZ LRAM_0x0D,F
    GOTO LADR_0x0058
    BCF GPIO,4
    BTFSS GPIO,2
    GOTO LADR_0x006C
LADR_0x006A
    BCF GPIO,4
    GOTO LADR_0x0012
LADR_0x006C;6毫秒低电位脉冲
    MOVLW 0x06
    MOVWF LRAM_0x0E
    MOVLW 0x06
    MOVWF TMR0
LADR_0x0070
    MOVF TMR0,W
    BTFSS STATUS,Z
    GOTO LADR_0x0070
    MOVLW 0x06
    MOVWF TMR0
    DECFSZ LRAM_0x0E,F
    GOTO LADR_0x0070
    BSF GPIO,4
    MOVLW 0x0B;10.8毫秒高电位脉冲
    MOVWF LRAM_0x0E
    MOVLW 0x10
    MOVWF TMR0
LADR_0x007C
    MOVF TMR0,W
    BTFSS STATUS,Z
    GOTO LADR_0x007C
    MOVLW 0x10
    MOVWF TMR0
    DECFSZ LRAM_0x0E,F
    GOTO LADR_0x007C
    BCF GPIO,4
    GOTO LADR_0x006C

    Org 0x01FF

    GOTO LADR_0x000A

    End

⌨️ 快捷键说明

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