📄 skeeter.asm
字号:
;====================================================
; this is a electronic drive out skeeter program *
; first time 06/03/2003 *
; function bring ultrasonic of 20kHz-100kHz *
; programer likc *
;=====================================================
ORG 00H
RESET: AJMP MAIN
ORG 00BH
AJMP IT0P
ORG 001BH
AJMP IT1P
ORG 0100H
MAIN: MOV SP,#70H
;CLR P1.3
;SETB P1.4
MOV IP,#08H ;timer1 first
MOV R1,#22H ;timer long send R1
MOV R2,#10H
MOV R3,#00H
ACALL PTOM2
CLR TR0
CLR TR1
; CLR P1.3
; SETB P1.4
HERE: AJMP HERE
PTOM2: MOV TMOD,#11H ;timer mode for two
MOV DPTR,#TABLE2 ;note and note longth table fist address
MOV A,R3
MOVC A,@A+DPTR ;get frequency and long signal
ANL A,#0FH ;signal longth send r0
MOV R0,A
MOV A,R3
MOVC A,@A+DPTR
SWAP A
ANL A,#0FH ;note singnal send r7
RL A
MOV R7,A
MOV DPTR,#TABLE1 ;frequency table first address
MOV A,R7
MOVC A,@A+DPTR
MOV TL0,A
MOV A,R7
DEC A
MOVC A,@A+DPTR
MOV TH0,A
MOV TH1,#0CH
MOV TL1,#0DCH
SETB EA
SETB ET1
SETB ET0
SETB TR1
SETB TR0
HERE1: CJNE R0,#0H,HERE1
DJNZ R1,LOOP1
ajmp main
LOOP1: INC R3
MOV DPTR,#TABLE2
MOV A,R3
MOVC A,@A+DPTR
ANL A,#0FH
MOV R0,A
MOV A,R3
MOVC A,@A+DPTR
SWAP A
ANL A,#0FH
RL A
MOV R7,A
SJMP HERE1
;----------------------------------------------------*
; timer0 intermit *
;----------------------------------------------------*
IT0P: CPL P1.3
; CPL P1.4
MOV DPTR,#TABLE1
MOV A,R7
;CPL P1.3
;CPL P1.4
MOVC A,@A+DPTR
MOV TL0,A
MOV A,R7
;CPL P1.3
;CPL P1.4
DEC A
MOVC A,@A+DPTR
MOV TH0,A
;CPL P1.3
;CPL P1.4
RETI
;------------------------------------------------------*
; timer0 intermit in *
;------------------------------------------------------*
IT1P: MOV TH1,#0CH
MOV TL1,#0DCH
DEC R0
RETI
TABLE1: ; initial value of frequency table
;DB 0FFH,10H,0FFH,2BH,0FFH,42H,0FFH,4CH ;1' 2' 3' 4' 5' 6' 7' 8' 9'
;DB 0FFH,60H,0FFH,71H,0FFH,81H
;DB 0FEH,22H,0FEH,56H,0FEH,85H,0FEH,9AH ;1" 3" 4" 5" 6" 7" 8" 9"
;DB 0FEH,0C1H,0FEH,0E3H,0FEH,03H
DB 0FFH,0EAH,0FFH,0EBH,0FFH,0ECH,0FFH,0EDH ;1' 2' 3' 4' 5' 6' 7' 8' 9'
DB 0FFH,0FEH,0FFH,0FEH,0FFH,0FEH
DB 0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH ;1" 2" 3" 4" 5" 6" 7" 8" 9"
DB 0FFH,0F7H,0FFH,0F8H,0FFH,0FEH
TABLE2: ; note and note longth table
;DB 14H,24H,34H,14H,14H,24H,34H,14H,34H
;DB 44H,58H,34H,44H,58H,52H,62H,52H,42H
;DB 34H,24H,52H,62H,52H,42H,34H,24H,14H
;DB 54H,18H,14H,54H,18H
DB 14H,24H,34H,44H,54H,64H,74H,14H,24H
DB 34H,48H,54H,64H,74H,18H,28H,38H,48H
DB 58H,68H,78H,18H,28H,38H,48H,58H,68H
DB 78H,58H,48H,48H,48H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -