LIST p=16F887 ; nastavení typu procesoru #INCLUDE ; definice proměnných pro tento procesor errorlevel -302 ; === NASTAVENÍ KONFIGURAČNÍHO SLOVA === __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT __CONFIG _CONFIG2, _WRT_OFF & _BOR21V RAM EQU H'20' CBLOCK RAM+0 ; zacatek vseob.registru 20h TMP0 TMP1 TMP2 ENDC ; === PROGRAM === RESET ORG 0x0000 ; začátek programu na adrese 0000h ; Inicializace portů BANKSEL ANSEL CLRF ANSEL CLRF ANSELH BANKSEL PORTD CLRF PORTD MOVLW 0x00 MOVWF PORTD BANKSEL TRISD MOVLW 0x00 MOVWF TRISD BANKSEL TRISB MOVLW 0x03 MOVWF TRISB BANKSEL PORTB #define tl_leva PORTB,0 #define tl_prava PORTB,1 goto start pauza ;cekaci smycka ;Delay 197633 cycles MOVLW 0x00 ;0 DEC MOVWF TMP1 MOVLW 0x00 ;0 DEC MOVWF TMP0 DECFSZ TMP0,F GOTO $-1 DECFSZ TMP1,F GOTO $-5 return led_leva btfss PORTD,7 ;test stavu vystupniho pinu rlf PORTD,f call pauza return led_prava btfss PORTD,0 ;test stavu vystupniho pinu rrf PORTD,f call pauza return start btfss tl_leva call led_leva btfss tl_prava call led_prava goto start END