ch8_disp8-2.asm

来自「51单片机基础篇 对于有一定基础的人看看 包含书中所以的源代码」· 汇编 代码 · 共 41 行

ASM
41
字号
  程序范例:DISP8-2.ASM
     CNT    	EQU   	30H
            	ORG    	0000H
            	MOV   	P1,#BFH
     START 	MOV   	R1,#00H
     $     	DJNZ   	R1,$
            	MOV   	SP,#50H
     ;
            	MOV   	CNT,#00H     	;计数值先清为0
     LOOP  	MOV    	A,CNT          	;读取计数值至累加器中
            	MOV   	DPTR,#TABLE  	;定义字形表的起始地址
            	MOVC   	A,@A+DPTR    	;查询计数值所对应的字形码
            	CALL   	OUTPUT
            	INC   	CNT            	;计数值加1
            	MOV   	A,CNT          	;将计数值存到累加器中
            	CJNG  	A,#10,LOOP     	;判断累加器中计数值等于10则离开循环
            	MOV   	CNT,#00H     	;将计数值填成0
            	SJMP  	LOOP
     ;
     ;7 SEGMENT DISPLAY TABLE
     TABLE  	DB    	3FH        	;0
            	DB    	06H        	;1
            	DB    	5BH        	;2
            	DB     	4FH        	;3
            	DB     	66H        	;4
            	DB    	6DH        	;5
            	DB     	7DH        	;6
            	DB     	27H        	;7
            	DB    	7FH        	;8
            	DB   	6FH        	;9
     OUTPUT
            	CPL   	A              	;输出时因为电路设计的缘故,所以要做取反处理
            	MOV    	P1,A
            	CALL  	DELAY
            	RET
     ;
     DELAY 	MOV   	R0,#00H
     $1     	MOV  	R1,#00H
     $      	DJNZ  	R1,$
            	DJNZ  	R0,$1
            	RET

⌨️ 快捷键说明

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