DEVICE 16F628A CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF ; include "monitor16.INC" ALL_DIGITAL TRUE ;Alle ingangen digitaal '**************************************************************** 'Ingangen declareren SYMBOL switch = PORTA SYMBOL sw1 = PORTA.0 SYMBOL sw2 = PORTA.1 SYMBOL sw3 = PORTA.2 SYMBOL sw4 = PORTA.3 ;Symbol sw5 = PORTA.3 ;Symbol sw6 = PORTA.2 ;Symbol sw7 = PORTA.1 ;Symbol sw8 = PORTA.0 'TrisA register instellen ;PORTA = %00000000 ;Alle niveaus van Porta eerst laag maken TRISA = %11111111 ;PortA0 - PortA7 allemaal ingangen '**************************************************************** 'Uitgangen declareren SYMBOL ledjes = PORTB SYMBOL led1 = PORTB.0 SYMBOL led2 = PORTB.1 SYMBOL led3 = PORTB.2 SYMBOL led4 = PORTB.3 SYMBOL led5 = PORTB.4 SYMBOL led6 = PORTB.5 SYMBOL led7 = PORTB.6 SYMBOL led8 = PORTB.7 ; TrisB register instellen (alles uitgang) PORTB= %00000000 ;Alle niveaus van PortB eerst laag maken TRISB = %00000000 ;PortB0 - PortB7 allemaal uitgangen '**************************************************************** 'Decraraties voor programma: ;delayms 500 = wacht 'doorschuif snelheid LED ALL_DIGITAL true '**************************************************************** 'Hoofdprogramma menu: WHILE 1 = 1 led1 = 0 led2 = 0 led3 = 0 led4 = 0 IF sw1 = 1 THEN led1 = 1 DELAYMS 500 BTFSS sw1 GOTO menu led1 = 0 led2 = 1 DELAYMS 500 BTFSS sw1 GOTO menu led2 = 0 led3 = 1 DELAYMS 500 BTFSS sw1 GOTO menu led3 = 0 led4 = 1 DELAYMS 500 BTFSS sw1 GOTO menu led4 = 0 ENDIF ;menu2: led1 = 0 led2 = 0 led3 = 0 led4 = 0 IF sw2 = 1 THEN led4 = 1 DELAYMS 500 BTFSS sw2 GOTO menu led4 = 0 led3 = 1 DELAYMS 500 BTFSS sw2 GOTO menu led3 = 0 led2 = 1 DELAYMS 500 BTFSS sw2 GOTO menu led2 = 0 led1 = 1 DELAYMS 500 BTFSS sw2 GOTO menu led1 = 0 ENDIF ;menu3: led5 = 0 led6 = 0 led7 = 0 led8 = 0 IF sw3 = 1 THEN led5 = 1 DELAYMS 500 BTFSS sw3 GOTO menu led5 = 0 led6 = 1 DELAYMS 500 BTFSS sw3 GOTO menu led6 = 0 led7 = 1 DELAYMS 500 BTFSS sw3 GOTO menu led7 = 0 led8 = 1 DELAYMS 500 BTFSS sw3 GOTO menu led8 = 0 ENDIF ;menu4: led5 = 0 led6 = 0 led7 = 0 led8 = 0 IF sw4 = 1 THEN led8 = 1 DELAYMS 500 BTFSS sw4 GOTO menu led8 = 0 led7 = 1 DELAYMS 500 BTFSS sw4 GOTO menu led7 = 0 led6 = 1 DELAYMS 500 BTFSS sw4 GOTO menu led6 = 0 led5 = 1 DELAYMS 500 BTFSS sw4 GOTO menu led5 = 0 ENDIF WEND '**************************************************************** END