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

📄 nightm01.asm

📁 Knigh bike light assambler
💻 ASM
字号:
;---------------------------------------------------------------------------
;PROJECT NAME :KNIGHT BIKE LIGHT                           DATE : 2002-04-25
;---------------------------------------------------------------------------
;PROCESSOR :  PIC 12F629                                        NAME : LODIE
;---------------------------------------------------------------------------
;PROGRAM FUNCTION : 5 SUPER BRIGHT LED DRIVER FOR REAR BIKE LIGHT
;---------------------------------------------------------------------------
;HARDWARE:
;GP0 = L.E.D 1
;GP1 = L.E.D 2
;GP2 = L.E.D 3
;GP3 = PUSH BUTTON
;GP4 = L.E.D 4
;GP5 = L.E.D 5
;
;---------------------------------------------------------------------------
;EQUATES
;---------------------------------------------------------------------------
;
STATUS          EQU             03
GPIO            EQU             05
REG0            EQU             07
REG1            EQU             20
REG2            EQU             21
REG3            EQU             22
REG4		EQU		23
REG5		EQU		24
REG6		EQU		25
REG7		EQU		26
REG11		EQU		27
REG12		EQU		28
REG13		EQU		29
VALUE1		EQU		B'00100000'
VALUE2		EQU		B'01001111'
;
;---------------------------------------------------------------------------
;LABEL          COMMAND         OPERAND              COMMENTS
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;
		ORG             0
;
;---------------------------------------------------------------------------
;PORT SETUP (CONFIGURE PORT FOR INPUT (1) OR OUTPUT (0)
;---------------------------------------------------------------------------
;
		MOVLW           B'00001000'	;GP0=OUT,GP1=OUT
;						;GP2=OUT ,GP3=OUT
;						;GP4=OUT ,GP5=OUT
;	
		BSF		STATUS,5	;cHANGE TO BANK1
		MOVWF		GPIO		;CONFIGURE GPIO
		BCF		STATUS,5	;CHANGE TO BANK0
		GOTO		START		
;
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;SUB ROUTINES FOR TIME DELAY  
;---------------------------------------------------------------------------
;
;---------------------------------------------------------------------------
;TIME DELAY  +/- 500 ms    0.5 SECOND
;---------------------------------------------------------------------------
;
TIME            MOVLW           VALUE1
		NOP
		MOVWF           REG3
N3              MOVWF           REG2
N2              MOVWF           REG1
		NOP
N1              NOP
		DECFSZ          REG1,1 
		GOTO            N1
		DECFSZ          REG2,1
		GOTO            N2
		DECFSZ          REG3,1
		GOTO            N3
		NOP
		NOP
		RETURN
;
;---------------------------------------------------------------------------
;TIME DELAY +/- 1 s
;---------------------------------------------------------------------------
;
TIME2		CALL		TIME
		CALL		TIME
		NOP
		RETURN
;
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;SUBROTINES FOR LED ON AND OFF
;---------------------------------------------------------------------------
;
;---------------------------------------------------------------------------
;LED1 ON
;---------------------------------------------------------------------------
;
LED1		MOVLW		B'00000001'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED2 ON
;---------------------------------------------------------------------------
;
LED2		MOVLW		B'00000010'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED3 ON
;---------------------------------------------------------------------------
;
LED3		MOVLW		B'00000100'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED4 ON
;---------------------------------------------------------------------------
;
LED4		MOVLW		B'00010000'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED5 ON
;---------------------------------------------------------------------------
;
LED5		MOVLW		B'00100000'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED RED ON
;---------------------------------------------------------------------------
;
LEDR		MOVLW		B'00100001'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED YELLOW ON
;---------------------------------------------------------------------------
;
LEDY		MOVLW		B'00010100'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;;---------------------------------------------------------------------------
;LED ALL ON
;---------------------------------------------------------------------------
;
LEDA		MOVLW		B'00110111'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED RED & BLUE ON
;---------------------------------------------------------------------------
;
LEDRB		MOVLW		B'00100011'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;LED YELLOW & BLUE ON
;---------------------------------------------------------------------------
;
LEDYB		MOVLW		B'00010110'	;LED1 CONFIGURE
		MOVWF		GPIO		;LED ON
		CALL		TIME		;WAIT 500 ms
		CLRF		GPIO		;ALL LED's OFF
		CALL		TIME		;WAIT 500 ms
		RETURN				;BACK TO MAIN ROUTINE
;
;---------------------------------------------------------------------------
;START  MAIN ROUTINE
;---------------------------------------------------------------------------
;
START		CLRF		GPIO		;RESET PORT GPIO ALL OFF
		CALL		LED2
		CALL		LEDR
		CALL		LEDY
		CALL		LEDR
		CALL		LEDY
		CALL		LED2
		CALL		TIME
		CALL		LED2
		CALL		TIME
		CALL		LED2
		CALL		LED1
		CALL		LED4		
		CALL		LED5
		CALL		LED3
		CALL		LED1
		CALL		LED4
		CALL		LED5
		CALL		LED3
		CALL		LED1
		CALL		TIME
		CALL		LEDRB
		CALL		LEDYB
		CALL		LEDRB
		CALL		LEDYB
		CALL		LEDRB
		CALL		TIME
		CALL		LEDA
		CALL		TIME
		CALL		LEDA
		CALL		TIME
		CALL		LEDA
		CALL		TIME
		GOTO		START
;
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
		END
;---------------------------------------------------------------------------
			
		
 

							

⌨️ 快捷键说明

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