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

📄 rdblock1.asm

📁 这是一个TEMIC卡的读卡源程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
T0INT0:     CJNE R5,#04H,T0INT1
            MOV A,R6
            CJNE A,#01H,T0INT00
            CLR P1.5

            MOV A,R1
            MOV A,@R1
            CPL A
            ANL A,#00000001B
            MOV @R1,A
            AJMP T0INT01
T0INT00:    SETB P1.5
T0INT01:    MOV R1,#10H
            MOV R6,#1
            MOV R2,#066H
            MOV A,@R0
            MOV R4,A

            AJMP  T0OUT



T0INT1:     mov a,r4
            ANL A,#00000001B
            CJNE A,#01H,T0INT3
            CLR P1.5

            MOV A,R1
            MOV A,@R1
            CPL A
            ANL A,#00000001B
            MOV @R1,A
            INC R1

            AJMP T0INT4

T0INT3:     SETB P1.5
            INC R1
            MOV A,R6
            CPL A
            ANL A,#00000001B
            MOV R6,A
T0INT4:     MOV A,R4
            RR A
            MOV R4,A
            INC R5
            AJMP T0OUT




T0DATA1:    CJNE R2,#066H,T0MAOHAO
            NOP
           ; nop
            ;nop
T0INT2:     CJNE R5,#08H,T0INT21
            MOV A,R6
            CJNE A,#01H,T0INT20
            CLR P1.5

            MOV A,R1
            MOV A,@R1
            CPL A
            ANL A,#00000001B
            MOV @R1,A
            INC R1

            AJMP T0INT22
T0INT20:    SETB P1.5
            INC R1
T0INT22:    NOP

            MOV R1,#10H
            MOV R5,#0
            MOV R6,#1
            INC R0
            MOV R2,#55H
            CJNE  R0,#DATA_ADD+4,T0INT7
            MOV R7,#10011111B
            mov r2,#22h



T0INT7:     ajmp t0out


T0INT21:    NOP
            mov a,r4
            ANL A,#00000001B
            CJNE A,#01H,T0INT5
            CLR P1.5

            MOV A,R1
            MOV A,@R1
            CPL A
            ANL A,#00000001B
            MOV @R1,A
            INC R1

            AJMP T0INT6
T0INT5:     SETB P1.5
            INC R1
            MOV A,R6
            CPL A
            ANL A,#00000001B
            MOV R6,A
T0INT6:     MOV A,R4
            RR A
            MOV R4,A
            INC R5

            AJMP T0OUT





t0maohao:   cjne r2,#22h,t0LRC
            nop

maohao0:    mov a,r7
            jb acc.0,maohao1
            setb p1.5
             INC R1
            ajmp maohao2
maohao1:    clr p1.5

            MOV A,R1
            MOV A,@R1
            CPL A
            ANL A,#00000001B
            MOV @R1,A
            INC R1


maohao2:    inc r5
            MOV A,R7
            RR a
            mov r7,a


            CJNE R5,#05H,MAOHAO3



            MOV R6,#1
            MOV R5,#0
            MOV R1,#10H
            mov r2,#88h


MAOHAO3:    ajmp t0out

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
T0LRC:     CJNE R2,#88H,T0TIP

          nop
          nop
          nop
          nop
          CJNE R1,#14H,T0LRC0

          mov r5,#1   ; LRC ODD PARITY
          mov r1,#10h

 T0LRC4:  CJNE R1,#14H,T0LRC40
          AJMP T0LRC5
 T0LRC40: mov a,@r1
          jNz T0LRC3
          INC R1

          AJMP T0LRC4
T0LRC3:   MOV A,R5
          CPL A
          ANL A,#00000001B
          MOV R5,A
          INC R1
          AJMP T0LRC4

T0LRC5:   CJNE R5,#1,T0LRC6
          CLR P1.5
          AJMP T0LRC7
T0LRC6:   SETB P1.5
T0LRC7:   NOP
          MOV R2,#0AAH
          MOV R3,#00
T0LRC8:   AJMP T0OUT


T0LRC0:   MOV A,@R1
          JZ T0LRC1
          CLR P1.5
          AJMP T0LRC2
T0LRC1:   SETB P1.5
T0LRC2:   INC R1
          ajmp t0out



T0TIP:      CJNE R2,#0AAH,T0OUT2
            setb p1.5               ; ";" 同步字符,120ms
            inc r3
            cjne r3,#22,t0out
            MOV R3,#00H
            NOP

T0OUT2:     MOV R2,#0BBH
            AJMP T0OUT


T0OUT:      ;CPL P1.4
            RETI







;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  条码仿真
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

OUTPUTB:  NOP
         MOV R0,#DATA_ADD+3
         MOV R2,#00H
       ;  LCALL DELAYL0
       ;  LCALL DELAYL0
       ;  LCALL DELAYL0
       ;  LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0

         LCALL STAR

         LCALL DELAYL0

         LCALL GET

         LCALL STAR
   ;      LCALL DELAYL0
   ;      LCALL DELAYL0
   ;      LCALL DELAYL0
   ;      LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYL0
         LCALL DELAYH1
         RET

;.........................................
GET:     NOP

         MOV A,@R0
         ANL A,#00001111B
GET0:    CJNE A,#00H,GET1
         LCALL NUM0
         LCALL DELAYL0
         AJMP GETNUM
GET1:    CJNE A,#01H,GET2
         LCALL NUM1
         LCALL DELAYL0
         AJMP GETNUM
GET2:    CJNE A,#02H,GET3
         LCALL NUM2
         LCALL DELAYL0
         AJMP GETNUM
GET3:    CJNE A,#03H,GET4
         LCALL NUM3
         LCALL DELAYL0
         AJMP GETNUM
GET4:    CJNE A,#04H,GET5
         LCALL NUM4
         LCALL DELAYL0
         AJMP GETNUM
GET5:    CJNE A,#05H,GET6
         LCALL NUM5
         LCALL DELAYL0
         AJMP GETNUM
GET6:    CJNE A,#06H,GET7
         LCALL NUM6
         LCALL DELAYL0
         AJMP GETNUM
GET7:    CJNE A,#07H,GET8
         LCALL NUM7
         LCALL DELAYL0
         AJMP GETNUM
GET8:    CJNE A,#08H,GET9
         LCALL NUM8
         LCALL DELAYL0
         AJMP GETNUM
GET9:    CJNE A,#09H,GETA
         LCALL NUM9
         LCALL DELAYL0
         AJMP GETNUM
         NOP
GETNUM:  CJNE R2,#0FFH,GETNUM1
         MOV A,@R0
         SWAP A
         MOV @R0,A
         DEC R0
         CJNE R0,#DATA_ADD-1,GETNUM2
         AJMP GETOUT
GETNUM2: MOV R2,#00H
         AJMP GET
GETNUM1: MOV R2,#0FFH
         MOV A,@R0
         SWAP A
         MOV @R0,A
         AJMP GET
GETOUT:  RET


GETA:    AJMP GETOUT
;.................................
DELAYL0:    CLR P1.5
            MOV R1,#20        ;ABOUT 250US
DELAYL00:    NOP
            NOP
            NOP
            DJNZ R1,DELAYL00

            RET
 ;;................................
 DELAYL1:   CLR P1.5
            MOV  R1,#40   ;ABOUT 750US
 DELAYL10:   NOP
            NOP
            NOP
            DJNZ  R1,DELAYL10
            RET
 ;..............................
 DELAYH0:   SETB P1.5
             MOV R1,#20           ;ABOUT 250US
 DELAYH00:    NOP
            NOP
            NOP
            DJNZ R1,DELAYH00
            RET
 ;;................................
 DELAYH1:   SETB P1.5
            MOV  R1,#40           ;ABOUT 750US
 DELAYH10:   NOP
            NOP
            NOP
            DJNZ  R1,DELAYH10
            RET
 ;..............................
 STAR:      NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            RET
 ;.................................
 NUM1:       NOP

            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS

            RET
;.................................
 NUM2:       NOP

            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS

            RET
;.................................
 NUM3:       NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS

            RET
;.................................
 NUM4:       NOP

            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS

            RET
;.................................
 NUM5:       NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS

            RET
;.................................
 NUM6:       NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL1
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS

            RET
;.................................
 NUM7:       NOP

            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS

            RET
;.................................
 NUM8:       NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS

            RET
;.................................
 NUM9:       NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS
            LCALL DELAYL1
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS

            RET
;.................................
 NUM0:       NOP

            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL0
            LCALL DELAYH1          ;BARS
            LCALL DELAYL1
            LCALL DELAYH0          ;BARS
            LCALL DELAYL0
            LCALL DELAYH0          ;BARS

            RET
 ;.................................
 ;4字节16进制数转化为5字节10进数
 ;..................................
IBTD2:  NOP
        mov 50h,40h
        mov 51h,41h
        mov 52h,42h
        mov 53h,43h
        mov 54h,44h

        CLR A
        MOV R2,#0
        MOV R3,#0
        MOV R4,#0
        MOV R5,#0
        MOV R6,#0
        MOV R7,#32
LOOP:   CLR C
        MOV A,54H
        RLC A
        MOV 54H,A

        MOV A,53H
        RLC A
        MOV 53H,A

        MOV A,52H
        RLC A
        MOV 52H,A

        MOV A,51h
        RLC A
        MOV 51H,A


        MOV A,R6
        ADDC A,R6
        DA A
        MOV R6,A

        MOV A,R5
        ADDC A,R5
        DA A
        MOV R5,A

        MOV A,R4
        ADDC A,R4
        DA A
        MOV R4,A

        MOV A,R3
        ADDC A,R3
        DA A
        MOV R3,A

        MOV A,R2
        ADDC A,R2
        DA A
        MOV R2,A

        DJNZ R7,LOOP

        MOV 50H,R2
        MOV 51H,R3
        MOV 52H,R4
        MOV 53H,R5
        MOV 54H,R6

        RET
;)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
;         T1 INT
;)))))))))))))))))))))))))))))))))))))))))))))))))))))))


T1INT:  NOP
        INC BZ
        MOV TH1,#00
        MOV TL1,#00
        RETI

⌨️ 快捷键说明

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