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

📄 ex5120.asm

📁 启东计算机厂实验程序
💻 ASM
字号:
 	ORG 0000H
SCL	EQU	0B0H		;IC2401,BYTE-WR
SDA	EQU	0B1H	
;-------------------------------------------------------
START:	MOV SP,#53H
	JB P1.0,$
	LCALL DL10MS
	JB P1.0,START
	LCALL DL10MS

	MOV R0,#00H	;R0 IS RD ADDRESS
	MOV DPTR,#4000H	;[4000H----407FH]=55,56,57,....................
CONR1:	PUSH 00H
	CPL P1.2		;RD-LED
	LCALL RD2401_1W
	CJNE R5,#00H,DISPERR
	POP 00H
	MOVX @DPTR,A
	INC DPL
	INC R0
	CJNE R0,#7FH,CONR1
	SETB P1.2
CONDISP:LCALL DISP
	SJMP CONDISP
DISPERR:
	LCALL DISP1
	SJMP DISPERR
DISP1:	MOV 7EH,#01H
	MOV 7DH,#0CH
	MOV 7CH,#10H
	MOV 7BH,#0EH
	MOV 7AH,#14H
	MOV 79H,#14H
	AJMP DISP2	

DL10MS:	MOV R7,#0AH
DL0:	MOV R6,#0FFH
	DJNZ R6,$
	DJNZ R7,DL0
	RET
DISP:	MOV 7EH,#01H
	MOV 7DH,#0CH
	MOV 7CH,#09H
	MOV 7BH,#00H
	MOV 7AH,#00H
	MOV 79H,#0DH
DISP2:	MOV R0,#7EH
	MOV R2,#20H
	MOV R3,#00H
	MOV DPTR,#TAB
LS2:	MOV A,@R0
	MOVC A,@A+DPTR
	MOV R1,#22H
	MOVX @R1,A
	MOV A,R2
	DEC R1
	MOVX @R1,A
	DEC R0
	DJNZ R3,$
	CLR C 
	RRC A
	MOV R2,A
	JNZ LS2
	INC R1
	MOV A,#0FFH
	MOVX @R1,A
	RET
TAB: 	DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 
    	DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H,8FH 
;****************************************************************************

;--------------------------------------------------
DY:	MOV R7,#35H		
	DJNZ R7,$
	RET
START2401:
	SETB SDA
	LCALL DY
	SETB SCL
	LCALL DY
	CLR SDA
	LCALL DY
	CLR SCL
	LCALL DY
	RET
STOP2401:
	CLR SCL		;
	LCALL DY
	CLR SDA
	LCALL DY
	SETB SCL
	LCALL DY
	SETB SDA
	LCALL DY
	RET
;---------------------------------------------------------
C_A2401:			;R0 ADDR
	LCALL STOP2401
	LCALL DY
	LCALL START2401
	MOV A,#0A0H	;WR2401
	MOV R5,#08H
CONT2401:
	CLR SCL
	RLC A
	JNC CA_CLR_SDA
        SETB SDA
	SJMP CA_CONT_NEXT
CA_CLR_SDA:
	CLR SDA
CA_CONT_NEXT:
	LCALL DY
	SETB SCL
	LCALL DY	
	DJNZ R5,CONT2401
	CLR SCL
	LCALL DY
	SETB SCL
	LCALL DY
	JB SDA,C_A_ERROR
	MOV R5,#08H
	MOV A,R0	;R0 INPUT ADDR
ADDR2401:
	CLR SCL
	RLC A
	JNC AD_CLR_SDA
	SETB SDA
	SJMP AD_CONT_NEXT
AD_CLR_SDA:
	CLR SDA
AD_CONT_NEXT:
	LCALL DY
	SETB SCL
	LCALL DY
	DJNZ R5,ADDR2401
	CLR SCL
	LCALL DY
	SETB SCL
	LCALL DY
	JB SDA,C_A_ERROR
	LCALL DY
	CLR SCL
	LCALL DY
	MOV R5,#00H
	RET
C_A_ERROR:
	MOV R5,#5AH
	RET
;-----------------------------------------------------------------------------------------
RD2401_1W:	;SUEI JI RD ,R0 INPUT ADDR,OUTPUT WORD,IN ACC
	LCALL C_A2401		;KONG WR,SET FIRST ADDRESS
	CJNE R5,#00H,RD2401_ERROR
	LCALL START2401		;START
	MOV R5,#08H		;DEVICE ADDERS 
	MOV A,#0A1H
RD_CONT2401:
	CLR SCL
	RLC A
	JNC RD24_CLR_SDA
	SETB SDA
	SJMP RD_CONT2401_NEXT
RD24_CLR_SDA:
	CLR SDA
RD_CONT2401_NEXT:
	LCALL DY
	SETB SCL
	LCALL DY
	DJNZ R5,RD_CONT2401
	CLR SCL
	LCALL DY
	SETB SCL
	JNB SDA,RD_CONT_OK	;ACK
	LCALL STOP2401
	SJMP RD2401_ERROR
RD_CONT_OK:			;READ DATA
	CLR SCL
	MOV R5,#08H
	CLR A
RD24_BIT:
	SETB SCL
	LCALL DY
	JNB SDA,RD24_0_DATA
	SETB C
	SJMP RD24_NEXT_BIT
RD24_0_DATA:
	CLR C
RD24_NEXT_BIT:
	CLR SCL
	LCALL DY
	RLC A
	DJNZ R5,RD24_BIT
	SETB SCL
	LCALL DY
	CLR SCL
	LCALL DY
	LCALL STOP2401
	MOV R5,#00H
	RET
RD2401_ERROR:		;OUTPUT IS IN ACC
	MOV R5,#5AH
	RET
	END

⌨️ 快捷键说明

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