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

📄 加入亮度菜单.asm

📁 这是一个LED灯光渐变的程序!已通过调试
💻 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 + -