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

📄 yixiangbo.asm

📁 利用单片机产生两路波形,并且一路可以任意移动相位.
💻 ASM
字号:
              ORG 0000H
              AJMP BEGIN
              ORG 000BH
              AJMP WAVE1
              ORG 001BH
              AJMP WAVE2
              ORG 0030H
       BEGIN: MOV 20H,#0FH
              MOV SP,#50H
              MOV TMOD,#11H
              MOV TH0,#0D8H           ;10MS定时
              MOV TL0,#0F0H
              MOV TH1,#0D8H           ;10MS定时
              MOV TL1,#0F0H
              MOV IE,#8AH
              MOV TCON,#50H
      LOOP:   CLR P1.0                ;   设置行编码"1110"
              SETB P1.1
              SETB P1.2
              SETB P1.3
              JB P1.4,NEXT1           ;判断键是否按下
              ACALL DLY20MS           ; 延时去抖
          K0: JB P1.4,K00             ; 等待键释放
              AJMP K0
          K00:CLR 00H                 ;加相位

    NEXT1:    JB P1.5,NEXT2           ;判断键是否按下
              ACALL DLY20MS           ; 延时去抖
         K1:  JB P1.5,K11             ; 等待键释放
              AJMP K1
         K11: CLR 01H                 ;减相位
    NEXT2: JB P1.6,NEXT3               ;判断键是否按下
          ACALL DLY20MS                ; 延时去抖
    K2:   JB P1.6,K22                ; 等待键释放
          AJMP K2
    K22:  CLR 02H                ;


 NEXT3:   JB P1.7,NEXT4             ;判断键是否按下
          ACALL DLY20MS             ; 延时去抖

    K3:   JB P1.7,K33              ; 等待键释放
          AJMP K3
    K33:  CLR 03H                 ;
  NEXT4:  AJMP LOOP


     WAVE1:   NOP
              NOP
              NOP
              NOP
              NOP
              NOP
              NOP
              NOP
              CPL P3.0
              MOV TH0,#0D8H           ;10MS定时
              MOV TL0,#0F7H
              RETI
     WAVE2:   JB 00H,STEP0
              MOV TH1,#0FFH
              MOV TL1,#0CBH
              SETB 00H
              RETI
     STEP0:   JB 01H,STEP1
              SETB 01H
              MOV TH1,#0B2H
              MOV TL1,#17H
              RETI
     STEP1:   JB 02H,STEP2
              SETB 02H
              MOV TH1,#0FDH
              MOV TL1,#0D4H
              RETI
      STEP2:  JB 03H,WAVE
              SETB 03H
              MOV TH1,#0B4H
              MOV TL1,#0CH
              RETI                 
      WAVE:   CPL P3.1
              MOV TH1,#0D8H           ;10MS定时
              MOV TL1,#0F7H
              RETI

     DLY20MS: MOV 22H,#60H        ; 延时20毫秒子程序
        DY1: MOV 23H,#69H
        DY2: DJNZ 23H,DY2
             DJNZ 22H,DY1
              RET

⌨️ 快捷键说明

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