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

📄 xhy.asm

📁 利用51系列单片机实现四种波形
💻 ASM
字号:
             HL EQU 0FFH
             LL EQU 00H
             ORG 0000H
             LJMP MAIN
             ORG 0003H
             LJMP INSER

      MAIN:  MOV DPTR,#SINTAB
             MOV R0,#6DH
      LOOP:  CLR A
             MOVC A,@A+DPTR
             MOV @R0, A
             INC DPTR
             INC R0
             CJNE R0, #7FH,LOOP
             AJMP  SET
    SINTAB:  DB 7FH,89H,94H,9FH,0AAH,0B4H,0C8H,0D1H,0D9H
             DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,0FFH

       SET:  MOV 20H, #0F0H
             MOV P1,#0
             SETB EX0
             SETB IT0
             SETB EA

             ORG 0100H
         ZXB: MOV DPTR,#7FFFH
             MOV R0,#6DH
      LOOP1: MOV A,@R0
             MOVX @DPTR,A
             ACALL DELAY
             INC R0
             CJNE R0,#7EH,LOOP1
      LOOP2: MOV A,@R0
             MOVX @DPTR,A
             ACALL DELAY
             DEC R0
             CJNE R0,#6DH,LOOP2
      LOOP3: MOV A,@R0
             CPL A
             MOVX @DPTR,A
             ACALL DELAY
             INC R0
             CJNE R0,#7EH,LOOP3
      LOOP4: MOV A,@R0
             CPL A
             MOVX @DPTR,A
             ACALL DELAY
             DEC R0
             CJNE R0,#6DH,LOOP4
             JB 20H.7,H1
             JNB 20H.7,H2
         H1: JB 20H.6,LOOP1
             JNB 20H.6,A1
         H2: JB 20H.6,A2
             JNB 20H.6,A3
      DELAY: MOV R7,#200
       DEL1: MOV R6,#123
             NOP
       DEL2: DJNZ R6,DEL2
             DJNZ R7,DEL1
             RET
         A1: LJMP SJB
         A2: LJMP JTB
         A3: LJMP JXB

         ORG 0200H
        SJB: MOV DPTR,#7FFFH
             MOV A,#00H
         UP: MOVX @DPTR,A
             INC  A
             CJNE A,#0FFH,UP
       DOWN: MOVX @DPTR,A
             DEC A
             CJNE A,#00H,DOWN
             JB 20H.7,H3
             JNB 20H.7,H4
         H3: JB 20H.6,B1
             JNB 20H.6,UP
         H4: JB 20H.6,B2
             JNB 20H.6,B3
         B1: LJMP ZXB
         B2: LJMP JTB
         B3: LJMP JXB

       ORG 0300H
        JTB: MOV DPTR,#7FFFH
             MOV A,#00H
         AX: MOVX @DPTR,A
             ACALL DELAY1
             INC A
             JB 20H.7,H5
             JNB 20H.7,H6
         H5: JB 20H.6,C1
             JNB 20H.6,C2
         H6: JB 20H.6,AX
             JNB 20H.6,C3
     DELAY1: MOV R4,#0F1H
        AX1: MOV R5,#10H
        AX2: NOP
             NOP
             NOP
             DJNZ R5,AX2
             DJNZ R4,AX1
             RET
         C1: LJMP ZXB
         C2: LJMP SJB
         C3: LJMP JXB

             ORG 0400H
        JXB: MOV DPTR,#7FFFH
         SQ: MOV A,#LL
             MOVX @DPTR,A
             ACALL DELAY2
             MOV A,#HL
             MOVX @DPTR,A
             ACALL DELAY2
             JB 20H.7,H7
             JNB 20H.7,H8
         H7: JB 20H.6,D1
             JNB 20H.6,D2
         H8: JB 20H.6,D3
             JNB 20H.6,SQ
     DELAY2: MOV R4,#0C8H
        BX1: MOV R5,#0BH
        BX2: DJNZ R5,BX2
             DJNZ R4,BX1
             RET
         D1: LJMP ZXB
         D2: LJMP SJB
         D3: LJMP JTB

      INSER: JNB P1.4,L1
             MOV 20H,#0F0H
             AJMP L4
         L1: JNB P1.5,L2
             MOV 20H,#0B0H
             AJMP L4
         L2: JNB P1.6,L3
             MOV 20H,#70H
             AJMP L4
         L3: JNB P1.7,L4
             MOV 20H,#30H
         L4: RETI
             END

⌨️ 快捷键说明

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