ledt0a.asm

来自「这些是基于dp51仿真仪的程序」· 汇编 代码 · 共 65 行

ASM
65
字号
SDA		EQU	P1.0
CLK		EQU	P1.1
LEDCS	        EQU	P1.7

COUNTER	        DATA    30H		;计数单元
DBUFFER		DATA	31H		;输出值

	ORG	0000H
	AJMP	MAIN
	ORG	000BH
	AJMP	LEDTT0

	ORG	0100H
MAIN:
	MOV	SP,#60H

	MOV	TMOD,#01H

	MOV	TH0,#03cH
	MOV	TL0,#0b0H
	MOV	COUNTER,#20
	MOV	DBUFFER,#80H
	SETB	ET0
	SETB	EA
	SETB	TR0
LIUP:	
	MOV	R2,DBUFFER
	ACALL	TXDBYTE
	AJMP	LIUP

;若发送的数据存放在R2中
TXDBYTE:
	   PUSH	   PSW
	   PUSH	   ACC
	   SETB	   LEDCS
	   MOV	   A,R2	
	   MOV	   R3,#08H
TXDUP:	   RLC	   A
	   MOV	   SDA,C
	   CLR	   CLK
	   SETB	   CLK
	   DJNZ	   R3,TXDUP
	   CLR	   LEDCS
	   POP	   ACC
           POP	   PSW
	   RET

LEDTT0:	   
	   PUSH	   PSW
	   PUSH	   ACC
           CLR	   TR0	
	   MOV	   TH0,#3CH
	   MOV	   TL0,#0b0H
	   DJNZ	   COUNTER,LEDRET
	   MOV	   COUNTER,#20
	   MOV	   A,DBUFFER
	   RR	   A
	   MOV	   DBUFFER,A
LEDRET:    SETB	   TR0
	   POP	   ACC
	   POP	   PSW
           RETI	   		   	
	   END
	   		

⌨️ 快捷键说明

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