📄 led2.asm
字号:
;这是一个使用单片机管脚控制P1口小灯产生舞台灯光效果的程序,无需扩展.(2004/05/08)
;------------------IT'S FOR S51E ---------------------------------------------------
LED_PORT EQU P0 ;数码管笔段控制口
KEY_PORT EQU P2 ;键盘控制口,兼数码管位控制口
A_PORT EQU P1 ;LED小灯控制口
BEEP BIT P2.0
BUFF_LED_LP EQU 21H ;亮灯循环寄存器
org 000h
JMP START
ORG 100H
;----------------------------------------
start: mov A_PORT,#0ffh ;初始化MCU端口
mov LED_PORT,#0ffh
mov KEY_PORT,#0ffh
mov p3,#0ffh
MOV A,#00H ;初始化寄存器
MOV PSW,#00H
MOV IE,#00H
MOV R0,#7FH ;初始化RAM区,
CLR_RAM: MOV A,#00H
MOV @R0,A
DJNZ R0,CLR_RAM
MOV SP,#30H
MOV BUFF_LED_LP,#00H
LOOP: MOV DPTR,#TAB_A_LAMP ;设置亮灯花型列表地址(32种)
MOV A,BUFF_LED_LP ;查询方式读取花型
MOVC A,@A+DPTR
CPL A
MOV A_PORT,A
LCALL DEL1S
INC BUFF_LED_LP
MOV A,BUFF_LED_LP
CJNE A,#32,LOOP
MOV BUFF_LED_LP,#00H
JMP LOOP
TAB_A_LAMP: DB 00111100B,10000001B,11000011B,11100111B,11111111B,11100111B,11000011B,10000001B,00000000B
DB 00011000B,00111100B,01111110B,11111111B,00000000B,10101010B,10101010B,11001100B
DB 10000000B,11000000B,11100000B,11110000B,11111000B,11111100B,11111110B,11111111B
DB 11111110B,11111100B,11111000B,11110000B,11100000B,11000000B,10000000B,00000000B
deL1S: MOV R5,#03H ;延时子程序(约0.5秒)
DEL1S0: mov R6,#0ffh
DEL1S1: mov R7,#0ffh
djnz R7,$
djnz R6,del1S1
DJNZ R5,DEL1S0
;CPL BEEP
ret
END
;提问: 使用定时中断方式读取花型?
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -