📄 led.asm
字号:
;共阳数码管 0-f: 0COH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
LOOP: ; 标号
CLR P2.6 ;选中p2.6 数码管左边的8字使能
SETB P2.7 ;p2.7不使能。 右边的数码管消隐
MOV P0,#0c0H ;数码管显示 0
LCALL DELAY ;延时
MOV P0,#0FFH ;0ffh 送p0口,数码管清除
CLR P1.0 ;点亮p1.0发光管
MOV P0,#0f9H ;把7eh送p0口;数码管显示 1
LCALL DELAY
MOV P0,#0FFH
CLR P1.1 ;点亮p1.0发光管
CLR P1.0 ;点亮p1.0发光管
MOV P0,#0a4H ;数码管显示 2
LCALL DELAY
MOV P0,#0FFH
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#0b0H ;数码管显示 3
LCALL DELAY
MOV P0,#0FFH
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#99H ;数码管显示 4
LCALL DELAY
MOV P0,#0FFH
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#92H ;数码管显示 5;
LCALL DELAY
MOV P0,#0FFH
CLR P1.5
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#82H ; 数码管显示 6
LCALL DELAY
MOV P0,#0FFH
CLR P1.6
CLR P1.5
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#0f8H ; 数码管显示 7
LCALL DELAY
MOV P0,#0FFH
CLR P1.7
CLR P1.6
CLR P1.5
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#80H ; 数码管显示 8
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
;程序到此结果为左边的数码管显示0,1,2,3,4,5,6,7,8
;p1.0------------p1.7指示灯依次点亮
SETB P2.6 ; 左边的8消隐
CLR P2.7 ;选中p2.7 数码管右边的8字使能 ,;
MOV P0,#0c0H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.0
MOV P0,#0f9H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.1
MOV P0,#0a4H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.2
MOV P0,#0b0H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.3
MOV P0,#99H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.4
MOV P0,#92H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.5
MOV P0,#82H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.6
MOV P0,#0f8H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.7
MOV P0,#80H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
MOV P0,#0FFH
MOV P1,#0FFH
;这一段和上一段基本相同, 不同的是右边的数码管依次显示012345678,左边的不亮;
;同时p1口的灯流动显示:
AJMP LOOP; 注意: 程序运行到此跳转到开始标号,重复执行:
DELAY: MOV R5,#2
D1: MOV R6,#255
D0: MOV R7,#255
DJNZ R7,$
DJNZ R6,D0
DJNZ R5,D1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -