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

📄 ick

📁 EEPROM记忆类IC的检测,可以设置地址,检测存储器任何地址上的数据,并带数码管显示功能
💻
📖 第 1 页 / 共 2 页
字号:
;*********************************************
; P3.0 IS LIE 1
; P3.1 IS LIE 2
; P3.2 IS LIE 3
; P3.3 IS LIE 4
; P3.4 IS HANG 1
; P3.5 IS HANG 2
; P3.6 IS HANG 3
; P3.7 IS HANG 4
;*********************************************
; 5EH SAVE LOW DATA
; 5FH SAVE HIGH DATA
; 60H SAVE LOWER ADDRESS
; 61H SAVE LOW ADDRESS
; 62H SAVE HIGH ADDRESS
; 63H SAVE HIGHER ADDRESS
; 64H SAVE SURE ADDRESS
; 65H SAVE READ_OUT_DATA OF IC1
; 66H SAVE READ_OUT_DATA OF IC2
;**********************************************
;         SCL EQU P1.0
;        SDA1 EQU P1.1
;        SDA2 EQU P1.2
;    COMP_KEY EQU P1.3
;    READ_KEY EQU P1.4
;    SURE_KEY EQU P1.5
;    NEXT_KEY EQU P1.6
;  CANCEL_KEY EQU P1.7
;      OK_KEY EQU P2.6
;   FALSE_KEY EQU P2.7
;************************************************
                  ORG 0000H
                  AJMP MAIN
                  ORG 000BH
                  AJMP ITOP
                  ORG 0100H
             MAIN:MOV TMOD,#00H     ;T0 WORK AT MODE0.
                  MOV TH0,#0D8H
                  MOV TL0,#0F0H
                  MOV 65H,#03H
                  MOV 64H,#02H
                  MOV 63H,#01H
                  MOV 62H,#00H
                  MOV 61H,#00H
                  MOV 60H,#0AH
                  MOV 5FH,#0FH
                  MOV 5EH,#0FH
                  MOV R0,#63H
                  MOV 32H,#00H
                  MOV 50H,#0FEH
                  MOV 51H,#06H
                  SETB EA
                  SETB ET0
                  SETB TR0
       JUDGE:
;             JNB P1.3,COMPARE
                  JNB P1.4,INPUT_ADDRESS
                  AJMP JUDGE
;         COM:ACALL DLY20MS
;            JNB COMP_KEY,COMPARE
;             AJMP JUDGE
;        READ:ACALL DLY20MS
;             JNB READ_KEY,INPUT_ADDRESS
;             AJMP JUDGE
;COMPARE:
;********************************************************
    INPUT_ADDRESS:JNB P1.6,NEXT
                  JNB P1.5,READ_IC
                  AJMP KEY_BOARD
             NEXT:LCALL DLY500MS
                  JNB P1.6,NEXT_ADDRESS
                  AJMP INPUT_ADDRESS
     NEXT_ADDRESS:MOV A,60H
                  CLR C
                  SUBB A,#0FH
                  JNZ ENABLE_GJIA_1
         JINGWEI1:MOV 60H,#00H
                  MOV A,61H
                  CLR C
                  SUBB A,#0FH
                  JNZ ENABLE_SJIA_1
         JINGWEI2:MOV 60H,#00H
                  MOV 61H,#00H
                  MOV A,62H
                  CLR C
                  SUBB A,#0FH
                  JNZ ENABLE_QJIA_1
         JINGWEI3:INC 63H
                  MOV 60H,#00H
                  MOV 61H,#00H
                  MOV 62H,#00H
                  AJMP INPUT_ADDRESS
    ENABLE_GJIA_1:INC 60H
                  AJMP INPUT_ADDRESS
    ENABLE_SJIA_1:INC 61H
                  AJMP INPUT_ADDRESS
    ENABLE_QJIA_1:INC 62H
                  AJMP INPUT_ADDRESS
          READ_IC:CLR TR0
      SET_ADDRESS:MOV A,61H
                  SWAP A
                  MOV @R1,60H
                  XCHD A,@R1
                  MOV 64H,A
    JUDGE_IC_TYPE:MOV A,62H
                  CLR C
                  SUBB A,#02H
                  JC READ_C04
                  MOV A,62H
                  CLR C
                  SUBB A,#04H
                  JC READ_C08
                  AJMP READ_C16
;************************************************************
         READ_C04:MOV A,62H
                  CJNE A,#00H,READ_C04SEC_PART
 READ_C04FST_PART:MOV R2,#0A0H
                  MOV R3,#0A1H
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
 READ_C04SEC_PART:MOV R2,#0A2H
                  MOV R3,#0A3H
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
;***************************************************************
         READ_C08:MOV A,62H
                  CJNE A,#02H,READ_C08SEC_PART
 READ_C08FST_PART:MOV R2,#0A4H
                  MOV R3,#0A5H
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
 READ_C08SEC_PART:MOV R2,#0A6H
                  MOV R3,#0A7H
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
;**********************************************************************
         READ_C16:MOV A,62H
                  CJNE A,#04H,ANOTHER_PARTS1
 READ_C16FST_PART:MOV R2,#0A8H
                  MOV R3,#0A9H
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
   ANOTHER_PARTS1:MOV A,62H
                  CJNE A,#05H,ANOTHER_PARTS2
 READ_C16SEC_PART:MOV R2,#0AAH
                  MOV R3,#0ABH
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
   ANOTHER_PARTS2:MOV A,62H
                  CJNE A,#06H,READ_FOURTH_PART
  READ_THIRD_PART:MOV R2,#0ACH
                  MOV R3,#0ADH
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
 READ_FOURTH_PART:MOV R2,#0AEH
                  MOV R3,#0AFH
                  LCALL COMM_READ_PRG
                  SETB TR0
                  AJMP INPUT_ADDRESS
;**********************************************************
        KEY_BOARD:MOV P3,#0F0H      ;SET LIE TO OUTPUT(LOW VOLTAGE).
             JUG0:JNB P3.4,DLY_HANG1    
             JUG1:JNB P3.5,DLY_HANG2
             JUG2:JNB P3.6,DLY_HANG3
             JUG3:JNB P3.7,DLY_HANG4
                  AJMP INPUT_ADDRESS
        DLY_HANG1:ACALL DLY20MS
                  JNB P3.4,JUG4 ;SOME KEY ON HANG1 WAS PRESSED. 
                  AJMP INPUT_ADDRESS
        DLY_HANG2:ACALL DLY20MS
                  JNB P3.5,JUG5 ;SOME KEY ON HANG2 WAS PRESSED.
                  AJMP INPUT_ADDRESS
        DLY_HANG3:ACALL DLY20MS
                  JNB P3.6,JUG6 ;SOME KEY ON HANG3 WAS PRESSED.
                  AJMP INPUT_ADDRESS
        DLY_HANG4:ACALL DLY20MS
                  JNB P3.7,JUG7 ;SOME HEY ON HANG4 WAS PRESSED.
                  AJMP INPUT_ADDRESS
             JUG4:MOV P3,#0FH  ;SET HANG TO OUTPUT(LOW VOLTAGE)
                  JNB P3.0,DLY_H1_L1 ;KEY ON HANG1 AND LIE1 WAS PRESSED?
                  JNB P3.1,DLY_H1_L2 ;KEY ON HANG1 AND LIE2 WAS PRESSED?
                  JNB P3.2,DLY_H1_L3 ;KEY ON HANG1 AND LIE3 WAS PRESSED?
                  JNB P3.3,DLY_H1_L4 ;KEY ON HANG1 AND LIE4 WAS PRESSED?
             JUG5:MOV P3,#0FH
                  JNB P3.0,DLY_H2_L1 ;KEY ON HANG2 AND LIE1 WAS PRESSED?
                  JNB P3.1,DLY_H2_L2 ;KEY ON HANG2 AND LIE2 WAS PRESSED?
                  JNB P3.2,DLY_H2_L3 ;KEY ON HANG2 AND LIE3 WAS PRESSED?
                  JNB P3.3,DLY_H2_L4 ;KEY ON HANG2 AND LIE4 WAS PRESSED?
             JUG6:MOV P3,#0FH
                  JNB P3.0,DLY_H3_L1 ;KEY ON HANG3 AND LIE1 WAS PRESSED?
                  JNB P3.1,DLY_H3_L2 ;KEY ON HANG3 AND LIE2 WAS PRESSED?
                  JNB P3.2,DLY_H3_L3 ;KEY ON HANG3 AND LIE3 WAS PRESSED?
                  JNB P3.3,DLY_H3_L4 ;KEY ON HANG3 AND LIE4 WAS PRESSED?
             JUG7:MOV P3,#0FH
                  JNB P3.0,DLY_H4_L1 ;KEY ON HANG4 AND LIE1 WAS PRESSED?
                  JNB P3.1,DLY_H4_L2 ;KEY ON HANG4 AND LIE2 WAS PRESSED?
                  JNB P3.2,DLY_H4_L3 ;KEY ON HANG4 AND LIE3 WAS PRESSED?
                  JNB P3.3,DLY_H4_L4 ;KEY ON HANG4 AND LIE4 WAS PRESSED?
                  AJMP INPUT_ADDRESS
        DLY_H1_L1:ACALL DLY500MS
                  JNB P3.0,KEY_0
                  AJMP INPUT_ADDRESS
        DLY_H1_L2:ACALL DLY500MS
                  JNB P3.1,KEY_1
                  AJMP INPUT_ADDRESS
        DLY_H1_L3:ACALL DLY500MS
                  JNB P3.2,KEY_2
                  AJMP INPUT_ADDRESS
        DLY_H1_L4:ACALL DLY500MS
                  JNB P3.3,KEY_3
                  AJMP INPUT_ADDRESS
        DLY_H2_L1:ACALL DLY500MS
                  JNB P3.0,KEY_4
                  AJMP INPUT_ADDRESS
        DLY_H2_L2:ACALL DLY500MS
                  JNB P3.1,KEY_5
                  AJMP INPUT_ADDRESS
        DLY_H2_L3:ACALL DLY500MS
                  JNB P3.2,KEY_6
                  AJMP INPUT_ADDRESS
        DLY_H2_L4:ACALL DLY500MS
                  JNB P3.3,KEY_7
                  AJMP INPUT_ADDRESS
        DLY_H3_L1:ACALL DLY500MS
                  JNB P3.0,KEY_8
                  AJMP INPUT_ADDRESS
        DLY_H3_L2:ACALL DLY500MS
                  JNB P3.1,KEY_9
                  AJMP INPUT_ADDRESS
        DLY_H3_L3:ACALL DLY500MS
                  JNB P3.2,KEY_A
                  AJMP INPUT_ADDRESS
        DLY_H3_L4:ACALL DLY500MS
                  JNB P3.3,KEY_B
                  AJMP INPUT_ADDRESS
        DLY_H4_L1:ACALL DLY500MS
                  JNB P3.0,KEY_C

⌨️ 快捷键说明

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