?? 785nm.asm
字號:
PCL EQU 02H
STATUS EQU 03H
GPIO EQU 06H
COUNT1 EQU 0DH
COUNT2 EQU 0EH
COUNT3 EQU 0FH
COUNT4 EQU 010H
COUNT5 EQU 011H
COUNT6 EQU 012H
COUNT7 EQU 013H
LIGHT EQU 014H
DARK EQU 015H
MODE EQU 016H
ORG 0
GOTO START
ORG 10
START
BCF STATUS,5
MOVLW B'00001010'
TRIS 6
MOVLW B'10000000'
OPTION
CLRF GPIO
BCF GPIO,0
BCF GPIO,2
CALL DELAY_START
BSF GPIO,2
TEST1
CLRWDT
BTFSC GPIO,1
GOTO TEST22
GOTO TEST21
TEST21
BTFSC GPIO,3
GOTO TEST32
GOTO TEST31
TEST22
BTFSC GPIO,3
GOTO TEST34
GOTO TEST33
TEST31
BTFSC GPIO,1
GOTO TEST1
GOTO TEST41
TEST32
BTFSC GPIO,1
GOTO TEST1
GOTO TEST42
TEST33
BTFSS GPIO,1
GOTO TEST1
GOTO TEST43
TEST34
BTFSS GPIO,1
GOTO TEST1
GOTO TEST44
TEST41
BTFSC GPIO,3 ;0 & 0 = 20mW
GOTO TEST1
GOTO mw20 ;20mW handle
TEST42
BTFSS GPIO,3 ;0 & 1 = 30mW
GOTO TEST1
GOTO mw30 ;30mW handle
TEST43
BTFSC GPIO,3 ;1 & 0 = 40mW
GOTO TEST1
GOTO mw40 ;40mW handle
TEST44
BTFSS GPIO,3 ;1 & 1 = 50mW
GOTO TEST1
GOTO mw50 ;50mW handle
mw20
BSF GPIO,0
NOP
;BSF GPIO,2
MOVLW D'4'
MOVWF COUNT2
CALL DELY20
NOP
BCF GPIO,0
NOP
;BCF GPIO,2
NOP
NOP
MOVLW D'23'
MOVWF COUNT2
CALL DELY20
GOTO mw20
DELY20
DECFSZ COUNT2,1
GOTO DELY20
RETLW 0
mw30
BSF GPIO,0
NOP
;BSF GPIO,2
MOVLW D'7'
MOVWF COUNT2
CALL DELY30
NOP
NOP
BCF GPIO,0
NOP
;BCF GPIO,2
MOVLW D'20'
MOVWF COUNT2
CALL DELY30
NOP
GOTO mw30
DELY30
DECFSZ COUNT2,1
GOTO DELY30
RETLW 0
mw40
BSF GPIO,0
NOP
;BSF GPIO,2
MOVLW D'11'
MOVWF COUNT2
CALL DELY40
BCF GPIO,0
NOP
;BCF GPIO,2
MOVLW D'17'
MOVWF COUNT2
CALL DELY40
GOTO mw40
DELY40
DECFSZ COUNT2,1
GOTO DELY40
RETLW 0
mw50
BSF GPIO,0
NOP
;BSF GPIO,2
MOVLW D'14'
MOVWF COUNT2
CALL DELY50
NOP
BCF GPIO,0
NOP
;BCF GPIO,2
NOP
NOP
MOVLW D'13'
MOVWF COUNT2
CALL DELY50
GOTO mw50
DELY50
DECFSZ COUNT2,1
GOTO DELY50
RETLW 0
DELAY_START
MOVLW D'250'
MOVWF COUNT2
LOOP00
MOVLW D'12'
MOVWF COUNT3
LOOP01
CLRWDT
MOVLW 06DH
MOVWF COUNT4
LOOP02
DECFSZ COUNT4,1
GOTO LOOP02
DECFSZ COUNT3,1
GOTO LOOP01
DECFSZ COUNT2,1
GOTO LOOP00
RETLW 0
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -