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

📄 电压表.asm

📁 基于841的电压表小程序
💻 ASM
字号:
          $MOD841
        CHAN  EQU   0
        CSEG
        SP0   EQU   50H
        CLK81 EQU   P3.5
        DAT81 EQU   P3.3
        KEY   EQU   P3.2
        NUM0  EQU   30H
        NUM1  EQU   31H
        NUM2  EQU   32H
        NUM3  EQU   33H
;--------------------------------------
        ORG    0000H
        LJMP   MAIN
        ORG    0003H
        LJMP   SERVE1
        ORG    0033H
        LJMP   SERVE2
        ORG    0060H
MAIN:   MOV    R0,#0FFH
        CLR    A
QING:   MOV    @R0,A
        DJNZ   R0,QING
        MOV    SP,#SP0
        LCALL  YS
;---------------------------------------
        LCALL  INI8281
        LCALL  INI841
        LJMP   AGAIN
;---------------------------------------
INI841: MOV    ADCCON1,#0A8H
        MOV    ADCCON2,#CHAN
        MOV    ADCCON3,#07H
        SETB   EA
        SETB   EX0
        SETB   PADC
        CLR    PX0
        RET
;----------------------------------------
INI8281:SETB   CLK81
        SETB   DAT81
        MOV    A,#12H
        LCALL  WTO81
        MOV    A,#80H
        LCALL  WTO81
        RET
;----------------------------------------
AGAIN:  ;LCALL  DELAY1
        SETB   ADCCON2.4
        LJMP   AGAIN
SERVE1: SETB   EADC
        RETI
SERVE2: MOV    R0,ADCDATAL
        MOV    R1,ADCDATAH
        LCALL  CHULI
        LCALL  XIANSHI
        RETI
;--------------------------------------
CHULI:  MOV  R3,#00H
        MOV  R2,#28H
        LCALL  CHENGJI
        MOV    NUM0,R6
        MOV  R1,41H
        MOV  R0,40H
        MOV  R3,#00H
        MOV  R2,#0AH
        LCALL  CHENGJI
        MOV    NUM1,R6
        MOV  R1,41H
        MOV  R0,40H
        MOV  R3,#00H
        MOV  R2,#0AH
        LCALL  CHENGJI
        MOV    NUM2,R6
        MOV  R1,41H
        MOV  R0,40H
        MOV  R3,#00H
        MOV  R2,#0AH
        LCALL  CHENGJI
        MOV    NUM3,R6
        RET
;-------------------------------------------------
CHENGJI:MOV  40H,#00H
        MOV  41H,#00H
        MOV  42H,#00H
        MOV  43H,#00H
;--------------
        MOV  A,R2
        MOV  B,R0
        MUL  AB
        MOV  40H,A
        MOV  41H,B
;----------------
        MOV  A,R3
        MOV  B,R0
        MUL  AB
        MOV  42H,B
        CLR  C
        ADDC A,41H
        MOV  41H,A
        JNC  NEXT1
        INC  42H
;------------------
        NEXT1:MOV  A,R2
        MOV  B,R1
        MUL  AB
        CLR  C
        ADDC A,41H
        MOV  41H,A
        MOV  A,B
        ADDC A,42H
        MOV  42H,A
        JNC  NEXT2
        INC  43H
;--------------------
NEXT2:  MOV  A,R3
        MOV  B,R1
        MUL  AB
        CLR  C
        ADDC A,42H
        MOV  42H,A
        MOV  A,B
        ADDC A,43H
        MOV  43H,A
;---------------------
        MOV  R7,43H
        MOV  R6,42H
        MOV  R5,41H
        MOV  R4,40H
        RET
;-------------------------------------------------
XIANSHI:MOV    A,#00H
        LCALL  WTO81
        MOV    A,#7FH
        LCALL  WTO81
;--------------------------------------------------
        MOV    R1,NUM0
        MOV    R0,#00H
        LCALL  ZHU_XIANSHI
;-------------------------------------
        MOV    R1,NUM1
        MOV    R0,#10H
        LCALL  ZHU_XIANSHI
;-------------------------------------
        MOV    R1,NUM2
        MOV    R0,#20H
        LCALL  ZHU_XIANSHI
;---------------------------------------
        MOV    R1,NUM3
        MOV    R0,#30H
        LCALL  ZHU_XIANSHI
        RET
;------------------------------------------
ZHU_XIANSHI:  MOV    A,#15H
              LCALL  WTO81
              MOV    A,R1
              ORL    A,R0
              LCALL  WTO81
              RET
;----------------------------------------
WTO81:	MOV	R6,#08H
WAT:	CLR	CLK81
	LCALL	DELAY
	SETB	CLK81
	JB	DAT81,WAT
	CLR	CLK81
	LCALL	DELAY
	SETB	CLK81
	JNB	DAT81,$
WTB81:	RLC	A
	MOV	DAT81,C
        CLR	CLK81
	LCALL	DELAY
	SETB	CLK81
	LCALL	DELAY
	LCALL	DELAY
	DJNZ	R6,WTB81
	SETB	DAT81
        RET
;----------------------------------------------
DELAY:  NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        RET
;-----------------------------------------------
DELAY1: MOV     R7,#200
DLY1:   MOV     R5,#55
DLY2:   MOV     R6,#50
        DJNZ    R6,$
        DJNZ    R5,DLY2
        DJNZ    R7,DLY1
        RET
;-------------------------------------------------
YS:     MOV     R5,#00H
        MOV     R4,#50H
YS1:    DJNZ    R5,$
        DJNZ    R4,YS1
        RET
        END

⌨️ 快捷键说明

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