			LIST		p=16f84a			;устанавливаем тип микроконтроллера
			__CONFIG	03FF1H   			;задаем слово конфигурации, бит защиты выключен, WDT выключен,
											;стандартный XT - генератор.
			include		p16f84a.inc	
REG_NAZHATIY		EQU		0X20
REG_1	EQU		0X21
REG_2	EQU		0X22
;------------------------------------------			
#DEFINE	   BANK_0	BCF	STATUS,RP0	
#DEFINE	   BANK_1	BSF	STATUS,RP0	
;------------------------------------------		
			ORG 0
;-----------ИНИЦИАЛИЗАЦИЯ МК---------------	
			CLRF	REG_NAZHATIY
			CLRF 	PORTB
			BANK_1
					
			CLRF	TRISB	
			BANK_0
;-----------ОСНОВНАЯ ПРОГРАММА-------------
START:	
			BTFSC	PORTA,0			;КНОПКА ОТЖАТА?
			GOTO	$-1				;ДА
									;НЕТ
			CALL	DELAY
			CALL	SVET
			BTFSS	PORTA,0			;КНОПКА НАЖАТА?
			GOTO	$-1				;ДА
									;НЕТ
			CALL	DELAY	
			GOTO	START	

		
	


;---------------------------------------------				
SVET:
			CLRF  	PORTB
			CALL	TABLE
			MOVWF	PORTB
			RETURN	
TABLE:
			INCF	REG_NAZHATIY
			MOVF	PORTB,W
			SUBLW	B'10000000'
			BTFSC	STATUS,Z
			CALL	SBROS			
			MOVF	REG_NAZHATIY,W
			ADDWF	PCL,F
			NOP
			RETLW	b'00000001'	
			RETLW	b'00000010'	
			RETLW	b'00000100'	
			RETLW	b'00001000'	
			RETLW	b'00010000'
			RETLW	b'00100000'	
			RETLW	b'01000000'	
			RETLW	b'10000000'		
SBROS:
			MOVLW	.1
			MOVWF	REG_NAZHATIY
			RETURN	
;----------ЗАДЕРЖКА (АНТИДРЕБЕЗГ)-----------			
DELAY:					
			MOVLW	0XFF
			MOVWF	REG_1
			MOVLW	0X50
			MOVWF	REG_2	
			DECFSZ	REG_1
			GOTO 	$-1
			DECFSZ	REG_2
			GOTO	$-3
			RETURN	
;-------------------------------------------
			END