tydl.asm

来自「学习单片机一个简单程序和硬件的开发」· 汇编 代码 · 共 66 行

ASM
66
字号

ORG 0000H
LJMP START
ORG 0003H
RETI
ORG 000BH
RETI
ORG 0013H
RETI
ORG 001BH
RETI
ORG 0023H
RETI
;************;

; 初始化程序 ;

;************;
INIT:	MOV DPTR,#7FFFH
	MOV 20H,#00H
	RET
;************;
; 主 程 序 ;
;************;
START:ACALL INIT

LOOP:	MOV P1,#0FFH
	JNB P1.0,UP ;加计数
	JNB P1.1,DOWN ;减计数
	JNB F0,LOOP
	MOV A,20H
	MOVX @DPTR,A
	CLR F0
	AJMP LOOP
UP:	LCALL DL20MS ;消岸抖动
	JB P1.0,LOOP
WAITL0:	JNB P3.3,WAITL0 ;等待键释放
	MOV A,20H
	CJNE A,#0FFH,RAISE
	AJMP LOOP
RAISE:  INC 20H
	SETB F0
	AJMP LOOP

DOWN:	LCALL DL20MS ;消岸抖动
	JB P1.1,LOOP
WAITL1:	JNB P3.3,WAITL1 ;等待键释放
	MOV A,20H
	CJNE A,#00H,FALL
	AJMP LOOP
FALL:  DEC 20H
	SETB F0
	AJMP LOOP

DL512:	MOV R2,#0FFH
LOOP1: 	DJNZ R2,LOOP1
	RET

DL20MS:	MOV R3,#28H
LOOP2: 	LCALL DL512
	DJNZ R3,LOOP2
	RET

end

⌨️ 快捷键说明

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