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

📄 页写.asm

📁 常用子程序-61个-4.2M.rar
💻 ASM
字号:
 ORG   0000H
 AJMP MAIN
 ORG  0030H
MAIN:
      WORDADRR EQU   30H          ;WORDADRR EQU   30H
      DATEADDR EQU   30H
      MOV A,#01H
      MOV R7,#08H
      MOV R1,#30H
  KK:    MOV @R1,A
      INC A
      INC R1
      DJNZ R7,KK
     ACALL WRITE

      MOV 72H,#100
LOOP3:MOV 71H,#100
LOOP1:MOV 70H,#47
LOOP0:DJNZ 70H,LOOP0
      NOP
      DJNZ 71H,LOOP1
      MOV 70H,#46
LOOP2:DJNZ 70H,LOOP2
      NOP
      DJNZ 72H,LOOP3
      MOV 70H,#48
LOOP4:DJNZ 70H,LOOP4


     ACALL READ_8
     LJMP RETURN



  WRITE:ACALL     STA   ;8字节发送
      MOV A,#0A0H
      ACALL SLA8
      ACALL CACK
      JNB  ACC.1 ,PP1
      LJMP ERR

 PP1: MOV  A,#WORDADRR
     ACALL   SLA8
     ACALL   CACK
      JNB  ACC.1,PP2
      LJMP    ERR
   PP2:MOV R0,#DATEADDR
       MOV R6,#08H
   PP4: MOV A,@R0
      ACALL SLA8
      ACALL CACK
      JNB  ACC.1,PP3
      LJMP ERR
   PP3:INC R0
      DJNZ R6,PP4
      ACALL   STOP
RET

READ_8:ACALL STA          ;序列读8字节
       MOV A,#0A0H
       ACALL SLA8
       ACALL CACK
        JNB  ACC.1,PP5
      LJMP ERR
   PP5:MOV A,#WORDADRR
      ACALL SLA8
      ACALL  CACK
       JNB  ACC.1,PP6
      LJMP ERR
   PP6:ACALL STA
      MOV A,#0A1H
      ACALL  SLA8
      ACALL  CACK
       JNB  ACC.1,PP7
      LJMP ERR
   PP7: MOV R0,#40H
       MOV R6,#07H
  PP9:     ACALL RLA8

      MOV @R0 ,A
      
     

      ACALL MACK
      
     ;  JNB  ACC.1,PP8
     ; LJMP ERR
    PP8: INC R0
        DJNZ R6,PP9
       ACALL RLA8
        MOV @R0 ,A
        ACALL MNACK
        ACALL STOP
        RET

SLA8:	MOV R7,#08H      ;发送8 位
BACK:  
        RLC		A
	JC		NEXT
	ACALL	MACK
        AJMP    LOOP23
NEXT:	ACALL	MNACK
LOOP23:	DJNZ	R7,BACK
	RET


RLA8:	MOV R7,#08H
             ;接收8位
 BACK1: SETB  P1.1
        SETB  P1.0
        NOP
        NOP
        NOP
        NOP
        MOV C,P1.1
 	  RLC 		A
          CLR P1.0

       DJNZ	R7,BACK1
       ;CLR   P1.0
       RET


STA:	SETB	P1.1          ; ;启动
	SETB	P1.0
	NOP
	NOP
	NOP
	NOP
	CLR		P1.1
	NOP
	NOP
	NOP
	NOP
	CLR 	P1.0
	RET

STOP:	CLR		P1.1     ;停止
	SETB		P1.0
	NOP
	NOP
	NOP
	NOP
	SETB	P1.1
	NOP
	NOP
	NOP
	NOP
	NOP
	CLR		P1.1
	CLR		P1.0
	RET

CACK:
     SETB P1.1       ;接收应答信号
     SETB P1.0
     NOP
     NOP
     NOP
     NOP
     NOP
     MOV A,P1
    JNB ACC.1,CEND
     AJMP CACK
 CEND:CLR P1.0
      NOP
      RET

MACK:	CLR		P1.1     ;发0/应答位
	SETB	P1.0
	NOP
	NOP
	NOP
	NOP
	CLR		P1.0
	SETB 		P1.1
	RET

MNACK:	SETB	P1.1      ; ;发1/非应答信号
	SETB	P1.0
	NOP
	NOP
	NOP
	NOP
	CLR		P1.0
	CLR		P1.1
	RET
ERR:AJMP RETURN
RETURN:
       END

⌨️ 快捷键说明

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