'**************************************************************** '* Name : menu.bas * '* Author : LEDfan * '* Notice : Copyright (c) 2011 LEDfan * '* : All Rights Reserved * '* Date : 8-3-2011 * '* Version : 1.2 * '* Notes : Een voorbeeld van hoe het menu er uit gaat zien * '* : De lijst met functies wordt nog uitgebreid * '* Bugs : V.1.2 bij sublussen 'return' vervangen door * '* : 'goto functies' * '**************************************************************** DEVICE 16F628A CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF ALL_DIGITAL TRUE ;Alle ingangen digitaal ;hulplijntje 76543210 TRISA = %11111111 ;ingangen/uitgangen PORTA = %00000000 ;beginstand laag/hoog TRISB = %00000110 ;ingangen/uitgangen PORTB = %00000000 ;beginstand laag/hoog PORTB_PULLUPS ON ;Pullups aan omdat we de drukknop met de gnd verbinden ;menu SYMBOL BEVESTIG = PORTB.1 ;Dit is de knop om een functie te kiezen/bevestigen ;geluid SYMBOL TIJD2 = 6000 SYMBOL TIJD = 600 ;Logische constanten SYMBOL AAN = 0 ;Geinverteerd ON SYMBOL HOOG = 1 ;Signaal met hoog niveau SYMBOL LAAG = 0 ;Signaal met laag niveau SYMBOL TRUE = 1 ;Waar SYMBOL FALSE = 0 ;Niet waar SYMBOL OFF = 0 SYMBOL ON = 1 SYMBOL UIT = 1 ;Geinverteerd OFF DELAYMS 500 ;LCD stabilisering CLEAR ;Wis al het RAM gehugen CLS ;Wis het scherm ;geluid ;*************************************** FREQOUT PORTA.1 , 100 , 6000 ;frequentie van 6 000 Hz FREQOUT PORTA.1 , 100 , 35000 ;frequentie van 35 000 Hz FREQOUT PORTA.1 , 100 , 50000 ;frequentie van 50 000 Hz FREQOUT PORTA.1 , 100 , 600 ;frequentie van 600 Hz FREQOUT PORTA.1 , 100 , 5000 ;frequentie van 5 000 Hz FREQOUT PORTA.1 , 100 , 500000 ;frequentie van 500 000 Hz ;menu ;*************************************** ;beginscherm ;*************************************** CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "Welkom bij het" PRINT AT 2,1, "menu van 788bot" DELAYMS 10000 ;Tijd om dit scherm te laten zien ;instructie ;*************************************** CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "Druk op de rode" PRINT AT 2,1, "knop om een " DELAYMS 3500 ;Tijd om dit scherm te laten zien CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "functie te " PRINT AT 2,1, "kiezen" DELAYMS 10000 ;Tijd om dit scherm te laten zien ;Functies ;*************************************** functies: CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "Functie:" PRINT AT 2,1, "Lijnvolgen" DELAYMS 10000 ;Tijd om dit scherm te laten zien IF BEVESTIG = AAN THEN GOSUB LIJNVOLGEN ELSE CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "Functie:" PRINT AT 2,1, "Bestuur manueel" DELAYMS 10000 ;Tijd om dit scherm te laten zien IF BEVESTIG = AAN THEN GOSUB MANUEEL ELSE CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "Functie:" PRINT AT 2,1, "Snelheid meten" DELAYMS 10000 ;Tijd om dit scherm te laten zien IF BEVESTIG = AAN THEN GOSUB SNELHEID ELSE CLS ;wis oude tekst voor nieuwe tekst PRINT AT 1,1, "geen functie" PRINT AT 2,1, "gekozen" DELAYMS 2500 ;Tijd om dit scherm te laten zien PRINT AT 1,1, "Mogelijke functies" PRINT AT 2,1, "worden herhaald" DELAYMS 2500 ;Tijd om dit scherm te laten zien GOTO functies ;Terug naar het begin van de lijst met functies ENDIF ENDIF ENDIF LIJNVOLGEN: ;Voorbeeld sublus CLS PRINT AT 2,2, "LIJNVOLGEN" DELAYMS 1000 GOTO functies MANUEEL: ;Voorbeeld sublus CLS PRINT AT 2,2, "MANUEEL" DELAYMS 1000 GOTO functies: SNELHEID: ;Voorbeeld sublus CLS PRINT AT 2,2, "SNELHEID" DELAYMS 1000 GOTO functies END ;einde programma