Kód: Vybrať všetko
;------------------------------------------------------------------------------
; PROCESSOR DECLARATION
;------------------------------------------------------------------------------
LIST p=16F88
#INCLUDE <P16F88.INC>
;------------------------------------------------------------------------------
; CONFIGURATION WORD SETUP
;------------------------------------------------------------------------------
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
;------------------------------------------------------------------------------
; VARIABLE DEFINITIONS
;------------------------------------------------------------------------------
CBLOCK 0x20
COUNT_LOOP
ENDC
;------------------------------------------------------------------------------
; RESET VECTOR
;------------------------------------------------------------------------------
RESET ORG 0x0000 ; processor reset vector
;------------------------------------------------------------------------------
; INICIALIZÁCIA PORTOV
;------------------------------------------------------------------------------
BSF STATUS, RP0
CLRF TRISB
BCF STATUS, RP0
CLRF COUNT_LOOP
CLRF PORTB
;------------------------------------------------------------------------------
; VLASTNÝ PROGRAM
;------------------------------------------------------------------------------
MOVLW b'00000001'
MOVWF PORTB
INCR
CALL WAIT_LOOP
RLF PORTB, F
BTFSS PORTB, 7
GOTO INCR
DECR
CALL WAIT_LOOP
RRF PORTB, F
BTFSS PORTB, 0
GOTO DECR
GOTO INCR
;------------------------------------------------------------------------------
; ČAKACIA SĽUČKA
;------------------------------------------------------------------------------
WAIT_LOOP
DELAY
MOVLW D'162'
MOVWF 10
MOVWF 11
DELAY_LOOP
DECFSZ 10, F
GOTO DELAY_LOOP
DECFSZ 11, F
GOTO DELAY_LOOP
RETLW 0
END
Nieco ako toto:
Kód: Vybrať všetko
;------------------------------------------------------------------------------
; PROCESSOR DECLARATION
;------------------------------------------------------------------------------
LIST p=16F88
#INCLUDE <P16F88.INC>
;------------------------------------------------------------------------------
; CONFIGURATION WORD SETUP
;------------------------------------------------------------------------------
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
;------------------------------------------------------------------------------
; VARIABLE DEFINITIONS
;------------------------------------------------------------------------------
COUNT EQU 0X20
;------------------------------------------------------------------------------
; RESET VECTOR
;------------------------------------------------------------------------------
RESET ORG 0x0000 ; processor reset vector
;------------------------------------------------------------------------------
; INICIALIZÁCIA PORTOV
;------------------------------------------------------------------------------
BSF STATUS, RP0
CLRF TRISB
BCF STATUS, RP0
;------------------------------------------------------------------------------
; VLASTNÝ PROGRAM
;------------------------------------------------------------------------------
INCR
MOVF COUNT, W
MOVWF PORTB
INCF COUNT, F
CALL WAIT_LOOP
MOVF COUNT ,W
XORLW 255
BTFSS STATUS, Z
GOTO INCR
GOTO DECR
DECR
MOVF COUNT, W
MOVWF PORTB
DECF COUNT, F
CALL WAIT_LOOP
MOVF COUNT ,W
BTFSS STATUS, Z
GOTO DECR
GOTO INCR
;------------------------------------------------------------------------------
; ČAKACIA SĽUČKA
;------------------------------------------------------------------------------
WAIT_LOOP
DELAY
MOVLW D'30'
MOVWF 10
MOVWF 11
DELAY_LOOP
DECFSZ 10, F
GOTO DELAY_LOOP
DECFSZ 11, F
GOTO DELAY_LOOP
RETLW 0
END