another approach
Code:'* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 29/11/2014 * '* Version : 1.0 * '* Notes : * '* : pic12f1822 * '**************************************************************** #CONFIG cfg1 = _FOSC_INTOSC cfg1&= _WDTE_ON cfg1&= _PWRTE_OFF cfg1&= _MCLRE_ON cfg1&= _CP_OFF cfg1&= _CPD_OFF cfg1&= _BOREN_ON cfg1&= _CLKOUTEN_OFF cfg1&= _IESO_ON cfg1&= _FCMEN_ON __CONFIG _CONFIG1, cfg1 cfg2 = _WRT_OFF cfg2&= _PLLEN_OFF cfg2&= _STVREN_ON cfg2&= _BORV_19 cfg2&= _LVP_OFF __CONFIG _CONFIG2, cfg2 #ENDCONFIG osccon=$6a '4 mhz anselA=0 trisa=000 a var byte b var byte c var byte d var byte pin_mode var byte x var byte all_off var byte pins_on var byte a=1 ;portb.0 b=2 ;portb.1 c=4 ;portb.2 d=16 ;portb.4 pin_mode=0 all_off=!(a+b+c+d) lata = lata & all_off action: pins_on=a+b for x = 1 to 5 lata = lata | pins_on pause 200 lata = lata & all_off pause 200 next x pins_on=c+d for x = 1 to 5 lata = lata | pins_on pause 200 lata = lata & all_off pause 200 next x gosub shuffle goto action shuffle : pin_mode=pin_mode+1 select case pin_mode case 1 a=16 ;a var portb.3 b=4 ;b var portb.2 c=2 ;c var portb.1 d=1 ;d var portb.0 case 2 a=1 ;a var portb.0 b=16 ;b var portb.3 c=4 ;c var portb.2 d=2 ;d var portb.1 case 3 a=1 ;a var portb.0 b=2 ;b var portb.2 c=2 ;c var portb.1 d=16 ;d var portb.3 case 4 a=1 ;a var portb.0 b=2 ;b var portb.1 c=4 ;c var portb.2 d=16 ;d var portb.3 pin_mode=0 end select return




Bookmarks