'**************************************************************** '* BarLedbasic.bas '* Ilumina consecutivamente los LEDs conectados al '* PORTB 0..7 '* Si PORTA.0 es 1 Va hacia arriba (De PORTB.0 a .7) '* Si PORTA.0 es 0 Va hacia abajo (De PORTB.7 a .0) '**************************************************************** @ DEVICE PIC16F628,WDT_OFF,PWRT_ON,MCLR_ON,BOD_OFF,CPD_OFF,PROTECT_OFF Define OSC 4 BARLED Var PORTB BARLED1 Var PORTB.0 BARLED2 Var PORTB.1 BARLED3 Var PORTB.2 BARLED4 Var PORTB.3 BARLED5 Var PORTB.4 BARLED6 Var PORTB.5 BARLED7 Var PORTB.6 BARLED8 Var PORTB.7 Inicio: CMCON = %00000111 ' Pines PortA a Digital (No comparator) TRISA = %00000001 ' El pin 0 de PORTA a Entrada TRISB = %00000000 ' Todos los pines del PORTB a Salida Gosub WashBarLed ' Pone a Low todos los BARLED Loop: if PORTA.0 = 1 then ' Hacia Arriba De BARLED1 a BARLED8 High BARLED1 : Gosub WashBarLed High BARLED2 : Gosub WashBarLed High BARLED3 : Gosub WashBarLed High BARLED4 : Gosub WashBarLed High BARLED5 : Gosub WashBarLed High BARLED6 : Gosub WashBarLed High BARLED7 : Gosub WashBarLed High BARLED8 : Gosub WashBarLed else ' Hacia Abajo De BARLED8 a BARLED1 High BARLED8 : Gosub WashBarLed High BARLED7 : Gosub WashBarLed High BARLED6 : Gosub WashBarLed High BARLED5 : Gosub WashBarLed High BARLED4 : Gosub WashBarLed High BARLED3 : Gosub WashBarLed High BARLED2 : Gosub WashBarLed High BARLED1 : Gosub WashBarLed Endif Goto Loop WashBarLed: Pause 500 BARLED = %00000000 return End