📄 加入亮度菜单.asm
字号:
HY EQU 71H
;未通过调试,====目的:加入亮度功能!
SL EQU 72H
SD EQU 73H
LD EQU 74H
WEI EQU 51H ;51H存放屏蔽码位置
ORG 0
SJMP START ;转到start
ORG 0003H
AJMP INTT0 ;中断
START: MOV HY,#0
MOV SL,#1
MOV SD,#1
MOV R7,#1
MOV IE,#81H
SETB IT0
MAIN: MOV A,SL ;提取屏蔽数据
MOV DPTR,#TABSHU
MOVC A,@A+DPTR
MOV 62H,A
MOV A,HY ;提取花样标志
MOV DPTR,#TAB
JMP @A+DPTR
LOOP0: MOV WEI,#0 ;花样0
MOV 61H,#9
LOOP01:MOV A,WEI
MOV DPTR,#TAB0
MOVC A,@A+DPTR
ORL A,62H
MOV P1,A
MOV R6,SD
D0: LCALL DELAY100MS
DJNZ R6,D0
INC WEI
DJNZ 61H,LOOP01
SJMP PUANDUAN
;========================================================
LOOP1: MOV WEI,#0 ;花样1
MOV 61H,#8
LOOP11:MOV A,WEI
MOV DPTR,#TAB1
MOVC A,@A+DPTR
ORL A,62H
MOV P1,A
MOV R6,SD
D1: LCALL DELAY100MS
DJNZ R6,D1
INC WEI
DJNZ 61H,LOOP11
SJMP PUANDUAN
MAIN1: AJMP MAIN
;===========================================
LOOP3: MOV P1,#0FFH ;亮度程序
LCALL DELAY
CPL A
MOV P1,#0
LCALL DELAY
CPL A
SJMP MAIN
;========================================================
LOOP2: MOV WEI,#0 ;花样2
MOV 61H,#8
LOOP22:MOV A,WEI
MOV DPTR,#TAB2
MOVC A,@A+DPTR
ORL A,62H
MOV P1,A
MOV R6,SD
D2: LCALL DELAY100MS
DJNZ R6,D2
INC WEI
DJNZ 61H,LOOP22
;SJMP LOOP2
PUANDUAN:JNB P3.4,PAN ;判断键盘
JB P3.3,MAIN
PAN: CJNE R7,#1,H1
SJMP HUA
H1: CJNE R7,#2,H2
SJMP SHU
H2: CJNE R7,#3,H3
SJMP SUDU
H3: MOV R7,#0
AJMP MAIN
INTT0: INC R7 ;INTT0中断
clr p2.0
clr p2.2
CJNE R7,#6,OVER
MOV R7,#1
OVER: RETI
MAIN2: AJMP MAIN ;踏板
;==============================================
HUA: JNB P3.4,HUA01 ;花样按键判断
JB P3.3,MAIN1
MOV A,HY
CJNE A,#0,HPAN02
MOV HY,#0
AJMP MAIN
HPAN02:DEC HY
DEC HY
AJMP MAIN
HUA01: MOV A,HY
CJNE A,#4,HPAN01
MOV HY,#4
AJMP MAIN
HPAN01:INC HY
INC HY
AJMP MAIN
;===================================
SHU: JNB P3.4,SHU01 ;数量按键判断
JB P3.3,MAIN1
MOV A,SL
CJNE A,#1,SHUPAN02
MOV SL,#1
AJMP MAIN
SHUPAN02:DEC SL
AJMP MAIN1
SHU01: MOV A,SL
CJNE A,#8,SHUPAN01
MOV SL,#8
AJMP MAIN
SHUPAN01:INC SL
AJMP MAIN
;===================================
SUDU: JNB P3.4,SD01 ;速度按键判断
JB P3.3,MAIN2
MOV A,SD
CJNE A,#1,SDPAN02
MOV SD,#1
AJMP MAIN
SDPAN02:DEC SD
AJMP MAIN
SD01: MOV A,SD
CJNE A,#3,SDPAN01
MOV SD,#4
AJMP MAIN
SDPAN01:INC SD
AJMP MAIN
;==============================================
DELAY100MS: ;100MS延时程序
MOV R5,#200
DE1: MOV R4,#250
DJNZ R4,$
DJNZ R5,DE1
RET
DELAY:MOV R3,A
DEL1: MOV R2,#30
DJNZ R2,$
DJNZ R3,DEL1
RET
TAB: AJMP LOOP0 ;花样程序跳转
AJMP LOOP1
AJMP LOOP2
ajmp LOOP3
TABSHU:DB 00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH ;屏蔽代码
TAB0: DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H ;花样字符0
TAB1: DB 00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH ;花样字符1
TAB2: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH ;花样字符2
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -