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

📄 ick.asm

📁 EEPROM记忆类IC的检测,可以设置地址,检测存储器任何地址上的数据,并带数码管显示功能
💻 ASM
📖 第 1 页 / 共 2 页
字号:
                  LCALL CAI_ADDRESS
                  LCALL LED_ON
                  AJMP OUT_COM
        GO_ON_COM:CJNE A,#01H,REST_COM
            CHA_1:LCALL MODE2
                  LCALL COMPARE
                  MOV 60H,#00H
                  MOV 61H,#00H
                  MOV 70H,#00H
                  INC 62H
                  LCALL MODE4
                  LCALL COMPARE
                  MOV R5,64H
                  LCALL CAI_ADDRESS
                  LCALL LED_ON
                  AJMP OUT_COM
         REST_COM:LCALL MODE2
                  LCALL COMPARE
         LOOP_COM:MOV 60H,#00H
                  MOV 61H,#00H
                  MOV 70H,#00H
                  INC 62H
                  LCALL MODE3
                  LCALL COMPARE
                  DJNZ 6EH,LOOP_COM
                  MOV 60H,#00H
                  MOV 61H,#00H
                  MOV 70H,#00H
                  INC 62H
                  LCALL MODE4
                  LCALL COMPARE
                  MOV R5,64H
                  LCALL CAI_ADDRESS
                  LCALL LED_ON
          OUT_COM:MOV 32H,#00H
                  SETB TR0
                  RET
;*************************************************************
          COMPARE:LCALL SET_ADDRESS
                  MOV 64H,R4
       COMPARE_IC:LCALL READ_IC1
                  LCALL READ_IC2
                  MOV A,65H
                  CJNE A,66H,ALARM1
    GO_ON_COMPARE:MOV A,6CH
                  CLR C
                  SUBB A,70H
                  JNZ COMPARE_IC0
                  SJMP OUT0
      COMPARE_IC0:INC 70H
                  INC 64H
                  SJMP COMPARE_IC
           ALARM1:LCALL ALARM0
                  SJMP GO_ON_COMPARE
             OUT0:RET
;*************************************************************
          READ_IC:LCALL READ_SUB
                  AJMP JUDGE
         READ_SUB:SETB TR0
                  LCALL SET_ADDRESS
                  MOV 64H,R4
    JUDGE_IC_TYPE:LCALL SET_MUL
                  LCALL COMM_READ_PRG
         OUT_READ:RET
;*************************************************************
      SUB_ADDRESS:INC 32H
                  MOV A,32H
                  CJNE A,#01H,JUGDE1
            CLIK1:MOV 60H,@R1
                  MOV R0,#60H
                  MOV 51H,#03H
                  INC R1
                  MOV 61H,#10H
                  MOV 62H,#11H
                  SETB TR0
                  AJMP OUT1
           JUGDE1:MOV A,32H
                  CJNE A,#02H,JUGDE2
            CLIK2:MOV 61H,60H
                  MOV 60H,@R1
                  MOV R0,#61H
                  MOV 51H,#04H
                  INC R1
                  MOV 62H,#10H
                  SETB TR0
                  AJMP OUT1
           JUGDE2:MOV A,32H
                  CJNE A,#03H,JUGDE3
            CLIK3:MOV 62H,61H
                  MOV 61H,60H
                  MOV 60H,@R1
                  MOV R0,#62H
                  MOV 51H,#05H
                  DEC R1
                  DEC R1
                  SETB TR0
                  AJMP OUT1
           JUGDE3:MOV 32H,#00H
                  AJMP SUB_ADDRESS
             OUT1:RET
;*************************************************************
      SET_ADDRESS:MOV A,61H
                  SWAP A
                  MOV @R1,60H
                  XCHD A,@R1
                  MOV R4,A
                  RET
;*************************************************************
            MODE1:MOV R6,68H
                  MOV R7,6AH
                  LCALL SET_CHA
                  LCALL SET_MUL
                  RET
;*************************************************************
            MODE2:MOV R6,68H
                  MOV R7,#0FFH
                  LCALL SET_CHA
                  LCALL SET_MUL
                  RET
;*************************************************************
            MODE3:MOV R6,#00H
                  MOV R7,#0FFH
                  LCALL SET_CHA
                  LCALL SET_MUL
                  RET
;*************************************************************
            MODE4:MOV R6,#00H
                  MOV R7,6AH
                  LCALL SET_CHA
                  LCALL SET_MUL
                  RET
;*************************************************************
           LED_ON:MOV 43H,#02H
              LED:CLR P2.6
                  LCALL DLY2S
                  DJNZ 43H,LED
                  RET
;*************************************************************
      CAI_ADDRESS:MOV A,R5
                  ANL A,#0FH
                  MOV 60H,A
                  MOV A,R5
                  SWAP A
                  ANL A,#0FH
                  MOV 61H,A
                  RET
;*************************************************************
          SET_CHA:MOV A,R7
                  CLR C
                  SUBB A,R6
                  MOV 6CH,A
                  RET
;*************************************************************
          SET_MUL:MOV A,62H
                  ADD A,62H
                  ADD A,#0A0H
                  MOV R2,A
                  ADD A,#01H
                  MOV R3,A
                  RET
;*************************************************************
           ALARM0:MOV 43H,#02H
               AL:CLR P2.7
                  MOV R5,64H
                  LCALL CAI_ADDRESS
                  MOV A,65H
                  ANL A,#0FH
                  MOV 5EH,A
                  MOV A,65H
                  SWAP A
                  ANL A,#0FH
                  MOV 5FH,A
                  SETB TR0
                  LCALL DLY2S
                  CLR TR0
                  MOV A,66H
                  ANL A,#0FH
                  MOV 5EH,A
                  MOV A,66H
                  SWAP A
                  ANL A,#0FH
                  MOV 5FH,A
                  SETB TR0
                  LCALL DLY2S
                  DJNZ 43H,AL
                  CLR TR0
                  RET
;*************************************************************
             ITOP:PUSH ACC
                  PUSH SP
                  PUSH P3
                  MOV TH0,#0D8H
                  MOV TL0,#0F0H
                  MOV A,@R0
                  DEC R0
                  MOV DPTR,#TAB
                  MOVC A,@A+DPTR
                  MOV P0,A
                  MOV P2,50H
                  MOV A,50H
                  RR A
                  MOV 50H,A
                  DJNZ 51H,EXIT
                  MOV R0,#63H
                  MOV 50H,#0DFH
                  MOV 51H,#06H
             EXIT:POP P3
                  POP SP
                  POP ACC
                  RETI
;*************************************************************
    COMM_READ_PRG:LCALL ST
                  MOV A,R2
                  LCALL WRBYT2
                  LCALL PULS
                  MOV A,64H
                  LCALL WRBYT2
                  LCALL PULS
                  LCALL ST
                  MOV A,R3
                  LCALL WRBYT2
                  LCALL PULS
                  LCALL RDBYT2
                  LCALL STOP
         LOW_BYTE:MOV A,65H
                  ANL A,#0FH
                  MOV 5EH,A
        HIGH_BYTE:MOV A,65H
                  ANL A,#0F0H
                  SWAP A
                  MOV 5FH,A
                  RET
;*************************************************************
         READ_IC1:LCALL ST
                  MOV A,R2
                  LCALL WRBYT1
                  LCALL PULS
                  MOV A,64H
                  LCALL WRBYT1
                  LCALL PULS
                  LCALL ST
                  MOV A,R3
                  LCALL WRBYT1
                  LCALL PULS
                  LCALL RDBYT1
                  LCALL PULS
                  LCALL STOP
                  RET
;************************************************************
         READ_IC2:LCALL ST
                  MOV A,R2
                  LCALL WRBYT2
                  LCALL PULS
                  MOV A,64H
                  LCALL WRBYT2
                  LCALL PULS
                  LCALL ST
                  MOV A,R3
                  LCALL WRBYT2
                  LCALL PULS
                  LCALL RDBYT2
                  LCALL PULS
                  LCALL STOP
                  RET
;*************************************************************
               ST:SETB P1.1
                  SETB P1.2
                  SETB P1.0
                  NOP
                  NOP
                  CLR P1.1
                  CLR P1.2
                  NOP
                  NOP
                  CLR P1.0
                  RET
           WRBYT1:MOV 54H,#08H
                  RLC A
             WLP1:MOV P1.1,C
                  RLC A
                  NOP
                  NOP
                  SETB P1.0
                  NOP
                  NOP
                  CLR P1.0
                  DJNZ 54H,WLP1
                  RET
           WRBYT2:MOV 54H,#08H
                  RLC A
             WLP2:MOV P1.2,C
                  RLC A
                  NOP
                  NOP
                  SETB P1.0
                  NOP
                  NOP
                  CLR P1.0
                  DJNZ 54H,WLP2
                  RET
             CACK:SETB P1.2
                  SETB P1.0
                  CLR F0
                  MOV A,P1
                  JNB ACC.2,CEND
                  SETB F0
             CEND:CLR P1.0
                  NOP
                  NOP
                  RET
           RDBYT1:MOV 54H,#08H
              RLP:CLR P1.0
                  NOP
                  NOP
                  MOV C,P1.1
                  RLC A
                  MOV 66H,A
                  SETB P1.0
                  DJNZ 54H,RLP
                  RET
           RDBYT2:MOV 54H,#08H
             RLP1:CLR P1.0
                  NOP
                  NOP
                  MOV C,P1.2
                  RLC A    
                  MOV 65H,A
                  SETB P1.0
                  DJNZ 54H,RLP1
                  RET
             STOP:CLR P1.1
                  CLR P1.2
                  SETB P1.0
                  NOP
                  NOP
                  SETB P1.1
                  SETB P1.2
                  NOP
                  NOP
                  CLR P1.0
                  RET
             PULS:SETB P1.0
                  NOP
                  NOP
                  CLR P1.0
                  RET
;*************************************************************
            DLY1S:MOV 42H,#10H
             EDLM:MOV 41H,#64H
             EDLN:MOV 40H,#0F9H
             EDLP:DJNZ 40H,EDLP
                  DJNZ 41H,EDLN
                  DJNZ 42H,EDLM
                  RET
            DLY2S:MOV 42H,#30H
              DLM:MOV 41H,#64H
              DLN:MOV 40H,#0F9H
              DLP:DJNZ 40H,DLP
                  DJNZ 41H,DLN
                  DJNZ 42H,DLM
                  RET
          DLY20MS:MOV 41H,#14H
             BDLM:MOV 40H,#0F9H
             BDLN:DJNZ 40H,BDLN
                  DJNZ 41H,BDLM
                  RET
         DLY100MS:MOV 42H,#01H
             CDLM:MOV 41H,#64H
             CDLN:MOV 40H,#0F9H
             CDLP:DJNZ 40H,CDLP
                  DJNZ 41H,CDLN
                  DJNZ 42H,CDLM
                  RET
         DLY500MS:MOV 42H,#05H
             ADLM:MOV 41H,#64H
             ADLN:MOV 40H,#0F9H
             ADLP:DJNZ 40H,ADLP
                  DJNZ 41H,ADLN
                  DJNZ 42H,ADLM
                  RET
      TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0F7H,0FFH
                 END

⌨️ 快捷键说明

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