counter(0-99).asm

来自「protues仿真51芯片的例子」· 汇编 代码 · 共 33 行

ASM
33
字号
		ORG		00H
START:	MOV		DPTR,#TABLE		;设置段码表首地址
		MOV		R0,#00H			;计数值存R0
		MOV		P0,#00H
		MOV		P2,#00H			;数码显示初始化
S1:		INC		R0				;计数值加1
		CJNE	R0,#100,S2		;判断计数值是否达到最大
		MOV		R0,#00H
S2:		JB		P3.7,$			;等待按键
		LCALL	DELAY
		JB		P3.7,S2			;消除按键抖动
S3:		MOV		A,R0
		MOV		B,#10
		DIV		AB				;分离计数值的十位和个位
		
		MOVC	A,@A+DPTR		;分别取十位和个位的段码并显示
		MOV		P0,A
		MOV		A,B
		MOVC	A,@A+DPTR
		MOV		P2,A

		JB		P3.7,S1			;等待按键抬起
		LJMP	S3

DELAY:	MOV		R5,#20			;延时10毫秒
D1:		MOV		R6,#250
		DJNZ	R6,$
		DJNZ	R5,D1
		RET		

TABLE: 	DB 		3FH,06H,5BH,4FH,66H
		DB		6DH,7DH,07H,7FH,6FH
		END

⌨️ 快捷键说明

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