C51单片机实验——LED数码管显示(proteus+asm)

数码管对应表请添加图片描述

Proteus电路图

在这里插入图片描述
8个LED数码管为共阴极
P1.0为段选信号口,P1.1为位选信号口

asm代码

ORG		0000H
LJMP	MAIN

ORG		0100H
MAIN:	MOV		R0,#08H		;初始化
		MOV		R1,#7FH
		CLR		P1.0		;控制端复位
		CLR		P1.1
		MOV		DPTR,#TABLE	;指向表头
		
LOOP:	
		MOV		A,R1		;位选控制
		MOV		P0,A		;输出位信号
		SETB	P1.1		;上升沿
		CLR		P1.1

		MOV		A,R0		;段选控制
		MOVC	A,@A+DPTR
		MOV		P0,A		;输出段信号
		SETB	P1.0		;上升沿
		CLR		P1.0
		
		MOV		A,R1		;恢复A
		RR		A			;位选向左循环移动
		MOV		R1,A
		DJNZ	R0,DELAY	;判断数据表是否到头	
		MOV		R0,#08H		;到头复位

DELAY:	MOV 	30H,#2		;延时1ms
		MOV 	31H,#234
NEXT:	DJNZ 	31H,NEXT	;延时循环
		DJNZ 	30H,NEXT
		SJMP	LOOP

TABLE:	DB  00H,76H,79H,38H,38H,5CH,40H,40H,40H

END

注:数据表中第一个元素为无效值

效果图

在这里插入图片描述


版权声明:本文为qq_52516071原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。