⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 51+Ҧ

📁 AT89C51汇编语言例子大全
💻
字号:
/***************************************************************************
标题:	数码管的显示
效果:	显示1234,从这个例子可以学习多位数码管的动态显示技术
本店网站      http://xxdpj.taobao.com/
以芯换心  竭诚为您服务 您学习单片机的好帮手
近期本店有很多优惠活动 有空就进来看看吧
http://xxdpj.taobao.com/
技术支持QQ:412150384
******************************************************************************/
;脚功能定义
	SMG_q EQU P1.0	;定义数码管阳级控制脚,千位
	SMG_b EQU P1.1	;定义数码管阳级控制脚,百位
	SMG_s EQU P1.2	;定义数码管阳级控制脚,十位
	SMG_g EQU P1.3	;定义数码管阳级控制脚,个位	

;数据存放
ORG 0100
TABLE:	DB 0C0h,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H	;表:共阳数码管 0-9 

ORG 0000H
LJMP MAIN

ORG 0200H
MAIN:	MOV DPTR,#TABLE
M1:	CLR SMG_q	;选择千位数码管	
	MOV A,#1	;千位显示1,显示数值可以自己改,0-9
	MOVC A,@A+DPTR	;查表输出定义好的数码管段值到P0口,显示相应的0-9
	MOV P0,A
	LCALL DELAY	;延时,停留一会,让人眼感触到它的亮度
	MOV P0,#0FFH	;清除数码管显示,因是共阳型,所以不是0
	SETB SMG_q	;关闭千位数码管

	CLR SMG_b	;选择百位数码管	
	MOV A,#2	;百位显示2,显示数值可以自己改,0-9
	MOVC A,@A+DPTR	;查表输出定义好的数码管段值到P0口,显示相应的0-9
	MOV P0,A
	LCALL DELAY	;延时,停留一会,让人眼感触到它的亮度
	MOV P0,#0FFH	;清除数码管显示,因是共阳型,所以不是0
	SETB SMG_b	;关闭百位数码管
	
	CLR SMG_s	;选择十位数码管	
	MOV A,#3	;十位显示3,显示数值可以自己改,0-9
	MOVC A,@A+DPTR	;查表输出定义好的数码管段值到P0口,显示相应的0-9
	MOV P0,A
	LCALL DELAY	;延时,停留一会,让人眼感触到它的亮度
	MOV P0,#0FFH	;清除数码管显示,因是共阳型,所以不是0
	SETB SMG_s	;关闭十位数码管

	CLR SMG_g	;选择个位数码管
	MOV A,#4	;个位显示4
	MOVC A,@A+DPTR	;查表输出定义好的数码管段值到P0口,显示相应的0-9
	MOV P0,A
	LCALL DELAY	;延时,停留一会
	MOV P0,#0FFH	;清除数码管显示
	SETB SMG_g	;关闭个位数码管

	LJMP M1		;循环扫描输出,不扫描则不显示或显示不正确,即为动态显示,

DELAY:	MOV R5,#10	;此次延时子程序不用很长时间
	DJNZ R5,$
	RET
END

⌨️ 快捷键说明

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