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

📄 gwdvp_m1.asm

📁 Alera 的8051 IP core的示例文件5个
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	  DJNZ	R2,MULNMZ
 MULNMB:  MOV	R2,AD0
	  MOV	R1,AD6
	  MOV	R0,#ADA
	  CLR	00H
 MULNML:  MOV	A,ADB
	  JZ	MULNMD
	  MOV	B,@R0
	  MUL	AB
	  ADD	A,@R1
	  MOV	@R1,A
	  JNB	00H,MULNM1
	  INC	B
 MULNM1:  MOV	A,B
	  DEC	R1
	  ADDC	A,@R1
	  MOV	@R1,A
	  MOV	00H,C
	  DEC	R0
	  DJNZ	R2,MULNML
 MULNMD:  MOV	R0,AD5
	  CLR	A
	  MOV	R2,AD2
 MULNMS:  XCH	A,@R0
	  INC	R0
	  DJNZ	R2,MULNMS
	  DJNZ	R3,MULNMB
	  RET

;  LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
KKEYI:	  LCALL KKS1	   ; KEY SCANNING PROG
          JNZ   KLK1       ;  有键盘, 转跳 KLK1
  KN1:	  LCALL DELAY
          LCALL DELAY
          SJMP  KKEYI      ;  无键,转跳 KKEYI 继续测键

KLK1:	  LCALL DELAY
          LCALL DELAY
          LCALL KKS1
          JNZ   KLK2       ;  确实有键,转跳至 KLK2
          LCALL DELAY
          SJMP  KKEYI
                          ; --------------------------------------------
KLK2:	  MOV   P1,#0FEH		      ; THERE IS KEYI
          NOP
          JB    P1.4,NOK1
          MOV   A,#00H
          LJMP  GOHM
NOK1:     NOP
          JB    P1.5,NOK2
          MOV   A,#01H
          LJMP  GOHM
NOK2:     NOP
          JB    P1.6,NOK3
          MOV   A,#02H
          LJMP  GOHM
NOK3:     NOP
          JB    P1.7,NOK4
          MOV   A,#03H
          LJMP  GOHM
NOK4:     NOP
                         ; ---------------------------------------------

	  MOV   P1,#0FDH		      ; THERE IS KEYI
          NOP
          JB    P1.4,NOK5
          MOV   A,#04H
          LJMP  GOHM
NOK5:     NOP
          JB    P1.5,NOK6
          MOV   A,#05H
          LJMP  GOHM
NOK6:     NOP
          JB    P1.6,NOK7
          MOV   A,#06H
          LJMP  GOHM
NOK7:     NOP
          JB    P1.7,NOK8
          MOV   A,#07H
          LJMP  GOHM
NOK8:     NOP
                         ; ---------------------------------------------

          MOV   P1,#0FBH		      ; THERE IS KEYI
          NOP
          JB    P1.4,NOK9
          MOV   A,#08H
          LJMP  GOHM
NOK9:     NOP
          JB    P1.5,NOKA
          MOV   A,#09H
          LJMP  GOHM
NOKA:     NOP
          JB    P1.6,NOKB
          MOV   A,#0AH
          LJMP  GOHM
NOKB:     NOP
          JB    P1.7,NOKC
          MOV   A,#0BH
          LJMP  GOHM
NOKC:     NOP
                         ; ---------------------------------------------
          MOV   P1,#0F7H		      ; THERE IS KEYI
          NOP
          JB    P1.4,NOKD
          MOV   A,#0CH
          LJMP  GOHM
NOKD:     NOP
          JB    P1.5,NOKE
          MOV   A,#0DH
          LJMP  GOHM
NOKE:     NOP
          JB    P1.6,NOKF
          MOV   A,#0EH
          LJMP  GOHM
NOKF:     NOP
          JB    P1.7,NOKR
          MOV   A,#0FH
          LJMP  GOHM
NOKR:     RET
                         ; ---------------------------------------------

GOHM:     PUSH   ACC
KLK3:	  LCALL DELAY
          LCALL KKS1
          JNZ   KLK3
          LCALL DELAY
          LCALL KKS1
          JNZ   KLK3
          POP   ACC
          RET

 KKS1:    MOV   P1,#0F0H        ; IS THERE ANY
          NOP
          NOP
          NOP
          NOP
          NOP
          MOV   A,P1
          ORL   A,#0FH
          CPL   A
          RET       ;  IF THERE IS KEYING THEN A =/= 0; 如果A=0表示没有任何键
;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

 ; TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
 BCDHEX : NOP		       ; N BYTES COMPRESSED BCD CODES TO M BYTES HEX CODES
	  MOV	     30H,#07H  ; HERE N=M=7	   BCD(49,4A,4B,4C,4D,4E,4FH)--HEX(59,5A,5B,5C,5D,5E,5FH)
	  MOV	     31H,#07H  ; BCD码向16进制HEX码转换程序
	  MOV	     R1,#ADB
	  MOV	     R2,AD1
	  MOV	     R3,AD0
	  MOV	     A,#ADA
	  CLR	     C
	  SUBB	      A,R3
	  INC	     A
	  MOV	     R0,A
  DBNZ:   MOV	     @R1,#00H
	  DEC	     R1
	  DJNZ	      R2,DBNZ
	  SJMP	      DBNB
  DBNJ:   MOV	     R1,#ADB
	  MOV	     R2,AD1
	  CLR	     00H
	  CLR	     A
  DBNM:   XCH	     A,@R1
	  MOV	     B,#64H
	  MUL	     AB
	  MOV	     C,00H
	  ADDC	      A,@R1
	  MOV	     @R1,A
	  MOV	     00H,C
	  MOV	     A,B
	  DEC	     R1
	  DJNZ	      R2,DBNM
 DBNB:		CLR	   A
	  XCHD	      A,@R0
	  XCH	     A,@R0
	  SWAP	      A
	  MOV	     B,#0AH
	  MUL	     AB
	  ADD	     A,@R0
	  INC	     R0
 DBNA:		MOV	   R2,AD1
	  DEC	     R2
	  MOV	     R1,#ADB
	  ADD	     A,@R1
	  MOV	     @R1,A
 DBNL:		DEC	   R1
	  CLR	     A
	  ADDC	      A,@R1
	  MOV	     @R1,A
	  DJNZ	      R2,DBNL
	  DJNZ	      R3,DBNJ
	  RET
	  DB	      02H,12H

; llllllllllllllllllllllllllllllllllllllllllll
HEXBCD :  NOP			 ; 7 BYTE HEX TO 8 BYTE BCD : HEX(3XH-30H)-->BCD(4XH-40H)
  MUBTD:  MOV	     R0,#40H
	  MOV	     R7,#08H
	  CLR	     A
  LOPP1:  MOV	     @R0,A
	  INC	     R0
	  DJNZ	     R7,LOPP1

	  MOV	     R7,#38H
 LOOP4:   MOV	     R1,#30H
	  MOV	     R6,#07H
	  CLR	     C

  LOPP2:  MOV	     A,@R1
	  RLC	     A
	  MOV	     @R1,A
	  INC	     R1
	  DJNZ	     R6,LOPP2

	  MOV	     R5,#08H
	  MOV	     R0,#40H

  LOOP3:  MOV	     A,@R0
	  ADDC	     A,@R0
	  DA	     A
	  MOV	     @R0,A
	  INC	     R0
	  DJNZ	     R5,LOOP3
	  DJNZ	     R7,LOOP4
	  RET

      ;
;llllllllllllllllllllllllllllllllllllll

DSP1:	MOV     R1,40H
	INC     R1
        MOV     40H,R1
        MOV     A,@R1 ; DAT1
	MOV	P1,A
	SETB	RS
	CLR	RW
        nop
	CLR	E
        NOP
        NOP
	SETB	E
        LCALL   DDT9
        DJNZ	R2,DSP1
	RET

ENABLE:	CLR	RS
	CLR	RW
	MOV	P1,DAT
	CLR	E
        nop
	SETB	E
        LCALL   DDT9
	RET


ASC1:    MOV    DPTR,#TAJ
          MOVC   A,@A+DPTR
          RET
 TAJ:     DB     30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H
; KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
 ASC:     MOV    DPTR,#TA6
          MOVC   A,@A+DPTR
          RET
 TA6:     DB     30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,20H,48H,7AH,4DH
          DB     0E4H,73H,2EH  ;   0EH- u  ; 0FH- s  ;10H ->.


DISP3:	MOV	DAT,#38H ;8bit 2 Rol 5*7
	LCALL	ENABLE
	MOV	DAT,#0FH	;OPEN LCD : 00001DCB
	LCALL	ENABLE
	MOV	DAT,#06H	;LEFT TO RIGHT:
	LCALL	 ENABLE
	RET

       ;
;
   FB1:   MOV    R4,#14H
          MOV    R6,#00H
    RC5:  MOV    A,R6
          INC    R6
          MOVC   A,@A+DPTR
          MOV    B,R5
          INC    R5
          LCALL  DISP2
          DJNZ   R4,RC5
          RET

TC1:      DB     20H,20H,53H,49H,47H,4EH,41H,4CH,20H,54H,65H,73H,74H,73H,20H,20H
          ;                  SIGNAL_TESTS

;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
   FB6:   MOV    R4,#0AH  ; SQUARE: ,SAWTOOTH , TRIANGLE, LADDER
          MOV    R6,#00H
   RCV:   MOV    A,R6
          INC    R6
          MOVC   A,@A+DPTR
          MOV    B,R5
          INC    R5
          LCALL  DISP2
          DJNZ   R4,RCV
          RET

  KONX:    DB     20H,20H,20H,20H,4BH,4FH,4EH,58H,49H,4EH ; KONXIN

;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
 FCN9:   MOV    R4,#05H ;
          MOV    R6,#00H
   RCT9:  MOV    A,R6
          INC    R6
          MOVC   A,@A+DPTR
          MOV    B,R5
          INC    R5
          LCALL  DISP2
          DJNZ   R4,RCT9
          RET
  ;
  FN_A :  DB     46H,52H,45H,51H,3AH   ; FREQ:
  FN_B :  DB     50H,57H,20H,20H,3AH   ; PW  :
  FN_C :  DB     44H,55H,54H,59H,3AH   ; DUTY:

  ;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
    ;
WW45:    MOV    A,20H
          SJMP   OOLK
 DISP2:   MOV    20H,A
          CJNE   A,#3AH,NNO3A
          SJMP   OOLK
 NNO3A:   ANL    A,#0F0H
          CJNE   A,#30H,WW45
          MOV    A,20H
          ANL    A,#0FH
 OOLK:    MOV    R0,B
          MOV    @R0,A

          MOV    DAT,B  ; B是地址;A是显示数据
          MOV    A,20H
          LCALL	 ENABLE
	  MOV	 P1,A
          SETB	 RS
	  CLR	 RW
          nop
	  CLR	 E
          nop
	  SETB   E
          LCALL  DDT9
          RET

DISPV:    MOV    DAT,B  ; B是地址;A是显示数据
          LCALL	 ENABLE
	  MOV	 P1,A
          SETB	 RS
	  CLR	 RW
          nop
	  CLR	 E
          nop
	  SETB   E
          LCALL  DDT9
          RET
       ;
;JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
DELAY:   MOV   R1,#0FH  ;    9H
  WWW:   MOV   R0,#0FFH
  NMN:   DJNZ  R0,NMN
         DJNZ  R1,WWW
	 RET

  WWA:   MOV   R0,#0F0H
  NMA:   DJNZ  R0,NMA
         DJNZ  R1,WWA
	 RET


DDT9:   MOV   R3,#1FH
DDT8:   MOV   R2,#0FFH
DDT7:   DJNZ  R2,DDT7
        DJNZ  R3,DDT8
        RET

H4F20:  MOV    4FH,20H
        MOV    4EH,21H
        MOV    4DH,22H
        MOV    4CH,23H
        MOV    4BH,24H
        MOV    4AH,#00H
        MOV    49H,#00H
        RET

H5AT4A: MOV    4AH,5AH
        MOV    4BH,5BH
        MOV    4CH,5CH
        MOV    4DH,5DH
        MOV    4EH,5EH
        MOV    4FH,5FH
        RET

  ; hhhhhhhhhhhhJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
 ; PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP


  H5A27:  MOV    5AH,#00H
          MOV    5BH,#00H
          MOV    5CH,27H
          MOV    5DH,26H
          MOV    5EH,25H
          MOV    5FH,24H
          RET

  H5A23:  MOV    5AH,#00H
          MOV    5BH,#00H
          MOV    5CH,23H
          MOV    5DH,22H
          MOV    5EH,21H
          MOV    5FH,20H
          RET
; JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ



  NL0:    MOV    R2,#05H
  NL1:    CLR    A
          MOV    @R1,A
          INC    R1
          DJNZ   R2,NL1
          RET

 ;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
  SEND8:  MOV    R2,#0CH
  SEND7:  MOV    R0,#44H
          MOV    R1,#54H
  RRQ9:   MOV    A,@R1
          INC    R1
          MOV    @R0,A
          INC    R0
          DJNZ   R2,RRQ9
          RET

  RRQ10:  MOV    R2,#07H
   WWE4:  MOV    A,@R1
          DEC    R1
          MOV    @R0,A
          INC    R0
          DJNZ   R2,WWE4
          RET


  DDD:    MOV   30H,#07H
  GNN:    LCALL DDX
          DJNZ  30H,GNN
          RET


  DDX:    MOV   21,#0FFH
  WWWA:   MOV   20,#0FFH
  NMNA:   DJNZ  20,NMNA
          DJNZ  21,WWWA
          RET
   ;---------------------------------------------------------------
   DPTR1: CLR   C
          MOV   A,DPL
          SUBB  A,#01H

⌨️ 快捷键说明

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