|
-
-
-
-
-
-
-
-
-
-
-
-
-
- LED BIT P3.7
- KEY BIT P3.3
- SOV BIT 20H.0
- BOV BIT 20H.1
- SSS EQU 30H
- T10 EQU 31H
- AAA EQU 32H
- BBB EQU 33H
- T20 EQU 34H
- MMM EQU 35H
- A10 EQU 36H
- B20 EQU 37H
-
- KEY2 BIT P3.2
- COM1 BIT P3.5
- COM2 BIT P3.4
- COM3 BIT P3.1
- COM4 BIT P3.0
- NOISE1 EQU 38H
- NOISE2 EQU 39H
- NOISE3 EQU 3AH
-
- ORG 00H
- LJMP MAIN
- ORG 0BH
- LJMP PWM
-
- PWM:
- MOV TH0,#0FFH
- MOV TL0,#90H
- PUSH ACC
-
- JB BOV,OUTLOW
-
- JB SOV,IFSEND
- DEC T10
- DJNZ SSS,LRET
- MOV SSS,AAA
- MOV A,T10
- CJNE A,#0,SCTN
- AJMP T10END
- SCTN:
- CLR LED
- SETB SOV
- AJMP LRET
- IFSEND:
- DJNZ T10,LRET
- T10END:
- MOV T10,A10
- SETB LED
- CLR SOV
-
- DEC T20
- DJNZ MMM,LRET
- MOV MMM,BBB
- MOV A,T20
- CJNE A,#0,MCTN
- AJMP T20END
- MCTN:
- CLR LED
- SETB BOV
- AJMP LRET
- OUTLOW:
- CLR LED
- DJNZ T10,LRET
- MOV T10,A10
- DJNZ T20,LRET
- T20END:
- MOV T20,B20
- SETB LED
- CLR BOV
-
- LRET:
- POP ACC
- RETI
-
- MAIN:
- MOV P3,#00001100B
- MOV TMOD,#01H
- MOV A10,#10
- MOV B20,#20
- MOV T10,A10
- MOV T20,B20
- MOV AAA,#6
- MOV BBB,#20
- MOV SSS,AAA
- MOV MMM,BBB
- SETB ET0
- SETB TR0
- SETB EA
- SETB LED
- MOV 20H,#0
- MOV R0,#250
- MOV R1,#2
-
- FREE:
- MOV PCON,#1
- CHANGE2:
- JB KEY,CHOU1
- JB KEY2,CHOU1
- DJNZ NOISE1,FREE
- JNB KEY,$
- JNB KEY2,$
- AJMP FREE3
- CHOU1:
- MOV NOISE1,#0
- DOWN1:
- JB KEY,UP1
- DJNZ NOISE2,FREE
- DJNZ BBB,NEXT
- MOV BBB,#1
- NEXT:
- JB KEY,FREE
- JNB KEY2,FREE
- SJMP NEXT
- UP1:
- MOV NOISE2,#0
- IFUP:
- JB KEY2,LCRNOS
- DJNZ NOISE3,FREE
- INC BBB
- MOV A,BBB
- CJNE A,#21,NEXT2
- MOV BBB,#20
- NEXT2:
- JB KEY2,FREE
- JNB KEY,FREE
- SJMP NEXT2
- LCRNOS:
- MOV NOISE3,#0
- AJMP FREE
-
-
- FREE3:
- MOV PCON,#1
- CHANGE1:
- JB KEY,CHOU2
- JB KEY2,CHOU2
- DJNZ NOISE1,FREE3
- JNB KEY,$
- JNB KEY2,$
- AJMP FREE
- CHOU2:
- MOV NOISE1,#0
- DOWN2:
- JB KEY,UP2
- DJNZ NOISE2,FREE3
- DJNZ AAA,NEXT3
- MOV AAA,#1
- NEXT3:
- JB KEY,FREE3
- JNB KEY2,FREE3
- SJMP NEXT3
- UP2:
- MOV NOISE2,#0
- IFUP2:
- JB KEY2,LCRNOS2
- DJNZ NOISE3,FREE3
- INC AAA
- MOV A,AAA
- CJNE A,#11,NEXT4
- MOV AAA,#10
- NEXT4:
- JB KEY2,FREE3
- JNB KEY,FREE3
- SJMP NEXT4
- LCRNOS2:
- MOV NOISE3,#0
- AJMP FREE3
- END
|