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

📄 pinlv.asm

📁 单片机程序 51频率计 电子琴 电子钟程序 按键显示程序最终成功
💻 ASM
字号:
JI   EQU   49H
SHU  EQU   48H
     ORG   0000H
     JMP   MAIN
     ORG   000BH
     JMP   INT0
     ORG   001BH
     JMP   INT1
     ORG   0100H
MAIN: MOV  SP,#90H
      MOV  R0,#00H
      MOV  R7,#0FFH
CLEAR:MOV @R0,#00H
      INC R0
      DJNZ R7,CLEAR
      MOV  SHU,#14H
      MOV  JI,#00H
      MOV  TMOD,#51H
      MOV  TL0,#0B0H
      MOV  TH0,#3CH
      MOV  TH1,#00H
      MOV  TL1,#00H
      SETB EA
      SETB ET0
      SETB ET1
      JB  P3.5,$
      JNB P3.5,$
      SETB TR1
      SETB TR0
HERE:
     ; MOV  50H,TL1
     ; MOV  51H,TH1
     ; MOV  52H,JI
      CALL BCD1
      CALL FEN
      CALL DISP
      CALL DELAY
      JMP  HERE
INT0: MOV  TL0,#0B0H
      MOV  TH0,#3CH
      DJNZ SHU,LOOP
      MOV  SHU,#14H
      CLR  TR1
      CLR  TR0
      MOV  50H,TL1
      MOV  51H,TH1
      MOV  52H,JI
      MOV  TH1,#00H
      MOV  TL1,#00H
      MOV  JI ,#00H
      SETB TR1
      SETB TR0
LOOP: RETI
INT1: INC  JI
      MOV  TH1,#00H
      MOV  TL1,#00H
      RETI
;****************************************
;HB2   功能:三字节十六进制整数转换成三字节BCD码整数

;入口条件:待转换的双字节十六进制整数在r1,R6、R7中。
;出口信息:转换后的三字节BCD码整数在r2,R3、R4、R5中。
;影响资源:PSW、A、R2~R7    堆栈需求:  2字节
 BCD1:  MOV     A,51H
        MOV     R6,A
        MOV     A,50H
        MOV     R7,A
        MOV     A,52H
        MOV     R1,A
        CLR	A	;;BCD码初始化
	MOV	R3,A
	MOV	R4,A
	MOV	R5,A
        MOV     R2,A
	MOV	58H,#18H	;;转换双字节十六进制整数
HB31:	MOV	A,r7	;;从高端移出待转换数的一位到CY中
	RLC	A
	MOV	r7,A
	MOV	A,r6
	RLC	A
	MOV	r6,A
        MOV     A,r1
        RLC     A
        MOV     r1,A
	MOV	A,R5	;;BCD码带进位自身相加,相当于乘2
	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	;;双字节十六进制数的万位数不超过6,不用调整
        MOV     A,R2
        ADDC    A,R2
        MOV R2,A
	DJNZ	58H,HB31	;;处理完16bit
        MOV     A,R2
        MOV     40H,A
        MOV     A,R3
        MOV     41H,A
        MOV     A,R4
        MOV     42H,A
        MOV     A,R5
        MOV     43H,A
        ret
;**********16转化BCD******************
FEN:   MOV  R4,43H
       MOV  R5,42H
       MOV  R6,41H
       MOV  R7,40H
       MOV  A,R4
       DA   A
       ANL  A,#0FH
       MOV  62H,A
       MOV  A,R4
       SWAP A
       ANL  A,#0FH
       MOV  61H,A
       MOV  A,R5
       DA   A
       ANL  A,#0FH
       MOV  64H,A
       MOV  A,R5
       SWAP A
       ANL  A,#0FH
       MOV  63H,A
       MOV  A,R6
       DA   A
       ANL  A,#0FH
       MOV  66H,A
       MOV  A,R6
       SWAP A
       ANL  A,#0FH
       MOV  65H,A
       MOV  A,R7
       DA   A
       ANL  A,#0FH
       MOV  68H,A
       MOV  A,R4
       SWAP A
       ANL  A,#0FH
       MOV  67H,A
       RET
DISP:  MOV  P1,#0FFH
       MOV  DPTR,#TABLE
       MOV  A,68H
       MOVC  A,@A+DPTR
       MOV  P0,A
       MOV  P1,#11111110B
       ACALL delay
       ACALL delay
       MOV  P1,#0FFH
       MOV  A,67H
       MOVC A,@A+DPTR
       MOV  P0,A
       MOV  P1,#11111101B
       ACALL delay
       MOV  P1,#0FFH
       MOV  A,65H
       MOVC A,@A+DPTR
       MOV  P0,A
       MOV  P1,#11111011B
       ACALL delay
       MOV  P1,#0FFH
       MOV  A,64H
       MOVC A,@A+DPTR
       MOV  P0,A
       MOV  P1,#11110111B
       ACALL delay
       MOV  P1,#0FFH
       MOV  A,63H
       MOVC A,@A+DPTR
       MOV  P0,A
       MOV  P1,#11101111B
       ACALL delay
       MOV  P1,#0FFH
       MOV  A,62H
       MOVC A,@A+DPTR
       MOV  P0,A
       MOV  P1,#11011111B
       ACALL delay
       RET
DELAY: MOV R7,#10H
  DL0: MOV R6,#10H
  DL60:DJNZ R6,DL60
       DJNZ R7,DL0
       RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH










⌨️ 快捷键说明

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