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

📄 h2_3.asm

📁 这是光电编码器的汇编程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
          RET
   LP1S0: SETB	ED
          MOV	A,#80H
          ORL	DISP5,A
          CALL	ENTDIT
          JNB	ED_OK,LP1SESC
          MOV	R5,EDBUF_H
          MOV	DPTR,#LP1_H
          CALL	BYTWR_VERIFY
          MOV	R5,EDBUF_L
          MOV	DPTR,#LP1_L
          CALL	BYTWR_VERIFY
          MOV	R5,#STOREMARK
          MOV	DPTR,#LP1_M
          CALL	BYTWR_VERIFY
          SETB	BUZR
          MOV	R2,#5
          CALL	DELAYX1
          CLR	BUZR
          CLR	LP1
          SETB	F4
          RET
 LP1SESC: JB	ED_ESC,LP1SE0
          RET
  LP1SE0: CLR	LP1
          SETB	F4
 	    RET
;-----------------------------------------------------------------------------------------
  LP2SET: JB	LP2,LP2S0
          RET
   LP2S0: SETB	ED
          MOV	A,#80H
          ORL	DISP5,A
          CALL	ENTDIT
          JNB	ED_OK,LP2SESC
          MOV	R5,EDBUF_H
          MOV	DPTR,#LP2_H
          CALL	BYTWR_VERIFY
          MOV	R5,EDBUF_L
          MOV	DPTR,#LP2_L
          CALL	BYTWR_VERIFY
          MOV	R5,#STOREMARK
          MOV	DPTR,#LP2_M
          CALL	BYTWR_VERIFY
          SETB	BUZR
          MOV	R2,#5
          CALL	DELAYX1
          CLR	BUZR
          CLR	LP2
          SETB	F4
          RET
 LP2SESC: JB	ED_ESC,LP2SE0
          RET
  LP2SE0: CLR	LP2
          SETB	F4
 	    RET
;***************************************************************************************
  LIMSET: CALL	F1SEL
          CALL	LP3SET
          CALL	LP4SET
          CALL	LP5SET
          RET
;.......................................................................................
 ASKPD1:  JB	PD1,AP10
          RET
     AP10:JNB	PDSUCCESS1,AP11
          CLR	PD1
          SETB	F4
          RET
     AP11:MOV     DISP0,#67H                  ;"P"
          MOV	DISP1,#0BDH                 ;"d."
          MOV	DISP2,#8                    ;"-"
          MOV	DISP3,#8                    ;"-"
          MOV	R6,#0
          MOV	R7,#0
          SETB	ED
          CALL	ENTDIT
          JNB	ED_OK,APESC1
          CALL	PDVRF1
          RET
   APESC1:JB	ED_ESC,APE10
          RET
    APE10: CLR	PD1
           SETB	FS
           RET

 PDVRF1:  MOV	DPTR,#PD_H
          CALL	BYTRD_VERIFY
          CJNE	A,EDBUF_H,PDV10
          MOV	DPTR,#PD_L
          CALL	BYTRD_VERIFY
          CJNE	A,EDBUF_L,PDV10
          JMP	PDV11
    PDV10:MOV	A,EDBUF_H
          CJNE	A,#HIGH(PASSWORD),PDV12
          MOV	A,EDBUF_L
          CJNE	A,#LOW(PASSWORD),PDV12
    PDV11: SETB	PDSUCCESS1
          SETB	BUZR
          MOV	R2,#5
          CALL	DELAYX1
          CLR	BUZR
          RET
    PDV12: SETB	ED
          CALL	ERRSOUND      
          RET
;------------------------------------------------------------------
   ZSET:  JB	F1,ZT1
          RET
     ZT1: JNB     HL,ZT2
          JNB     ZS_EN1,ZTE0
          SETB    HH1
          CLR     HH2
          CLR     HH3
          RET
     ZT2: JNB     HU,ZT3
          JNB     ZS_EN1,ZTE0
          SETB    HH2
          CLR     HH1
          CLR     HH3      
          RET 
     ZT3: JNB      HD,ZTESC
          JNB      ZS_EN1,ZTE0
          SETB     HH3
          CLR      HH2
          CLR      HH1
   ZTESC: JB	 ESC,ZTE0
          RET
    ZTE0: RET


CSET:     JNB     HH1,C1
          MOV	DPTR,#LP3_H
          CALL	BYTRD_VERIFY
          MOV	R0,A
          MOV	DPTR,#LP3_L
          CALL	BYTRD_VERIFY
          MOV	R1,A
          JMP     C3
 C1:      JNB     HH2,C2
          MOV	DPTR,#LP4_H
          CALL	BYTRD_VERIFY
          MOV	R0,A
          MOV	DPTR,#LP4_L
          CALL	BYTRD_VERIFY
          MOV	R1,A
          JMP     C3
C2:       JNB      HH3,C3OUT
          MOV	DPTR,#LP5_H
          CALL	BYTRD_VERIFY
          MOV	R0,A
          MOV	DPTR,#LP5_L
          CALL	BYTRD_VERIFY
          MOV	R1,A

C3:       MOV	R2,#0
          MOV	R3,AR0
          MOV	R4,AR1           
          CALL	BCDBIN
          MOV     4CH,AR6
          MOV     4DH,AR7
          JB      SIGN,C3_1
          CLR	C
          MOV	A,HEIGHT_L
          SUBB	A,4DH
          MOV	A,HEIGHT_H
          SUBB	A,4CH
          JC       C3_0
          SETB     ALM_JI
          CLR      OK_Y
          CLR      ALM_SH
          SETB     OK_X
          RET
     C3_0:SETB     ALM_SH
          CLR      OK_X
          CLR      ALM_JI
          SETB     OK_Y
   C3OUT: RET
   C3_1:  CLR      ALM_JI
          SETB     OK_Y
          RET


;***************************************************************************************

   F1SEL: JB	F1,F1S0
          RET
    F1S0: MOV	DISP0,#0                  
          MOV	DISP1,#37H
          MOV	DISP2,#01H                  ;"h"                  
          
          MOV	DPTR,#DISPTAB
          MOV	R2,F1SEL_REG
          MOV	R5,#1
          MOV	R6,#3
          CLR	SEQADJ_SW
          CALL	BCDADJ_16
          SETB	SEQADJ_SW
          MOV	A,ADJBUF
          MOV	F1SEL_REG,A
         
    F1S2: CJNE	A,#1,F1S3
          SETB    HL
          CLR     HU
          CLR     HD
          MOV	DISP3,#0EH                  ;"H-L"
          MOV	DPTR,#LP3_M
          CALL	BYTRD_VERIFY
          CJNE	A,#STOREMARK,F1S2_0
          MOV	DPTR,#LP3_H
          CALL	BYTRD_VERIFY
          MOV	R6,A
          MOV	DPTR,#LP3_L
          CALL	BYTRD_VERIFY
          MOV	R7,A
          MOV	DPTR,#DISPTAB
          MOV	A,R6
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP4,A
          MOV	A,R6
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          SETB	ACC.7
          MOV	DISP5,A
          MOV	A,R7
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP6,A
          MOV	A,R7
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP7,A
          JMP	F1SENT
  F1S2_0: MOV	DISP4,#0
          MOV	DISP5,#0
          MOV	DISP6,#0
          MOV	DISP7,#0
          MOV	R6,#0
          MOV	R7,#0
          JMP	F1SENT
    F1S3: CJNE	A,#2,F1S4
          SETB    HU
          CLR     HL
          CLR     HD
          MOV	DISP3,#3EH                  ;"H-U"
          MOV	DPTR,#LP4_M
          CALL	BYTRD_VERIFY
          CJNE	A,#STOREMARK,F1S3_0
          MOV	DPTR,#LP4_H
          CALL	BYTRD_VERIFY
          MOV	R6,A
          MOV	DPTR,#LP4_L
          CALL	BYTRD_VERIFY
          MOV	R7,A
          MOV	DPTR,#DISPTAB
          MOV	A,R6
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP4,A
          MOV	A,R6
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          SETB	ACC.7
          MOV	DISP5,A
          MOV	A,R7
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP6,A
          MOV	A,R7
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP7,A
          JMP	F1SENT
  F1S3_0: MOV	DISP4,#0
          MOV	DISP5,#0
          MOV	DISP6,#0
          MOV	DISP7,#0
          MOV	R6,#0
          MOV	R7,#0
          JMP	F1SENT
    F1S4: CJNE	A,#3,F1SENT
          SETB    HD
          CLR     HU
          CLR     HL
          MOV	DISP3,#3DH                  ;"H_D"
          MOV	DPTR,#LP5_M
          CALL	BYTRD_VERIFY
          CJNE	A,#STOREMARK,F1S4_0
          MOV	DPTR,#LP5_H
          CALL	BYTRD_VERIFY
          MOV	R6,A
          MOV	DPTR,#LP5_L
          CALL	BYTRD_VERIFY
          MOV	R7,A
          MOV	DPTR,#DISPTAB
          MOV	A,R6
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP4,A
          MOV	A,R6
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          SETB	ACC.7
          MOV	DISP5,A
          MOV	A,R7
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP6,A
          MOV	A,R7
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP7,A
          JMP	F1SENT
  F1S4_0: MOV	DISP4,#0
          MOV	DISP5,#0
          MOV	DISP6,#0
          MOV	DISP7,#0
          MOV	R6,#0
          MOV	R7,#0
          JMP	F1SENT
  
  F1SENT: JB	ENT,F1SEN0
          SETB	ENT_OFF
          JMP	F1SESC
  F1SEN0: JB	ENT_OFF,F1SEN1
          RET
  F1SEN1: CLR	ENT_OFF
          MOV	A,F1SEL_REG
          CLR	F1
          CLR	ADJBUF_PS_OK
          CJNE	A,#1,F1SEN2
          SETB	LP3
          RET
  F1SEN2: CJNE	A,#2,F1SEN3
          SETB	LP4
          RET
  F1SEN3: CJNE	A,#3,F1SESC
          SETB	LP5
          RET            
  F1SESC: JB	ESC,F1SE1
          SETB	ESC_OFF
          RET
   F1SE1: JNB	ESC_OFF,F1SOUT
          CLR     HU
          CLR     HL
          CLR     HD
          CLR	ESC_OFF
          CLR	ADJBUF_PS_OK
          CLR	F1
          SETB	FS
          MOV	F1SEL_REG,#1
  F1SOUT: RET
;-----------------------------------------------------------------------------------------

  LP3SET: JB	LP3,LP3S0
          RET
   LP3S0: SETB	ED
          MOV	A,#80H
          ORL	DISP5,A
          CALL	ENTDIT
          JNB	ED_OK,LP3SESC
          MOV	R5,EDBUF_H
          MOV	DPTR,#LP3_H
          CALL	BYTWR_VERIFY
          MOV	R5,EDBUF_L
          MOV	DPTR,#LP3_L
          CALL	BYTWR_VERIFY
          MOV	R5,#STOREMARK
          MOV	DPTR,#LP3_M
          CALL	BYTWR_VERIFY
          SETB	BUZR
          MOV	R2,#5
          CALL	DELAYX1
          CLR	BUZR
          CLR	LP3
          SETB	F1
          RET
 LP3SESC: JB	ED_ESC,LP3SE0
          RET
  LP3SE0: CLR	LP3
          SETB	F1
 	  RET

;-----------------------------------------------------------------------------------------

  LP4SET: JB	LP4,LP4S0
          RET
   LP4S0: SETB	ED
          MOV	A,#80H
          ORL	DISP5,A
          CALL	ENTDIT
          JNB	ED_OK,LP4SESC
          MOV	R5,EDBUF_H
          MOV	DPTR,#LP4_H
          CALL	BYTWR_VERIFY
          MOV	R5,EDBUF_L
          MOV	DPTR,#LP4_L
          CALL	BYTWR_VERIFY
          MOV	R5,#STOREMARK
          MOV	DPTR,#LP4_M
          CALL	BYTWR_VERIFY
          SETB	BUZR
          MOV	R2,#5
          CALL	DELAYX1
          CLR	BUZR
          CLR	LP4
          SETB	F1
          RET
 LP4SESC: JB	ED_ESC,LP4SE0
          RET
  LP4SE0: CLR	LP4
          SETB	F1
 	  RET

;-----------------------------------------------------------------------------------------
 
  LP5SET: JB	LP5,LP5S0
          RET
   LP5S0: SETB	ED
          MOV	A,#80H
          ORL	DISP5,A
          CALL	ENTDIT
          JNB	ED_OK,LP5SESC
          MOV	R5,EDBUF_H
          MOV	DPTR,#LP5_H
          CALL	BYTWR_VERIFY
          MOV	R5,EDBUF_L
          MOV	DPTR,#LP5_L
          CALL	BYTWR_VERIFY
          MOV	R5,#STOREMARK
          MOV	DPTR,#LP5_M
          CALL	BYTWR_VERIFY
          SETB	BUZR
          MOV	R2,#5
          CALL	DELAYX1
          CLR	BUZR
          CLR	LP5
          SETB	F1
          RET
 LP5SESC: JB	ED_ESC,LP5SE0
          RET
  LP5SE0: CLR	LP5
          SETB	F1
 	  RET
;-----------------------------------------------------------------------------------------

;-----------------------------------------------------------------------------------------

 VIEWROQ425:
          JB	F3,VROQ425
          RET
 VROQ425: 
          CALL	RD_ENCODER
          MOV	TEMP1,R4
          MOV	TEMP2,R5
          MOV	R3,#TEMP1
          MOV	R4,#BCDBUF1
          MOV	R5,#2
          CALL	BINBCD
          MOV	DPTR,#DISPTAB
          MOV	A,BCDBUF2
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP0,A
          MOV	A,BCDBUF2
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP1,A
          MOV	A,BCDBUF3
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP2,A
          MOV	A,BCDBUF3
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP3,A

          CALL	RD_ENCODER
          MOV	TEMP1,R6
          MOV	TEMP2,R7
          MOV	R3,#TEMP1
          MOV	R4,#BCDBUF1
          MOV	R5,#2
          CALL	BINBCD
          MOV	DPTR,#DISPTAB
          MOV	A,BCDBUF2
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP4,A
          MOV	A,BCDBUF2
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP5,A
          MOV	A,BCDBUF3
          ANL	A,#0F0H
          SWAP	A
          MOVC	A,@A+DPTR
          MOV	DISP6,A
          MOV	A,BCDBUF3
          ANL	A,#0FH
          MOVC	A,@A+DPTR
          MOV	DISP7,A

          JB	ESC,VRE0
          SETB	ESC_OFF
          RET
  

⌨️ 快捷键说明

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