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

📄 785nm_20-50mw_080630.asm

📁 使用PIC 12C508A 控制LED输出功率的汇编实例程序
💻 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'9'
	 MOVWF	 COUNT2
	 CALL    DELY20
	 NOP
	 NOP
	 BCF	 GPIO,0
	 NOP	
	 ;BCF	 GPIO,2
	 NOP
     MOVLW	 D'18'
	 MOVWF	 COUNT2
	 CALL    DELY20
	 GOTO	 mw20
DELY20	 
	 DECFSZ  COUNT2,1
	 GOTO	 DELY20
	 RETLW	 0
mw30
     BSF	 GPIO,0
     NOP
	 ;BSF	 GPIO,2
     MOVLW	 D'15'
	 MOVWF	 COUNT2
	 CALL    DELY30
	 NOP
	 NOP
	 BCF	 GPIO,0
	 NOP
	 ;BCF	 GPIO,2
     MOVLW	 D'12'
	 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'21'
	 MOVWF	 COUNT2
	 CALL    DELY40
	 NOP
	 NOP
	 BCF	 GPIO,0
	 NOP
	 ;BCF	 GPIO,2
     MOVLW	 D'6'
	 MOVWF	 COUNT2
	 CALL    DELY40
	 NOP
	 GOTO	 mw40
DELY40	 
	 DECFSZ  COUNT2,1
	 GOTO	 DELY40
	 RETLW	 0
mw50
     BSF	 GPIO,0
	 NOP
	 ;BSF	 GPIO,2
	 NOP
     MOVLW	 D'27'
	 MOVWF	 COUNT2
	 CALL    DELY50
	 NOP
	 BCF	 GPIO,0
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
	 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 + -