汇编语言学习——通过两个开关实现一个数码管的数字显示

初次学习汇编语言,也是初次使用博客来记录自己的学习点滴,一起加油!

实验工具:

本次实验的使用了Proteus仿真工具,使用的是keil5编写汇编程序

实验目的:

进一步熟悉汇编语言的使用

实现功能:

通过两个按键控制原理图里的数码管显示0-9,一个按钮为增加,一个按钮为减少。

实验原理图

汇编语言学习——通过两个开关实现一个数码管的数字显示_第1张图片

实验程序(程序里我都加了详细的注释

		ORG		0 
START:	        MOV A,#0            ;给ACC赋初值作为要显示的值
		SETB	P2.0        ;把P2.0,P2.1设置为输入
		SETB	P2.1
LOOP:	        MOV		P0,A        ;将ACC里面的值赋给P0口
		JNB		P2.0,INCR    ;如果P2.0的值等于0也就是按下P2.0按钮就跳转到INCR执行
		JNB		P2.1,DECR    ;同理
		JMP		LOOP        ;如果都没有按下就循环执行LOOP
;=================================
INCR:	CALL	DELAY	                        ;调用延时函数去抖
		JNB		P2.0,$	        ;松手检测$代表跳转本身
		CJNE	        A,#9,NINE;    ;如果A==9就把A置零不等于9则跳转到NINE处执行
		MOV		A,#0
		JMP		LOOP
NINE:	        INC		A
;		DA		A 
		JMP		LOOP
;==================================
DECR:    	CALL	DELAY             ;同INCR
		JNB		P2.1,$	
		JZ		ZERO        ;若ACC等于0跳转到ZERO执行
		DEC		A
		JMP		LOOP
ZERO:    	MOV		A,#9
		JMP		LOOP
;==================================
DELAY:	        MOV		R7,#200   ;延时0.1s		
D1:		MOV		R6,#250		
		DJNZ	R6,$		
		DJNZ	R7,D1		
		RET
;===================================
		END


你可能感兴趣的:(汇编语言学习——通过两个开关实现一个数码管的数字显示)