zuoyi.a51

来自「用8052写的一个LED大屏幕显示程序」· A51 代码 · 共 68 行

A51
68
字号
LIEBYTE DATA    18
HANGSHU DATA    16 

       ZUOYI:	MOV	R3,#8
	ZUO1:	MOV	R5,#2
		MOV	DispYingXiangAddrtemp?047+01H,#LOW (DispYingXiangBuf)
		MOV	R7,DispYingXiangAddrtemp?047+01H
      ZUOYI10:	MOV	R2,#LIEBYTE*8/2
     ZUOYI4:	MOV	R4,#HANGSHU
		MOV	DispYingXiangAddrtemp?047,#HIGH (DispYingXiangBuf)

;		MOV	DispBufAddrtemp?046,#H1MG
;		MOV	DispYingXiangAddrtemp?047+01H,#H1MD

		MOV	DispBufAddrtemp?046,#HIGH (DispBuf+LIEBYTE-1)
		MOV	DispBufAddrtemp?046+01H,#LOW (DispBuf+LIEBYTE-1)
		
		LCALL	ZUOYI1
		DJNZ	R3,ZUOYI7
		INC	R7
		MOV	R3,#8
     ZUOYI7:	MOV	DispYingXiangAddrtemp?047+01H,R7

		MOV  	LeftShiftDelayCount,#01H
?C0015:
; 		while(LeftShiftDelayCount);	
		; SOURCE LINE # 72
		MOV  	A,LeftShiftDelayCount
		JNZ  	?C0015
        	LCALL	WDT_RESET
        	JB   	UartEnd,?C0014

		DJNZ	R2,ZUOYI4
		DJNZ	R5,ZUOYI10
		RET
       ZUOYI1:	MOV	R1,#1
	ZUOYI6:	MOV	DPH,DispYingXiangAddrtemp?047
		MOV	DPL,DispYingXiangAddrtemp?047+01H
		MOVX	A,@DPTR
		RLC	A
		MOVX 	@DPTR,A
                MOV	DPL,DispBufAddrtemp?046+01H
		MOV	DPH,DispBufAddrtemp?046
	    	MOV	R6,#LIEBYTE
   LLL1:	MOVX	A,@DPTR
		RLC	A
		MOVX	@DPTR,A
		DEC	DPL
		MOV	A,DPL
		XRL	A,#0FFH
		JNZ	LLL
		DEC	DPH
	LLL: 	DJNZ	R6,LLL1
		DJNZ	R1,ZUOYI6
		MOV	A,#LIEBYTE
		ADD	A,DispYingXiangAddrtemp?047+01H
		MOV	DispYingXiangAddrtemp?047+01H,A
		JNC	ZUOYI2
		INC	DispYingXiangAddrtemp?047
    ZUOYI2:	MOV	A,#LIEBYTE
		ADD	A,DispBufAddrtemp?046+01H
		MOV	DispBufAddrtemp?046+01H,A
		JNC	ZUOYI3
		INC	DispBufAddrtemp?046
     ZUOYI3:	DJNZ	R4,ZUOYI1
?C0014:
        	RET  	

⌨️ 快捷键说明

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