'**************************************************************** '* Name : UNTITLED.BAS * '* Author : Bob Merens. * '* Notice : Copyright (c) 2010 Opabob * '* : All Rights Reserved * '* Date : 15/02/2010 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** '* Name : STMB3_[1]. '* Author : H.van Zwieten. '* Notice : Copyright (c) 2010 H.v.Z. '* : All Rights Reserved. '* Date : 14-2-2010. '* Version : 1.0. '* Notes : Twee stappen motoren met joystick aansturen. '* : Aangepast programma voor OPA_BOB. DEVICE 16F628A ; processor type 16F628A CONFIG INTRC_OSC_NOCLKOUT,_ ; Interne oscillator geen clocksignaal naar buiten WDT_OFF,_ ; WatchDog Timer uitgeschakeld PWRTE_ON,_ ; Power-up Timer Enable ingeschakeld LVP_OFF,_ ; Low Voltage Programming uitgeschakeld MCLRE_OFF ; Externe Master Reset Enable uitgeschakeld ALL_DIGITAL TRUE ; Alle ingangen digitaal SYMBOL ON = 1 ; On is hoog SYMBOL off = 0 ; Off is laag 'Ingangen declareren SYMBOL sw1 = PORTA.0 SYMBOL sw2 = PORTA.1 SYMBOL sw3 = PORTA.2 SYMBOL sw4 = PORTA.3 'Uitgangen declareren 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 SYMBOL tijd = 250 ; Waarde wachttijd ; Alleen de waarde achter tijd veranderen als het sneller of langzamer moet. CLEAR ; Wis alle ram geheugen DELAYMS 1000 ; Stabilisering ;76543210 ; Hulpregel poort_A PORTA = %00000000 ; Alle niveaus van Poort_A eerst laag maken TRISA = %11111111 ; PortA0 - PortA7 allemaal ingangen ;76543210 ; Hulpregel poort_B PORTB = %00000000 ; Alle niveaus van Po0rt_B eerst laag maken TRISB = %00000000 ; PortB0 - PortB7 allemaal uitgangen '**************************************************************** 'Decraraties voor programma: '**************************************************************** 'Hoofdprogramma start: led1 = 0 led2 = 0 led3 = 0 led4 = 0 IF sw1 = ON THEN GOTO M1_Rechtsom IF sw2 = ON THEN GOTO M1_Linksom IF sw3 = ON THEN GOTO M2_Rechtsom IF sw4 = ON THEN GOTO M2_Linksom IF sw1 = ON AND sw3 = ON THEN GOTO M1_M2_Rehtsom IF sw2 = ON AND sw4 = ON THEN GOTO M1_M2_Linksom IF sw1 = ON AND sw4 = ON THEN GOTO M1_R_M2_L IF sw2 = ON AND sw3 = ON THEN GOTO M1_L_M2_R IF sw1 = ON AND sw2 = ON THEN GOTO M1_LR IF sw3 = ON AND sw4 = ON THEN GOTO M2_LR GOTO start M1_Rechtsom: IF sw1 = ON AND sw3 = ON THEN GOTO M1_M2_Rehtsom IF sw2 = ON AND sw4 = ON THEN GOTO M1_M2_Linksom IF sw1 = ON AND sw4 = ON THEN GOTO M1_R_M2_L IF sw2 = ON AND sw3 = ON THEN GOTO M1_L_M2_R IF sw1 = ON AND sw2 = ON THEN GOTO M1_LR IF sw3 = ON AND sw4 = ON THEN GOTO M2_LR led1 = ON DELAYMS tijd IF sw1 = off THEN GOTO M1_LR led1 = off led2 = ON DELAYMS tijd IF sw1 = off THEN GOTO M1_LR led2 = off led3 = ON DELAYMS tijd IF sw1 = off THEN GOTO M1_LR led3 = off led4 = ON DELAYMS tijd IF sw1 = off THEN GOTO M1_LR led4 = off GOTO start M1_Linksom: IF sw1 = ON AND sw3 = ON THEN GOTO M1_M2_Rehtsom IF sw2 = ON AND sw4 = ON THEN GOTO M1_M2_Linksom IF sw1 = ON AND sw4 = ON THEN GOTO M1_R_M2_L IF sw2 = ON AND sw3 = ON THEN GOTO M1_L_M2_R IF sw1 = ON AND sw2 = ON THEN GOTO M1_LR IF sw3 = ON AND sw4 = ON THEN GOTO M2_LR led4 = ON DELAYMS tijd IF sw2 = off THEN GOTO M1_LR led4 = off led3 = ON DELAYMS tijd IF sw2 = off THEN GOTO M1_LR led3 = off led2 = ON DELAYMS tijd IF sw2 = off THEN GOTO M1_LR led2 = off led1 = ON DELAYMS tijd IF sw2 = off THEN GOTO M1_LR led1 = off GOTO start M2_Rechtsom: IF sw1 = ON AND sw3 = ON THEN GOTO M1_M2_Rehtsom IF sw2 = ON AND sw4 = ON THEN GOTO M1_M2_Linksom IF sw1 = ON AND sw4 = ON THEN GOTO M1_R_M2_L IF sw2 = ON AND sw3 = ON THEN GOTO M1_L_M2_R IF sw1 = ON AND sw2 = ON THEN GOTO M1_LR IF sw3 = ON AND sw4 = ON THEN GOTO M2_LR led5 = ON DELAYMS tijd IF sw3 = off THEN GOTO M2_LR led5 = off led6 = ON DELAYMS tijd IF sw3 = off THEN GOTO M2_LR led6 = off led7 = ON DELAYMS tijd IF sw3 = off THEN GOTO M2_LR led7 = off led8 = ON DELAYMS tijd IF sw3 = off THEN GOTO M2_LR led8 = off GOTO start M2_Linksom: IF sw1 = ON AND sw3 = ON THEN GOTO M1_M2_Rehtsom IF sw2 = ON AND sw4 = ON THEN GOTO M1_M2_Linksom IF sw1 = ON AND sw4 = ON THEN GOTO M1_R_M2_L IF sw2 = ON AND sw3 = ON THEN GOTO M1_L_M2_R IF sw1 = ON AND sw2 = ON THEN GOTO M1_LR IF sw3 = ON AND sw4 = ON THEN GOTO M2_LR led8 = ON DELAYMS tijd IF sw4 = off THEN GOTO M2_LR led8 = off led7 = ON DELAYMS tijd IF sw3 = off THEN GOTO M2_LR led7 = off led6 = ON DELAYMS tijd IF sw3 = off THEN GOTO M2_LR led6 = off led5 = ON DELAYMS tijd led5 = off GOTO start M1_M2_Rehtsom: led1 = ON led5 = ON DELAYMS tijd led1 = off led5 = off led2 = ON led6 = ON DELAYMS tijd led2 = off led6 = off led3 = ON led7 = ON DELAYMS tijd led3 = off led7 = off led4 = ON led8 = ON DELAYMS tijd led4 = off led8 = off GOTO start M1_M2_Linksom: led8 = ON led4 = ON DELAYMS tijd led8 = off led4 = off led7 = ON led3 = ON DELAYMS tijd led7 = off led3 = off led6 = ON led2 = ON DELAYMS tijd led6 = off led2 = off led5 = ON led1 = ON DELAYMS tijd led5 = off led1 = off GOTO start M1_L_M2_R: led4 = ON led5 = ON DELAYMS tijd led4 = off led5 = off led3 = ON led6 = ON DELAYMS tijd led3 = off led6 = off led2 = ON led7 = ON DELAYMS tijd led2 = off led7 = off led1 = ON led8 = ON DELAYMS tijd led1 = off led8 = off GOTO start M1_R_M2_L: led8 = ON led1 = ON DELAYMS tijd led8 = off led1 = off led7 = ON led2 = ON DELAYMS tijd led7 = off led2 = off led6 = ON led3 = ON DELAYMS tijd led6 = off led3 = off led5 = ON led4 = ON DELAYMS tijd led5 = off led4 = off GOTO start M1_LR: led1 = off led2 = off led3 = off led4 = off GOTO start M2_LR: led5 = off led6 = off led7 = off led8 = off END