10/6/2017 Curso de programación de PIC en PICBasic Pro

Curso de programación de PIC en PICBasic Pro

Temas similares

Aqui esta el diagrama de los proyectos que manejaremos con lcd es el mismo de los anteriores (
mensaje y desplazamiento) en formato dibujo , archivo comprimido si por el caso cambiaremos al pic
16f877A perola configuracion segura siendo la misma 

pines pic pines LCD 2x16

RB0 D4
RB1 D5
RB2 D6
RB3 D7
RB4 RS
RB5 E
RW a tierra  

estoy son los pines que aparecen en proteus al seleccionar el pic y el LCD 2x16 se tiene que realizar la
conexion antes descrita.
Archivos Adjuntos

perdonaran la ortografia pero vamos con un proyecto interesante visualizacion de caracteres especiales
en LCD 2X16,para ello aclaremos lo siguiente:

Un dispositivo LCD dispone de dos tipos de memorias ambas independientes. Estas memorias se
denominan DD RAM y CG RAM.

­DD RAM (Display Data Ram)

Es la memoria encargada de almacenar los caracteres de la pantalla que se esten visualizando en ese
momento, o bien, que esten en una posición no visible. El display tiene una capacidad de 2 lineas
horizontales por 40 caracteres cada una, de los cuales solo seran visibles 2 lineas de 16 caracteres
cada una. La DDRAM tiene un tamaño de 2x40=80 bytes.

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 1/92

10/6/2017 Curso de programación de PIC en PICBasic Pro

CG RAM (carácter generator RAM)

La CG RAM contiene los caracteres que pueden ser definidos por el usuario, es decir que pueden ser
personalizados. Está formada por 64 posiciones, con direcciones $00­$3F. Cada posición es de 5 bits. 
La memoria esta dividida en 8 bloques que corresponden a los posibles caracteres creados por el
usuario que van del 0 al 7.

Cada carácter esta constituido por una matriz de 5 columnas por 8 filas. De este modo un 1 indica un
punto de la matriz encendido, y un 0 apagado.

Programa generacion de caracteres pic basic pro utilizando un pic 16f877A un LCD 2x16 con
comunicacion a 4 bits:

Código:

@ device xt_osc ; oscilador externo XT  
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz  

' DEFINICIÓN DE REGISTROS PARA EL LCD 
Define LCD_DREG PORTB 'Utilizar 4 bits del puerto B para tx de datos 
Define LCD_DBIT 4     'Desde el Bit B.4 al Bit B.7 
Define LCD_RSREG PORTB'Selección del puerto del registro  
Define LCD_RSBIT 3    'En el bit B.1 
Define LCD_EREG PORTB 'Utilizar el enable en el puerto B 
Define LCD_EBIT 2     'En el bit B.2 
' Establecer el puerto B como salida 
TRISB=0 

M var byte       ;creacion de variable 

Pause 500 ' tiempo para inicializar LCD 

RUTINA: 

    LCDOUT $FE,64 ' COMIENZA DEFINICION 

    LCDOUT $0,$E,$A,$1F,$1B,$1F,$1F,$0 ' 3 candado cerrado 
    LCDOUT $0,$E,$8,$1F,$1B,$1F,$1F,$0 ' 4 CANDAdO ABIERTO 
    LCDOUT $E,$A,$4,$1F,$4,$E,$A,$0 ' 5 MONITO 
    LCDOUT $A,$A,$0,$4,$11,$E,$0,$0 ' 6 cara feliz 

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 2/92

10/6/2017 Curso de programación de PIC en PICBasic Pro

    LCDOUT $A,$A,$0,$4,$11,$E,$6,$0 '7 cara lengua 
  
    LCDOut $FE, 1 ' LIMPIA EL DISPLAY 
    LCDOUT $FE,$84,"CARACTERES"; mensaje en la primera linea LCD 
    LCDOUT $FE,$C0   ;caracteres personalizados segunda linea LCD 2X16 

; las siguientes lineas del programa sirven para visualizar en la segunda linea del 
LCD 2X 16 los caracteres especiales  

    FOR M = 0 TO 4    
        LCDOUT M 
        PAUSE 300 
    NEXT M 

    PAUSE 1500 

    LCDOut $FE, 1 ' LIMPIA EL DISPLAY 
    LCDOUT $FE,$81,"PERSONALIZADOS"   ;mensaje  la primera linea LCD 2X16 

    LCDOUT $FE,64 'COMIENZA DEFINICION 
     
     
    LCDOUT $1F,$11,$A,$4,$A,$11,$1F,$0 ' 2 RELOJ ARENA  
    LCDOUT $11,$1F,$1F,$15,$1F,$1B,$E,$0 ' 3 DIABLO 
    LCDOUT $E,$1F,$15,$1F,$1F,$E,$E,$0 ' 4 CALAVERA 
    LCDOUT $4,$2,$4,$0,$1F,$11,$E,$0 ' 5 TAZA 
    LCDOUT $0,$E,$11,$1F,$4,$14,$8,$0 ' sombrilla 

; las siguientes lineas del programa sirven para visualizar en la segunda linea del 
LCD 2X 16 los caracteres especiales  

LCDOUT $FE,$C0       
    FOR M = 0 TO 4     
        LCDOUT M 
        PAUSE 300 
    NEXT M     

    PAUSE 1500 

    LCDOUT $FE, 1 ' LIMPIA EL DISPLAY 
    GOTO RUTINA

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 3/92

 ENVIAR MENSAJE AL LCD  lcdout $fe.10/6/2017 Curso de programación de PIC en PICBasic Pro Por ultimo anexo simulacion en proteus 7.7  Define LCD_RSREG PORTB'Selección del puerto del registro   Define LCD_RSBIT 4    'En el bit B. ldc 2x16 y un generador de señales cuadradas ubicado por el puertoA2.hex . sin mas el codigo fuente: Código: @ device xt_osc . MOSTRAR PULSOS EN LCD SEGUNDA LINEA  http://www.4 . codigo fuente.pulsos    . oscilador externo XT   define osc 4 .forosdeelectronica.$82.1            . especifica que se va a utilizar uno de 4 Mhz   ' DEFINICIÓN DE REGISTROS PARA EL LCD  Define LCD_DREG PORTB 'Utilizar 4 bits del puerto B para tx de datos  Define LCD_DBIT 0     'Desde el Bit B.LIMPIA lcd  lcdout $fe.html 4/92 .1 respectivamente. variable con capacidad de 65535  loop:  count porta. configuracionde pines del PIc 16f84A  Alarma0 var porta.4 al Bit B.dec pulsos."hz"    .0  Alarma1 var porta.1000.la carpeta esta en formato comprimido Archivos Adjuntos Que tal siguiendo con los proyectos de lcd un frecuenciometro con el pic 16f84A .1  . CONTAR LOS PULSOS POR EL PUERTO A2  lcdout $fe.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.1  Define LCD_EREG PORTB 'Utilizar el enable en el puerto B  Define LCD_EBIT 5     'En el bit B.2  ' Establecer el puerto B como salida  TRISB=0  ."fecuencia:"     . definicion de variables   pulsos var word        . .2. en donde se capta los pulsos y se visualizan el LCD; con alarmas de activacion condicionales ubicadas en el puert A 0.$c5.

SI PULSOS EXCEDE 750 IR A EMER1  if pulsos<320 then EMER2       . SI PULSOS DECIENDE  320 IR A EMER2  LOW ALARMA0:LOW ALARMA1  GOTO LOOP  EMER1:                          . driver l293b.forosdeelectronica.VARIABLE PARA GUARDAR EL VALOR DE LDR1  http://www. 895 visitas) ldc_frecuen_127.adaptando en un pequeño protoboard el circuto para controlar los dos motores que componen el carrito.ROBOT SEGUIDOR DE LUZ  b0 var byte         .utilice un pic 16f84a. RUTINA EMER1                                                HIGH ALARMA0  LOW ALARMA1  GOTO LOOP  EMER2:                                   .  Este es dodigo fuente: Código: @ device xt_osc .condicionales para alarmas  if pulsos>750 then EMER1      .zip (31. oscilador externo XT   define osc 4 .9 KB (Kilobytes).com/f24/curso­programacion­pic­picbasic­pro­20658/index3.RUNITA EMER2  LOW ALARMA0  HIGH ALARMA1  GOTO LOOP Archivos Adjuntos frecuencimetro_135. 812 visitas) Robot seguidor de luz con pbp Bueno amigos quiero compartir con ustedes el desarrollo de un robot seguidor de luz bajo la programacion en pic basic pro.html 5/92 .zip (30. especifica que se va a utilizar uno de 4 Mhz   .10/6/2017 Curso de programación de PIC en PICBasic Pro .fotoceldas y como estructura del robot un carro viejo de rf que tenia.7 KB (Kilobytes). No coloque los testigos (leds) por el espacio en la proto para controlar el motor 1 utilice el comando PWM.

1  LED3 VAR PORTA.SI B1 ES MAYOR QUE BO ENTONCES IR A DERECHA  straight:                       .LEE LDR1 Y GUARDA VALOR EN BO  pot portb.255.ACTIVA SALIDA P3 Y DESACTIVA SALIDA P4  HIGH LED2                      .IR A INICIO   left:                         .b0              .RESTE EL VALOR DE B1 CON B0 Y GUARDE EL                                 .125.125.html 6/92 .255.RUTINA COMIENZO  pwm EN2.forosdeelectronica. habilitador inversor giro MOTOR 2  EN2 VAR PORTB.SALIDA MOTOR2  p4 var portb.VARIABLE DE COMPARACION DE LDR1 Y LDR2  p2 var portb.SI BO =B1 ENTONCER IR  ALA RUTINA STRAIGHT  if b0 > b1 then left            .INICIO  pot portb.6.10/6/2017 Curso de programación de PIC en PICBasic Pro b1 var byte         .b1              .VARIABLE PARA GUARDAR VALOR DE LDR2   b2 var byte         .SALIA MOTOR2 EN1 var portb.0  LED2 VAR PORTA.30:HIGH p2  HIGH EN1: LOW P3:high p4 .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.0      .4      .RUTINA DERECHA  b2 = b1‐b0                     .2  start:                          .RUTINA IZQUIERDA 1  pwm EN2.IR A INICIO  right:                         .VARIABLE B2   if b2 > 15 then left1         .ENCIENDE TESTIGO                goto start                    .30:HIGH p2  LOW EN1: low p3:low p4   .LEE LDR2 Y GUARDA VALOR EN B1  If b0 = b1 then straight        .IR A INICIO  left1:                       . HABILITA MOTOR 1  high led1  goto start                     .RESTE EL VALOR DE BOY B1 Y GUARDELO EN LA                                 .SI BO ES MAYOR A B1 IR A IZQUIERDA  if b1 > b0 then right           .VALOR EN B2  http://www.1      .3    .5.IZQUIERDA 1                                      goto straight                 .SALIDA MOTOR1  p3 var portb.RUTINA IZQUIERDA  b2 = b0‐b1                    .2      .SIB2 ES MAYOR QUE 15 ENTONCES IR A RUTINA                                 .HABILITADOR MOTOR UNO  LED1 VAR PORTA.

RUTINA DERECHA 1  pwm EN2.IR A INICIO  right1:                        .pines de las filas   b var portb.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. oscilador externo XT   define osc 4 .DERECHA 1     goto straight                  .30:high p2  HIGH EN1:HIGH P3:low p4 .donde se conecta la chicharra  led var porta.ENCIENDE TESTIGO  goto start                      .si la clave es incorrecta se emite tres activaciones en bip y led ubicados en el puerto A0 y A1 respectivamente.donde se conecta el led   door var porta.donde se guarada tecla pulsada  repit var byte                 .2   .0       .configuracion de pines del pic 16f84a  bip var porta.forosdeelectronica. especifica que se va a utilizar uno de 4 Mhz  . codigo fuente en pic basic pro Código: @ device xt_osc .pic 16f84a y testigos de operatividad.1  .IR A INICIO  end                             .10/6/2017 Curso de programación de PIC en PICBasic Pro if b2 > 15 then right1         .para hacer repeticiones   .2  d var portb.1  c var portb.SI B2 ES MAYOR QUE 15 ENTONCES IR A RUTINA                                  .FIN DE PROGRAMA Archivos Adjuntos Amigos vamos con un proyecto interesante control de acceso son clave utilizando un teclado matrixal de 4x4.3   http://www.creacion de variables  tecla var byte                 .html 7/92 .ACTIVA SALIDA P4 Y DESACTIVA SALIDA P3  HIGH LED3                       . al ingresar los cuatro digitos correctamente se energiza un rele durante tres segundos ubicado en el pin door del pic .125.0      .donde se conecta rele para la puerta  a var portb. la activacion de cada tecla va acompañado de la visualizacion del led ubicado en pin 18 del pic 16f84a.

sensar fila a  if uno=0 then tecla=1:return  if dos=0 then tecla=2:return  if tres=0 then tecla=3:return  if cuatro=0 then tecla=10:return  high a  low b  if uno=0 then tecla=4:return  if dos=0 then tecla=5:return  if tres=0 then tecla=6:return  if cuatro=0 then tecla=11:return  high b  low c  if uno=0 then tecla=7:return  if dos =0 then tecla=8:return  if tres=0 then tecla=9:return  if cuatro=0 then tecla=12:return  high c  low d  if uno=0 then tecla=14:return  if dos=0 then tecla=0:return  if tres=0 then tecla=15:return  if cuatro=0 then tecla=13:return  high d  pause 10  goto barrido  .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.incica funcionamiento del sistema   high led:high bip  pause 1000  low led:low bip  goto teclauno        .4  dos var portb.6  cuatro var portb.7  iniciando:        .forosdeelectronica.5  tres var portb.10/6/2017 Curso de programación de PIC en PICBasic Pro uno var portb.html 8/92 . comparar clave  barrido:  low a               .rutina antirrebote de teclas  http://www.

html 9/92 .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.rutina para comparar claves  teclauno:  gosub barrido  gosub ptecla  if tecla=1then teclados  goto falso  teclados:  gosub barrido:gosub ptecla  if tecla=2 then teclatres  goto falso1  teclatres:  gosub barrido:gosub ptecla  if tecla=3 then teclacuatro  goto falso2  teclacuatro  gosub barrido:gosub ptecla  if tecla=4 then open  goto falso3  open:  for repit=1 to 2  pause 100  high led:high bip  pause 100  low led:low bip  next  http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro ptecla:  high led:low bip  pause 100  low led :low bip  espacio:  if uno=0 then espacio  if dos=0 then espacio  if tres=0 then espacio  if cuatro=0 then espacio  pause 25  return   .forosdeelectronica.

 etc. una mayor velocidad de transferencia de datos del pic al lcd. un lcd por ejemplo de 2x16 (muy comun) trabajan de dos modos con 8 bits o con 4 bits. debes si o si conocer la disposicion de las patas del pic. que es esto? la cantidad de patas que vas a conectar al pic.. es maravilloso pero no debes desesperarte. vayamos por partes. ahora para el lcd debes tener en cuenta un par de cosas.. con esto haces el oscilador. y dos condensadores de 22 picofaradios. de otra forma no sabes con que estas trabajando.html 10/92 ..com/f24/curso­programacion­pic­picbasic­pro­20658/index3.. por ahora debes poder armar el soft. primero el 16f877a no tiene oscilador interno.forosdeelectronica.rutina teclas erroneas  falso:  gosub barrido:gosub ptecla  falso1:  gosub barrido:gosub ptecla  falso2:  gosub barrido:gosub ptecla  falso3:  for repit=1 to 3  pause 100  high led:high bip  pause 100                        low led: low bip  next  goto teclauno  end Archivos Adjuntos bien amigo patico. busca información en google que hay mucha.ahora bien ademas de las 4 u 8 patas debes conectar tambien otras dos que son "E" (enable). si es de 4 bits conectas 4 patas del pic al lcd..10/6/2017 Curso de programación de PIC en PICBasic Pro high door  pause 3000  low door   goto teclauno  .. 33 in/out. si es de 8 conectas 8 patas del lcd al pic. que se gana con esto. por ejepmlo: (limpiar la pantalla) o si recibe un caracter. mas memoria eeprom.saludos te adjunto un esquema de http://www. es indispensable contar con el datasheet u hoja de datos del mencionado pic. el pic lo pone a 1 para que el lcd se active y luego tienes otra que es "RS" (register select) que sirve para que el lcd sepa si recibe un comando. y debes ser paciente para poder entender como funciona el sistema. debes conserguirte un cristal de 4 mhz que es lo mas comun. pero es mucho mas completo que el 16f628 en otras areas.

giro izquierda referenciado de 0 a 1000.html 11/92 . saludos Imágenes Adjuntas Temas similares Bien vamos con proyecto interesante aqui os dejo el codigo fuente comentado: Código: . donde posicion de centro es 500.  . Definicion de conexiónes del LCD  Define  LCD_DREG        PORTD     Define  LCD_DBIT        4  Define  LCD_RSREG       PORTA  Define  LCD_RSBIT       0  Define  LCD_EREG        PORTA  Define  LCD_EBIT        1  pos     var     word    ' Posicion del servo  servo1  var     PORTC.1 como salida para controlar el servo  http://www.2     ' LCD R/W low = escritura          Pause 100       ' retardo para inicializar el LCD          OPTION_REG = $7f           Low servo1       . los cuales dan las posiciones: giro derecha .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.1 'pin donde se conecta el servo          ADCON1 = 7      ' PORTA y PORTE digitales          Low PORTA. especifica que se va a utilizar uno de 4 Mhz   ' Libreria para la operacion del programa   Define  LOADER_USED  1  .Programa en donde se mueve un servo motor de tres lineas con el pic 16f877A.se utiliza LCD 2X16 que muestra la posicion de giro dada por tres botones   . deficion de Oscilador Externo      @ device xt_osc . oscilador externo XT   define osc 4 .centro y   .10/6/2017 Curso de programación de PIC en PICBasic Pro conexion del lcd.forosdeelectronica.portc.conectados al puerto B.     .

1          Lcdout $fe.forosdeelectronica.Rutina para mostrar mensaje y valor decimal de la posicion del servo                    Lcdout $fe. #pos          servo1 = 1      ' iniciar pulso hacia el servo          Pauseus 1000 + pos          servo1 = 0      ' termine pulso           Pause 16        ' retardo         Goto LOOP   ' Crea un bucle cerrado  ' giro hacia la izquierda  left:   If pos < 1000 Then                  pos = pos + 1          Endif          Return  http://www.6 = 0 Then                  Gosub right          Endif          .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.10/6/2017 Curso de programación de PIC en PICBasic Pro         Gosub center    'ir a centro  ' progrma principal  LOOP:          PORTB = 0       ' PORTB lineas a cero logico para leer botones          TRISB = $fe                         'Rutinas para el chequeo de botones y posiciones del servo          If PORTB.2.4 = 0 Then                  Gosub left          Endif          If PORTB."Position = ".5 = 0 Then                  Gosub center          Endif          If PORTB.html 12/92 .

10/6/2017 Curso de programación de PIC en PICBasic Pro ' giro hacia la derecha  right:  If pos != 0 Then                  pos = pos ‐ 1          Endif          Return  ' posicion de centro  center: pos = 500          Return          End Archivos Adjuntos Visualizacion de sensor temperatura ds18s20 en lcd con pic 16f84A Que tal para mi amigo electroandres el hecho de recomendarte un sensor digital para tu proyecto es que el pic que vas a utilizar no tiene conversores A/D como el pic 16f877A por ello debes selecionar uno que pueda leer tu pic y adjuntar la medida obtenida en 8 byte para que posteriormente sea enviado el valor en decimal al lcd por comunicacion de 4 bits revisa este codigo espero sea de utilidad Código: 'DEFINICION OSCILADOR EXTERNO                                                             @ device xt_osc .forosdeelectronica. especifica que se va a utilizar uno de 4 Mhz   ' DEFINICION DE LIBRERIA PARA COMUNICACION   Define  LOADER_USED  1  'DEFINICION DE PINES PARA CONECTAR EL LCD  Define  LCD_DREG        PORTB  Define  LCD_DBIT        0  Define  LCD_RSREG       PORTB  Define  LCD_RSBIT       4  Define  LCD_EREG        PORTB  Define  LCD_EBIT        5                                      http://www. oscilador externo XT   define osc 4 .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 13/92 .

7         ' DEL PIC 16F84a          Low PORTB.$80.html 14/92 .7         ' PIN DEL SENSOR DS18S20 CONECTADO A PORTB.forosdeelectronica. "Temp:"      'MOSTRAR MENSAJE            'PROGRAMA PARA LECTURA DE TEMPERATURA EN EL LCD  INICIO:          Gosub init18S20          ' IR A RUTINA DE INICIALIZACION DEL LCD          command = $cc                     Gosub write18S20          command = $44           ' EMPIEZE CONVERCION DE TEMPERATURA          Gosub write18S20          Pause 2000              ' ESPERO 2S EG HASTA QUE FINALICE LA CONVERSION          Gosub init18S20                   command = $cc                     Gosub write18S20          command = $be           ' LEER TEMPERATURA          Gosub write18S20          Gosub read18S20  http://www.6             ' LCD R/W A CERO LOGIGO POR EL PIC 16F84a          Pause 100               ' 100 MS PARA INICIALIZAR LCD          Lcdout $fe. 1          Lcdout $fe.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.7   DQ_DIR  var     TRISB.10/6/2017 Curso de programación de PIC en PICBasic Pro ' CREACION DE VARIABLES  command var     byte            ' VARIABLE PARA COMANDO  i       var     byte            ' VARIABLE PARA CONTEO  temp    var     word            ' PARA GUARDAR VALOR TEMP  ' DETERMINACION DE PIN SENSOR DS 18S20 CONECTADO AL PIC 16F84a  DQ      var     PORTB.

forosdeelectronica.dec (temp."SENSOR DS18S20"                  Lcdout $fe. "oC"          Goto INICIO           ' CREA UN BUCLE CERRADO  ' INICIALIZA  DS18S20 Y CHEQUEA PRESENCIA  init18S20:          Low DQ                            Pauseus 500                     DQ_DIR = 1                        Pauseus 100                       If DQ = 1 Then                  Lcdout $fe. 1                   Lcdout $fe.$86.html 15/92 .0 * 5).".$83."NO CONECTADO"                  Pause 500                  Goto INICIO             Endif          Pauseus 400                       Return  ' RUTINA PARA COMUNICACION DEL PIC CON SENSOR DS1820 A 8 BYTE  write18S20:          For i = 1 to 8                          If command.".$C2.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. dec (temp >> 1).10/6/2017 Curso de programación de PIC en PICBasic Pro 'RUTINA PARA MOSTRAR VALOR DE TEMPERATURA EN EL LCD                    Lcdout $fe.0 = 0 Then                          Gosub write0                      Else                          Gosub write1                     Endif                  command = command >> 1            Next i          Return  ' RUTINA PARA DESHABILITAR DS18S20 A TRAVES DE UN BIT   http://www.

com/f24/curso­programacion­pic­picbasic­pro­20658/index3.10/6/2017 Curso de programación de PIC en PICBasic Pro write0:          Low DQ          Pauseus 60                       DQ_DIR = 1                        Return  ' RUTINA PARA HABILITAR DS18S20 A TRAVES DE UN BIT   write1:          Low DQ                    @       nop                  ' RETARDO DE 1us CON UN OSCILADOR EXTERNO DE 4MHz          DQ_DIR = 1                        Pauseus 60                        Return                               ' RUTINA PARA LEER DS18S20  read18S20:          For i = 1 to 16                         temp = temp >> 1                          Gosub readbit             Next i          Return  ' RUTINA PARA LEER BIT DS18S20  readbit:          temp.15 = 1                      Low DQ                   @       nop                  ' RETARDO DE 1us CON UN OSCILADOR EXTERNO DE 4MHz                   DQ_DIR = 1                        If DQ = 0 Then                  temp.forosdeelectronica.15 = 0               Endif          Pauseus 60                        Return          End Archivos Adjuntos Temas similares http://www.html 16/92 .

Si encuentras algun bug tambien avisamelo.html 17/92 .forosdeelectronica. posteala y veremos como solucionamos..) Cualquier cosa. configuración. har que mantener presionado el pulsador "SET" por un momento (ENTRAS AL MODO CONFIGURACION).. bueno. y comenzará a parpadear en el display el campo a ser modificado: hora.. Cabe destacar que la simulacion está en proteus 7. En el archivo adjunto está la simulación y el programa.. solo falta unas lineas (variables de almacenamiento de la hora de la alarma.5 con excelentes resultados . Con los botones UP o DOWN_MODE. Recomendaría usar un 628A.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. Para esto...10/6/2017 Curso de programación de PIC en PICBasic Pro Archivos Adjuntos Avances proyecto temperatura RSR 232 y labview Que amigos he simulado el proyecto en proteus 7. Quisiera aportar con el proyecto que se solicitaba de reloj digital con LCD.  Para acceder al modo de la alarma. Como dije anteriormente.. deben revisar los pinouts. Ya cuando se modifican todos los campos. Hola! Encontré este foro muy interesante sobre microcontroladores PIC en Basic.. con un PIC 16F877A.. el cursor cambia a minutos. sin mas preambulos les anexo lo que llevo ahora me dedicare a que se muestre en la PC la temperatura por medio grafico utilizando LABVIEW. para migrar a 16F628/A o algun otro. http://www. pulsando otra vez cambia a dia. se cambia el valor del campo seleccionado... ... una breve explicación del funcionamiento: Al encender el circuito. y la capacidad de memoria. Archivos Adjuntos Reloj En LcD con igualador y alarma... he conseguido buena información para ello. corre muy bien y se logra mostrar la tempetura que sensa el LM 35 con buena precision al igual que los mensajes que he enviado a traves de la comunicacion RS 232.4sp3... Solo falta la parte de la alarma [solo unas 5 ó 6 lineas de codigo más]... pulsando otras vez. duda del codigo.. se carga una hora/fecha al RTC (DS1307). o si logras hacer el programa mas corto tambien! Adjunto un screencapt y el modelo con la simulación. el Reloj sigue normalmente con el último puslo en SET.. que después puede ser configurada en cualquier monento con los pulsadores (MODO NORMAL). debes presionar DOWN_MODE en el MODO NORMAL. hasta aqui va el código.. me recibe y recepciona datos.

B. especifica que se va a utilizar uno de 4 Mhz   CMCON     = 7          ' PUERTO A DIGIAL  VRCON     = 0          ' A/D Voltage referencia deshabilitado  TRISB     = %11110000  ' B. clases j.html 18/92 .m  12:300 pm ini.B.m 12:00 pm ter...10/6/2017 Curso de programación de PIC en PICBasic Pro En unos dias subo ya el proyecto completo.y frecuencia de 38 KHZ aproximadamente   @ device xt_osc . clases j.t 6:30 pm ter. se puede incrementar los minutos en el boton minus . oscilador externo XT   define osc 4 .2 LEDs  http://www. Programa PWM con Hardware con el pic 16f628A con un ciclo util del 50%   . calses j. El proyecto consiste en visualizar jornadas de estudio de 6:00 AM a 12:00 AM hora en   que empieza y culmina la jornada mañana con sus respectivos mensajes visualizados en  el LDC activandose una alarma durante tres segundos el mismo procedimiemto se repite  para la jornada tarde.0. Imágenes Adjuntas Que tal amigo lectroandres interprete mal su proyecto creo que no deseas utilizar el integrado DS 1370 por lo que te anexo un proyecto con alarmas un reloj de clases. clase j. los mensajes apareceran siempre que se ejecute el  cambio de jornadas programas: 6:00 am ini.1.t  Lo habia reralizado para un evidencia de estudio te anexo todo lo necesario espero que esto sea lo que necesites o te ayude a realizarlo.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.B. Archivos Adjuntos Para mi amigo cripty te anexo documento de utilizacion de los registros del pic 16f628A para la operacion del pwm por hardware sin la utilizacion del comando PWM en el entorno de microcode studio aqui esta el codigo Código: . Al activar el boton comienzo se da inicio a la jornada mañana.3=PWM.

0  pause 50  high PortB.127.forosdeelectronica. Programa PWM con el pic 16f84A con un ciclo util del 50%   @ device xt_osc .10/6/2017 Curso de programación de PIC en PICBasic Pro PR2       = 25         ' Seleecion PWM para aproximadamente 38KHz  CCPR1L    = 13         ' PWM Duty‐Cycle a 50%  CCP1CON   = %00001100  ' modo de seleccion = PWM  T2CON     = %00000100  ' Timer2 ON + 1:1 prescaler  LOOP:       high PortB.2  pause 50  goto LOOP Por ultimo es conveniente tener la hoja de caracteristicas del pic que se va ha utilizar y aprovechar mejor su memoria por lo que se conoce mejor la estructura interna del micro. oscilador externo XT   define osc 4 .0  pause 50  low PortB.1  pause 50  low PortB.1  pause 50  high PortB. Sacar 30 pulsos PWM por el puerto b3 con un ciclo util del 50% Archivos Adjuntos Temas similares hola gracias por responder mira en un manual o algo asi de PBP mire que << es para desplazamientos izquierdo y >> para desplazamiento derecho eso no se la verdad para que sirve me podrias explicar y http://www.html 19/92 .2  pause 50  low PortB.3.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. en el caso de los micros que no poseen registro PWM es conveniente utilizar el comando PWM que nos facilita PBP para realizar la modulacion de ancho de pulso que necesitemos como en el caso del pic 16f84A por ejemplo:  Código: . especifica que se va a utilizar uno de 4 Mhz   PWM portB.30 .

3 0..ahora tambien quiero restarle a mi variable p1­10 me comienza en 6225 o algo asi y al seguir avanzando sigue la escala no entiendo puedes darme una mano con eso por favor con lo de los decimales para que lo mires te adjunto la simulacion y el programa.forosdeelectronica.7 0.   'Definir libreria    Define  LOADER_USED  1  'definir oscilador externo  @ device xt_osc  define osc 4  ' Define LCD connections  Define  LCD_DREG        PORTD  Define  LCD_DBIT        4  Define  LCD_RSREG       PORTD  Define  LCD_RSBIT       3  http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro eso de los decimales mas o menos me di cuenta pero como puedo hacer para que la los decimales aparezcan al mover mi potenciometro un poco aparezca 0.6 0. programa de visualizacion de teclado   '          1 2 3 A   '          4 5 6 B  '          7 8 9 C  '          * 0 # D  ' con pic 16f877A y lcd 2x16 en donde muestra la tecla presionada en la pantalla  ' del LCD utilizando operandos matematicos del PBP.4 0.1 y a medida que vaya moviendo pueda verlo 0..ahora tengo otra duda talvez bien torpe peron no entiendo por ejemplo tengo mi potenciometro que lo lee de 0 a 255 pero para mi conveniencia lo quiero transformar a otra escala es decir de 0 a 500 lo mas facil que se me ocurrio era (P1*500/255) p1 es mi variable pero al mirar en el LCD en 0 era 0 estaba bien en la mitad del potenciometro meda 256 pero sigo abanzando se baja a 4 y al final me da 255 y eso me tiene muy confundido.2 0.5 0. Archivos Adjuntos proyecto de lectura teclado 4X4 con letras con pic 16f877A que tal vamos con otro proyecto de teclado matrixal pero de visualizacion de letras (A;B;C;D;*;#) he aqui el codigo : Código: ..8 0..com/f24/curso­programacion­pic­picbasic­pro­20658/index3..9 1.html 20/92 .

7 = 0        ' Activa resistencias internas PORTB   ADCON1 = 7              ' PORTA y PORTE digital  Low PORTD.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.B      ' mostrar tecla primida  Goto inicio                ' Subrutina para leer tecla pulsada   leer:  Pause 50                ' esperer 50ms  leer0:  PORTB = 0               ' puerto B como salida  TRISB = $f0               If ((PORTB >> 4) != $f) Then leer0      Pause 50                  leer1:  For col = 0 To 3         PORTB = 0         TRISB = (dcd col) ^ $ff   fila = PORTB >> 4        'leer filas   If fila != $f Then tecla       http://www.1             ' LCD R/W low (escritura)  Pause 100               ' tiempo para inicializar el LCD  Lcdout $fe.10/6/2017 Curso de programación de PIC en PICBasic Pro Define  LCD_EREG        PORTD  Define  LCD_EBIT        2  ' Definicion de variables  col     Var     Byte            '  columnas  fila    Var     Byte            ' filas   B       Var     Byte            ' numero   A       Var     Byte            ' tecla a visualizar  OPTION_REG.html 21/92 . 1.1. "PRESIONE TECLA"  ' mensaje   inicio:  Gosub leer              Lookup A. ["0123456789*#ABCD"].B  Lcdout $fe.

7.0.5.1 KB (Kilobytes).11.4 KB (Kilobytes).10/6/2017 Curso de programación de PIC en PICBasic Pro Next col  Goto  leer1             tecla:   B = (col * 4) + (ncd (fila ^ $f)) ‐ 1  ' transformadorrmacion de tecla activada   ' 10 = *  ' 11 = #  ' 12 = A  ' 13 = B  ' 14 = C  ' 15 = D  Lookup B. [1.3.forosdeelectronica.zip (56. Imágenes Adjuntas http://www.14.9. 724 visitas) Temas similares Respuesta: Curso programacion de pic en bsic pro alli envio un esquema que podria ayudar.12.13.zip (86.10. 809 visitas) lcdtecla.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.adjunto mi esquema para que me ayuden a resolverlo.2.4. adicionando un optotriac sin cruce y tambien puede ser usar el optotriac con cruce por cero ueno los diodos deberan ser 1n4007 Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro si tienes micha razon pero imagina lo siguiente: mi sistema es trifasico y el cruce por cero es para evitar el arco en los contactores (que lo desgastan) pero teniendo el desfasaje en que momento cierro el contactor ya que al cerrar este se cierran los 3 contactos en una ; los triacs los puedo disparar alternadamente pero no al contactor.A  Return                  ' retornar   End Como siempre dejo la simulacion en proteus .15].html 22/92 . codigo fuente y esquematico "comentar es agradecer" Archivos Adjuntos TCLEDO ­LCD.8.6.

html 23/92 . solo necesito un par de lineas de codigo como para guiarme. queria pedirte si puedes ayudarme a comprender como utilizar el serin y serout del pbasic. te paso un dibujo del circuito basico espero que se entienda .. te explico un poco lo que quiero hacer. un saludo y espero puedas ayudarme gracias Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro claro.10/6/2017 Curso de programación de PIC en PICBasic Pro Temas similares Respuesta: Curso programacion de pic en bsic pro saludos mecatrodatos he estado leyendo este post y veo que eres muy bueno con el pbasic. y tengo una duda !! Use todo el puerto B para formar una secuencia  de luces. probalo vos mismo. Mi pregunta es: si no solo quisiera conectar un solo led http://www. aca te dejo la simulacion en proteus Archivos Adjuntos leds en paralelo !! Hola a todos !! soy nuevo en este foro y tengo una pregunta sobre los led :  Bueno estoy usando el pic 16F84A para hacer una secuencia de luces. en el receptor se encienda el led que corresponde al mismo. una idea basica seria por ejemplo que si yo presiono un boton en el transmisor.. por eso.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.forosdeelectronica.  mi idea es implementar un control remoto basado en el pic16f84A pero la verdad que no entiendo muy bien como utilizar estas dos instrucciones .

 si quisiera conectar 20 leds en paralelo en cada salida del puerto B.  http://www.9 KB (Kilobytes). 33 visitas) entrenador para microcontrolador con PBP. entonces el problema radicaria en saber cuanta corriente proporciona cada salida  del puerto B del pic!!! y creo que no va a ser la sufiente. 34 visitas  Andres111 manejo comunicacion serial entre PICS con los comandos serin y serout . vere como te puedo ayudar con la comunicacion SPI apartir de Hardware.  Ahora como podria hacer para que cada led tenga la suficiente corriente que necesite  para billar con toda su intencidad!???? Tendria que usar un transistor como amplificador de corriente o que es lo que deberia hacer ?????   adjunto el diagrama del cto en proteus i el codigo en HEX.10/6/2017 Curso de programación de PIC en PICBasic Pro a cada salida. para cargar al pic!! Espero puedan ayudarme !! =D !! Gracias de antemano!!  Archivos Adjuntos Temas similares Respuesta: Curso programacion de pic en bsic pro listo perdona para ayudarte mejor visita primero el Entrenador de pic con pic basic pro que poste y el manual hay ejemplo y estan en español espero que esto te sirva de base no dudes en preguntar Archivos Adjuntos pbpesp.html 24/92 .0 KB (Kilobytes).pdf (646. por otro lado para los proyectos que vienen necesitamos saber un poco de Visual basic por lo que facilito un documento para empezar a conocer este programa y saberlo utilizar Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Para Ayudarte realizaremos un programa por hardware con los registros del puerto C del Pic 16f877a.zip (954.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

3> pueden ser configuradas con niveles I2C o con niveles SMBus mediante el bit CKE del registro SSPSTAT<6>.­Es el registro de datos cuyos 8 bits RC7. cuando se selecciona la función I2C. Nombre Función multiplexada RC0/T1OSO/T1CKI Salida oscilatoria del Timer1/reloj de entrada del Timer 1  RC1/T1OSI/CCP2 Entrada oscilatoria del Timer1/entrada de captura2 o salida de  comparación2 o salida PWM2 RC2/CCP1 Entrada de captura1 o salida de comparación1 o salida PWM1 RC3/SCK/SCL Reloj para los modos de comunicación serie síncrona SPI e I 2C RC4/SDI/SDA Dato de entrada (en modo SPI)/ Dato de entrada­salida (modo I2 C)  RC5/SDO Dato de salida (en modo SPI) RC6/TX/CK Linea de transmisión asíncrona de la USART/reloj síncrono  RC7/RX/DT Linea de recepción asíncrona de la USART/dato síncrono  Tambien te adjunto documento donde explico el manejo de registros del pic 16ff877a para realizar el programa....­Registro de control de dirección de las líneas del puerto C. Que tal vamos a poner el siguiente codigo de comunicacion spi a traves de Hardware (manipulacion de http://www. de hecho.  En la siguiente tabla se resumen las líneas del puerto C y las de los periféricos que están multiplexadas con ellas.RC6..com/f24/curso­programacion­pic­picbasic­pro­20658/index3.10/6/2017 Curso de programación de PIC en PICBasic Pro El puerto C consta de 8 líneas bidireccionales y tiene asociados los registros:  Registro PORTC (07H). las patitas PORTC<4.html 25/92 . algunos periféricos configuran la línea como salida mientras que otros la configuran como entrada. Además.forosdeelectronica.RC0 reflejan directamente el valor lógico de las líneas físicas del puerto C. Las líneas del puerto C se encuentran multiplexadas con varias lineas controladas por otros periféricos.  Poniendo un 1 en un bit del registro TRISC se configura la línea correspondiente como entrada y poniendo un 0 se configura la línea correspondiente como salida.  Registro TRISC(87H).  Cada entrada del puerto C posee un buffer con disparador Schmitt. cuando se habilita la línea del periférico respectivo puede ser ignorada la configuración de TRISC.

7 'Seleccionar la muestra de datos de entrada de fase  CKE VAR SSPSTAT.  este el programa para el pic maestro: Código: ' Programa protocolo SPI entre dos Pic 16f877A usando Comunicación serial   ' sincrónica por medio de hardware a través del puerto C. oscilador externo XT   define osc 4 .5 'Habilita bit SSP   CKP VAR SSPCON.2 'LCD R/W linea a cero lógico   Pause 100 'espera paras inicializar el LCD  TRISC = 0 'puerto c como salida     SSPEN = 1 'pines activados SPI  CKP = 0 'reloj en funcionamiento bajo   CKE = 0 'transmitir a la transición inactivo a activo  SSPIF = 0 'Buffer de estado completo  http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro registros del puerto C) con dos pic 16f877A como proyecto.3 'SPI indicador de interrupción     i VAR BYTE 'contador del bucle  a VAR BYTE[6] 'Con capacidad para 6 caracteres leídos de esclavo     ADCON1 = 7 'Selección PORTA y PORTE como digital  Low PORTE.  '  ' El pic 16f877a maestro muestra valor del estado de un potenciómetro conectado   ' en RAO del pic 16f877a esclavo en una pantalla LCD a través de caracteres en   ' string.html 26/92 .forosdeelectronica.  'DEFINICION OSCILADOR EXTERNO      @ device xt_osc .6 'Selecciona bit de reloj  SSPIF VAR PIR1.4 'SELECCIONA POLARIDAD DE RELOJ  SMP VAR SSPSTAT. especifica que se va a utilizar uno de 4 Mhz     'Se definen registros del pic 16f877a maestro para conectar display  DEFINE LCD_DREG PORTD  DEFINE LCD_DBIT 4  DEFINE LCD_RSREG PORTE  DEFINE LCD_RSBIT 0  DEFINE LCD_EREG PORTE  DEFINE LCD_EBIT 1  SSPEN VAR SSPCON.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

html 27/92 ."Conversor A/D "  LCDOut $fe. especifica que se va a utilizar uno de 4 Mhz   'Asignar memoria RAM     dataout VAR BYTE[8] 'Salida de datos serie   SSPEN VAR SSPCON.5 'Habilitar bit SSP  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. DEC a[5] Pause 100     GoTo mainloop 'hacerlo de nuevo     getdata:      SSPBUF = "?" 'enviar? para iniciar la conversión  GoSub letclear 'esperar dato para eliminar  IF SSPBUF<>"!" Then getdata 'esperar para la respuesta (!)  For i = 0 to 5 'bucle de 6 caracteres  SSPBUF = 0 'escribir a SSPBUF para iniciar el reloj  GoSub letclear 'esperar para la recepción   a[i] = SSPBUF 'recibió en carácter de matriz  Next i 'recibe el siguiente carácter  Return     letclear:  IF SSPIF = 0 Then letclear 'esperar a SPI indicador de interrupción  PauseUs 25 ' pausa de 25uS   SSPIF = 0 'resetiar flag  Return Este es le programa para el pic esclavo Código: 'DEFINICIÓN OSCILADOR EXTERNO      @ device xt_osc . oscilador externo XT   define osc 4 .1 'Indicar recibió de cadena en lcd  LCDOut $fe.$c0. STR a.10/6/2017 Curso de programación de PIC en PICBasic Pro SMP = 0 'muestra en medio de los datos        mainloop:  GoSub getdata 'iniciar la conversión de datos y recibir     LCDOut $fe.$80.forosdeelectronica.

3 'indicador de interrupción ‐ último bit seleccionado  i VAR BYTE 'contador del bucle  a VAR BYTE[6] 'Con capacidad para 6 caracteres de datos     TRISC = %11011111 'configuración trisc   SSPCON = %00000101 'configurar SPI esclavo.0 análogo.10/6/2017 Curso de programación de PIC en PICBasic Pro CKP VAR SSPCON. el reto  ' PORTA y PORTE como pines digitales  dataout[0] = "P" 'La salida de datos predefinidos a "POT ="  dataout[1] = "O"  dataout[2] = "T"  dataout[3] = "="   dataout[4] = " "   mainloop:  SSPEN = 0 'desactivar / activar la SSP para restablecer el puerto  SSPEN = 1  GoSub letclear ''esperar a byte recibido  IF (SSPBUF <> "?") Then mainloop 'esperar? para iniciar la conversión     ADCIN 0.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.6 'Selecciona bit de reloj  SSPIF VAR PIR1.html 28/92 .4 'selección de polaridad  SMP VAR SSPSTAT. no SS     CKP = 0 'reloj al ralentí bajo  CKE = 0 'transmitir a la transición inactivo a activo  SSPIF = 0 'limpiar interrupción SPI  SMP = 0 'muestra en medio de los datos  ADCON1 = $0e 'PORTA.forosdeelectronica. dataout[5] 'Leer canal ADC 0.7 'Datos de entrada de fase  CKE VAR SSPSTAT. la 6 ª posición de la cadena de caracteres     GoSub senddata 'senviar"! " y la cadena de datos      GoTo mainloop 'volver a realizar     senddata:  GoSub letclear 'esperar   SSPBUF = "!" 'Enviar respuesta  For i = 0 to 5 'bucle   GoSub letclear '  SSPBUF = dataout[i] 'enviar variable de matriz  Next i 'próxima localización     http://www.

 ( < > = ) obtener tres posibles estados en dos salidas para controlar el driver del motor.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.zip (75.10/6/2017 Curso de programación de PIC en PICBasic Pro Return     letclear:  IF SSPIF = 0 Then letclear 'esperar a indicador de interrupción  SSPIF = 0 'resetiar bandera   Return por ultimo dejo simulación en proteus 7. anda bien. saludosss y feliz 2010. el funcionamiento es muy simple: se trata de comparar la variable de pulsin con la variable de pot y en funcion de la diferencia o igualdad de ambos valores.0 KB (Kilobytes).. 494 visitas) spi. http://www. si pulsin es mayor que pot anda bien. si pulsin es menor que pot. agradecere cualquier tipo de consejo.pdf (307.8 KB (Kilobytes). segun mi poco conocimiento en pbasic me parece que el programa que escribi deberia funcionar sin problemas. 461 visitas) Respuesta: Curso programacion de pic en bsic pro hola chicos feliz 2010!!! les cuento que estoy tratando de hacer una especie de servomotor con un pic 16f84 y un potenciometro como sensor de posision.html 29/92 .forosdeelectronica.6 . programa en pic basic pro y esquemático Archivos Adjuntos Comunicación SPI PIC 16F877A. pero si pulsin es igual a pot las dos salidas de control empiezan a oscilar entre igual o menor y no logro que este estable ni en proteus ni en la practica real. solo me preguntaba si ustedes podrian darme una manito ya que me arde la cabeza pensando en que estoy haciendo mal aca adjunto un zip con el proyecto para ver que opinan ustedes. pero aqui es donde se complica. Archivos Adjuntos Temas similares Respuesta: Curso programacion de pic en bsic pro Buenas a todos.. Primero felicitar a mi compatriota Mecatrodatos por este tutorial.

 y definitivamente una bateria back up no daria chicle.. es decir un relé.. y por ultimo manejaria una carga "x"..6 KB (Kilobytes). claro. Se trata de un reloj con 7 segmentos. dejo la semilla. iluminacion perimetral etc..html 30/92 . tenemos muy poca por no decir nada sobre manejar estos dispocitivos con el pic basic pro. en fin lo que no se querria es perder la hora. cheyo28 Imágenes Adjuntas pic_reloj2.podriamos ir manejando el tema de los siete segmentos primero de modo de ir avanzando apropiadamente  Saludos y exitos a todos.eh... la construccion de la casa. con pic16f628a un nuevo pic relacionado..pero puede ser usado por ejemplo para sistemas de riego.eh?.10/6/2017 Curso de programación de PIC en PICBasic Pro que te lleva directo al grano a diferencia de muchos otros que simplemente te sacan canas :enfadado: Amigo Meca antes habia hecho pruebillas con leds y todo bien pero llegaron las fiestas navideñas. y mi hija. Tengo un proyectos en mente y aprovechando este post podemos realizarlo en conjunto y que quede la información aqui en el foro ademas del avalioso aprendizaje que dejaría en muchos foristas. por cada 2 dias de luz electrica 3 horas no y hasta si puede cerrar la relacion a diario.5 KB (Kilobytes)..forosdeelectronica. Bueno has manejado varios temas importantes pero y los 7 segmentos?. con un ajuste de on y off.y por supeusto el plano esquematico de lo que sería tentativamente el circuito y por supuesto como me gustaría que quedara. este ciclo deberia ser diario.. 600 visitas) microcontroller­based­digital­blue­clock.pues.PNG (101..com/f24/curso­programacion­pic­picbasic­pro­20658/index3. 396 visitas) Respuesta: Curso http://www. que lea los datos del bus i2c del ds1307.. siguiendo la relacion de distrubucion de energia de mi pueblo.jpg (82. en mi caso para manejar la nevera por las noches.

. dejo est. . codigo fuente .forosdeelectronica. fuera del proyecto: aclarame esta rutina que usaste en el reloj con lcd y ds1307. lo mismo para el modo sumidero.seria bueno contrastarlo con el modo de programacion de tu post. él maneja el basic tambien..hex y esquematico para ayuda en tu proyecto. me ayodo a seleccionar los puertos adecuados para hacer este proyectos y aprendí de él muchas cosas importantes.para asignar los meses y dias en el lcd http://www. ¿el no comandarle el oscilador externo el toma por defecto que vamos a usar oscilador interno del pic?... espero me disculpe mis horrores de programacion y mis dudas.. Archivos Adjuntos programacion de pic en bsic pro_reloj rtc 7 segmentos buenas. lo recomeindo (y lo encuentran en google). actualmente leo el libro de porgrmacion en basic.html 31/92 .  Gracias a un forista Lucas22. no estoy muy avansado en esto del PBP.seria bueno que hiciera parte de este post.. 1­Definamos primero si las puertos estan bien asignados acoplandose al circuito 2­Este pic no usa oscilador externo.10/6/2017 Curso de programación de PIC en PICBasic Pro programacion de pic en bsic pro Amigo atricio te dejo programa y simulacion para control de posicionamiento sin margen de error. solamente aconcicionas el codigo a tus necesidades.me parece muy importante ­oscilador interno RC de 4Mhz +/­ 1% ­mclr programable  ­mayor capacidad de corriente.de los errores se aprende.  Amigo Meca. Amigo meca.. sus puerto A y B entregan un total de 200mA cada uno... creo que debemos iniciar con las caracteristicas del pic16f628a... en Basic. simulacion en proteus 7. Que tal amigo Cheyo interesante tu propuesta pero empezamos con utilizacion de multiplexado de display para realizar el cogido ? o vamos de una con el proyecto .6. es decir 25mA cada pin.com/f24/curso­programacion­pic­picbasic­pro­20658/index3..

eh.101.110.116...105    ' Tue Wed Thu Fri  Data 83.79.77.74.84.70.87.68.101.97..97.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.117.10/6/2017 Curso de programación de PIC en PICBasic Pro Código:    'CPNFIGURACION MESES.110.111.PNG (238.111.8 KB (Kilobytes).101.99    ' Sep Oct Nov Dec  Data 84.forosdeelectronica. PWRT_ON ' Power­On Timer   @ DEVICE pic16F628A..  Cheyo28 Imágenes Adjuntas pines 16f528a.116.121. 289 visitas) Amigo Cheyo realiza las siguientes configuracioens a tu programa: @ DEVICE pic16F628A..114.65..99..112.118.110    ' Sat Sun Mon noté que esos numeros corresponden a una letra. LVP_OFF ' Bajo voltaje de programación   http://www.DIAS  Data @0.117. MCLR_OFF ' Master Clear Opción interno  @ DEVICE pic16F628A.65.108.97.103    ' May Jun Jul Aug  Data 83.por la tarde voy mostrando lo que seria la rutina.y hasta si esta en mayusculas..114. 215 visitas) contador.html 32/92 .74.97.112..77. INTRC_OSC_NOCLKOUT ' Opción del Osc Interno  @ DEVICE pic16F628A.117.101.101.100.110.PNG (337.117.70.78. BOD_ON  @ DEVICE pic16F628A.117..74.como detrminas el numero?..y ese @0 que asigna? que hace el DIM en basic? cuando llegue la rutina de los multiplexados podemos primero hacer un contador con la misma caracteristica y así otros ejemplos para entender las rutinas Saludos y exitos.83.104. WDT_ON ' Watchdog Timer ON   @ DEVICE pic16F628A.114    ' Jan Feb Mar Apr  Data 77.98.8 KB (Kilobytes).117.

 548 visitas) RELOJ1. CPD_OFF ' Protección del código de memoria OFF  @ DEVICE pic16F628A.pdf (133.6 KB (Kilobytes).9 KB (Kilobytes).forosdeelectronica. o podriamos utilizar el circuito que posteaste pero el multiplexado no lo realizaria el pic sino el integrado conectado a los display estoy presto a tus comentarios Archivos Adjuntos RELOJ. simulacion y .hex Archivos Adjuntos Temas similares Respuesta: Curso programacion de pic en bsic pro bien dejame ver realizare uno multiplexado en estos dias subo el codigo y el programa suerte amigo con tu aprendizaje En la imagen que te anexo asi quedaria el circuito pero tendrias que cambiar de pic a 16f877a si le conectamos los botones de configuracion o realizarlo con el pic 16f628A pero solamenta con los botones de configuracion de horas y minutos ya que se nos va de pines.pdf (143. 418 visitas) Temas similares Respuesta: Reloj digital (PIC­Decodificadores Parte 1) http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. PROTECT_OFF' protección de código OFF led var portb.html 33/92 .0 ;nombre del pin 6 inicio: ;nombre de subrutina de inicio HIGH led ;enciende el led que esta conectado en el pin6 pause 1000 ;Espera un segundo low led ;apaga el led pause 1000 ;espera un segundo goto inicio ;continua el programa para siempre end ;fin del programa Como te comentaba lo mismo ocurre con el Asm se debe incluir unas lieas para configurar el oscilador con el cual va ha trabajar el PIC ya que el progrmador que poseee no tiene la opcion de configurarlo como el Epiwin 800 te anexo programa en pic basic .10/6/2017 Curso de programación de PIC en PICBasic Pro @ DEVICE pic16F628A.

10/6/2017 Curso de programación de PIC en PICBasic Pro BIen para no olvidar el tema y proyecto de nuestro amigo Cheyo la primera parte para el desarrollo del REloj digital con se explica el multiplexado y coneccion de display al PIC 16f628A como progrmas en Basic para activar los pines de I/O del PIC.. gracias de todas formas en este caso..lo que hacia era montar un servidor (apache) este ya viene configurado con php en el appserver es cosa instalar y ya tenes tu servidor corriendo para la web dinamica utilse swish que es parecido a macromedia flash pero muy simple. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro hola chicos. los servos de sus salidas vuelven a cero. es que a diferencia del que postie anteriormente.0 KB (Kilobytes).com/f24/curso­programacion­pic­picbasic­pro­20658/index3. no pude hacer que funcione. tal ves sea que no se como adaptar el programa a mi circuito. 299 visitas) web control. lo que tiene de bueno este circuito. saludosss.. 270 visitas) Respuesta: Curso programacion de pic en bsic pro http://www. Archivos Adjuntos Temas similares Temas similares Respuesta: Curso programacion de pic en bsic pro Para el tema de humedad tienes la opcion de un ci que hace esta lectura y que lo puedes conectar facilmente al pic.. es de un solo canal pero con algunas modificaciones al programa se pueden lograr varios canales. En resumen con visual basic leia los datos del pic guarda esta info en archivo de texto cada cierto tiempo y ala ves un scriot en php lei este mismo archivo y desplegaba la info en la web echa en flash .. les queria dejar un control remoto serie proporcional de pic a pic que diseñe. espero les sea de utilidad.rar (2.html 34/92 . cuando el receptor deja de recibir señal. Archivos Adjuntos humedad..4 KB (Kilobytes).asi de facil y bonito voy a buscar los archivos para k los veass eso  y saludosss.. en fin. primero le queria dar las gracias a mecatrodatos por ayudarme con lo del servo casero pero. yo por aqui de nuevo. bueno.forosdeelectronica.pdf (331..para la web es mas simple hace un tempo atras realise algo parecido..

 me lío con ello. en el adresh.html 35/92 . estoy usando un pic16f88.forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro Hola fernando. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro primero es obligatorio el uso de servos.  Pon 1000. en cuanto los tenga en mi poder. (por lo del ADFM) y los 4 bits siguientes dependen de las entradas analógicas que vayas a usar.  En la tabla que adjunto te salen los adresl.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. simulo en http://www.. Yo todabía no lo he podido probar porque estoy esperando a que me lleguen 2 16f877. Ya me dirás si funciona.  Saludos! Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro La funcion de autocalibracion de los potes es asi.. puedes usar servos trucados es una alternativa mira he intentado eso en microcode pero no logre exito depende del micro que vayas a usar puede que te ayude este documento te da una idea bastante buena de lo que se vaya a hacer pudes usar un L293D para activar los motores y atravez de un micro receptor activar las salidas necesarias para un L293D y hacer que vaya adelante atras izquierda derecha yo lo logre en Proton pero talvez tu puedas hacerlo asi porque aqui en mi pais no se puede encontrar con facilidad el 16F84A es muy caro aqui Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro hola amigos. y me ha sido imposible utilizar el conversor A/D. despues usas la variable "escala". después de muchas horas investigando (y de poner preguntas en todos los foros que conozco) he dado con la que creo que es la respuesta. Hay que usar el ADCON1 de la siguiente manera.

 SELECT CHANNEL AN0.RES       'READ CHANNEL 0 DATA         VOLTS1=RES*CONV1   'MULTIPLY BY 19      VOLTS2=RES*CONV2    'MULTIPLY 53      VOLTS2=VOLTS2/100      VOLTS1=VOLTS1+VOLTS2  'RESULT IN mV      IF VOLTS1 < 2500 THEN  http://www. MAKE REFERENCE VOLTAGE=VDD            ADCON0=%11000001  'A/D CLOCK IS INTERNAL RC. el azul cuando la luz es baja y el verde cuando es alta.53.10/6/2017 Curso de programación de PIC en PICBasic Pro proteus y no me funciona les adjunto los archivos para ver si alguien me puede ayudar.html 36/92 . saludos!! Código: define osc 20  DEFINE ADC_BITS 8    DEFINE ADC_CLOCK 3   ' USE A/D INTERNAL RC CLOCK  DEFINE ADC_SAMPLEUS 50   'SET SAMPLING TIME IN uS  'VARIABLES  RES VAR WORD  'A/D CONVERTER RESULT  VOLTS1 VAR WORD  'FIRST PART OF RESULT IN mV  VOLTS2 VAR WORD   'SECOND PART OF RESULT IN mV  'CONSTANTS  CONV1 CON 19 '5000/256=19. la idea es que el led rojo encienda al comenzar el programa.forosdeelectronica. TURN ON A/D  CONVERTER     HIGH PORTB.2      PAUSE 3000   AGAIN:      'START A/D CONVERSION         ADCIN 0.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. THIS IS THE DECIMAL PART  CONV2 CON 53  'THIS IS THE FRACTIONAL PART      TRISA=1  'RA0 (AN0) IS INPUT      TRISB=0  'PORTB IS OUTPUT         'INIATIALIZE THE A/D CONVERTER          ADCON1=0   'MAKE AN0 TO AN4 AS ANALOG INPUTS.

servo1.. '­­­­­­­­­­­­­­­Titulo ­­­­­­­­­­­­­­  '************************************************* *************** '* Name : Proyecto con motores . lo más bajo  'Ya que establecerá la polaridad de la declaración PULSOUT . asegúrese de tener alimentacion por separado  'SUMINISTROS PARA el PIC Y el SERVO. totalmente comentados con su respectiva simulacion en proteus como codigo fuente con el pic 16f88 en el cual algunos tienen dudas sobre su utilizacion.com/f24/curso­programacion­pic­picbasic­pro­20658/index3..forosdeelectronica.html 37/92 .10/6/2017 Curso de programación de PIC en PICBasic Pro     HIGH PORTB. inicializar el estado de PORTB. (PORTB = 0). '­­­­­­­­­­­­Comentario­­­­­­­­­­­­­­ 'CON EL PIC16F88. Usar 9V de   'La batería y dos reguladores de voltaje 78L05. 'También.0       ELSE                                           HIGH PORTB.  http://www.1      ENDIF      PAUSE 2000      GOTO AGAIN           END Aqui adjunto el archivo para el proteus..  'Servo ciclos entre la izquierda y 'Las posiciones de las agujas del reloj.. GRACIAS! Archivos Adjuntos Temas similares Curso programacion de pic en bsic pro PROYECTOS CON MOTORES comparto una serie de programas para manejos de motores.pbp * '* Author : MECATRODATOS *  '* Date : 13/06/2010 * '************************************************* *************** '­­­­­­­­Descripcion del programa­­­­­­­­ 'Programa básico servo con el formato para el control de 'Pulsos del servo con PicBasic Pro comando PULSOUT..

 se multiplica por el 'Incremento para un oscilador de 4 MHz (10 us) 'Para obtener un pulso de tiempo de espera de 2. período  'Este comando envía un pulso a la clavija para el período definido.10/6/2017 Curso de programación de PIC en PICBasic Pro 'Servos "podrá ser modificado o hackeado para permitir 'la rotación continua y puedan ser utilizados 'Como motores de pequeños robots. '­­­­­ Comandos PicBasic Pro ­­­­­­­­ 'PULSOUT pin.  'Para establecer un solo pin RB0 como. El libro 'Amphibionics por Karl Williams da un 'En el tratamiento a fondo sobre cómo modificar los servos.  'El período.html 38/92 .forosdeelectronica.  '­­­­­­­­­PIC Connecciones­­­­­­­­­­ ' PIC16F88 Pin Wiring ' ­­­­­­­­­ ­­­­­­­­­­  ' RB0 Servo Control Wire ' Vdd +5 V ' Vss Ground ' MCLR 4. (200). i  '­­­­­­­­­­Initialization­­­­­­­­­­ PORTB = %00000000 'Eqivalent a: PORTB = 0  'Establece todos los pines PORTB a BAJO (0 voltios)  'Asegúrese de incluir este 'Inicialización que establece la 'Correcta polaridad de los pulsos en el comando 'PULSOUT . ' 'Por ejemplo: ' 'PULSOUT 0.0 ms. ' 'Mira a tu alrededor en la página 121 PicBasic Pro Manual del compilador ' 'Otro comando PBP que podrá ser sustituido por PULSOUT'Es PAUSEUS.0 ms.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.7K Resistor to +5 V '­­­­­­­­­­­­Variables­­­­­­­­­­­­­  i VAR BYTE 'BYTE para la variable contador.200 Envía un pulso a cabo en RB0 pines para 2. a http://www.

http://www.  PulsOut 0. ' El período.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. Next i ' Volver a la declaración  ' Siguiente cuenta For i = 1 TO 40 ' Enviar la señal para el giro manecillas del reloj   ' 40 veces PulsOut 0. introduzca PORTB. se multiplica por el ' Incremento para un oscilador de 4 MHz (10 us) ' Para obtener un pulso de tiempo de espera de 2. HIGH ' Por 1 ms y ms de 19 BAJO = 20 ms.0 ms.200 ' Ancho de pulso:  ' Envía un pulso a cabo en RB0 pines para 2.0 ms.  ANSEL = 0 'Configure todos los pines a la digital  'Operación ya que no utiliza ADC  '(Convertidor analógico a digital) OSCCON = $60 'Establece el oscilador interno en el '16F88 a 4 MHz  '­­­­­­­­­­­­­Codigo Principal­­­­­­­­­­­­ loop: For i = 1 TO 40 ' posición:Hacia la izquierda  ' Enviar la señal 40 veces.0 ms.html 39/92 . Para cambiar el sentido  ' El servo se mantiene en una posición. (100).100 ' Ancho de pulso:  ' Envía un pulso a cabo en RB0 pines para 1.forosdeelectronica.0 = 0. (200).10/6/2017 Curso de programación de PIC en PICBasic Pro 'LOW. el cambio ' De 40 a otro valor.0 m) ' Esta ecuación mantiene el período de ' El pulso del servo uconstante de 20 ms. Pause 20 ­ 1 ' Intervalo de pulso : ' Una pausa de 20 ms de pulso menor ancho (1.0 ms. ' El período. se multiplica por el ' Incremento para un oscilador de 4 MHz (10 us) ' Para obtener un pulso de tiempo de espera de 1.

7K Resistor to +5 V  '‐‐‐‐‐‐‐‐‐‐‐‐Variables‐‐‐‐‐‐‐‐‐‐‐‐‐              p0   VAR   BYTE    ' Byte para almacenar la posición del servo              '‐‐‐‐‐‐‐‐‐‐Initialization‐‐‐‐‐‐‐‐‐‐  http://www.  Next i ' Volver a la declaración  ' Siguiente cuenta goto loop ' Hace que el programa se ejecute siempre end Archivos Adjuntos Código: '****************************************************************  '*  Name    : SERVO 2.0 m) ' Esta ecuación mantiene el período de ' El pulso del servo constante de 20 ms.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. HIGH ' Durante 2 ms y 18 ms para BAJO = 20 ms.html 40/92 .BAS                                       *  '*  Author  : MECATRODATOS                                      *  '****************************************************************  '‐‐‐‐‐‐‐‐Descripcion del programa‐‐‐‐‐‐‐‐  'Girar servos en las rotaciones de las agujas del reloj y en sentido antihorario  '  '‐‐‐‐‐‐‐‐‐‐‐ConnecCIONES‐‐‐‐‐‐‐‐‐‐‐  '    PIC16F88 Pin      Wiring  '    ‐‐‐‐‐‐‐‐‐       ‐‐‐‐‐‐‐‐‐‐    '           RB0             Servo Control Wire  '           Vdd             +5 V  '           Vss             Ground  '           MCLR            4.10/6/2017 Curso de programación de PIC en PICBasic Pro Pause 20 ­ 2 ' Intervalo de Pulso: ' Una pausa de 20 ms de pulso menor ancho (2.forosdeelectronica.

html 41/92 .com/f24/curso­programacion­pic­picbasic­pro­20658/index3. se multiplica por el                                      ' Incremento para un oscilador de 4 MHz                                      ' (10 us) para obtener un pulso de tiempo de  espera. p0.            OSCCON = $60              'Establece el oscilador interno en el                                  '16F88 a 4 MHz  '‐‐‐‐‐‐‐‐‐‐‐‐‐codigo principal‐‐‐‐‐‐‐‐‐‐‐‐         loop:  ' ************Giro a la izquierda ***********************************    For p0 = 200 TO 100 STEP ‐1    ' Modificar el valor del pulso de 2  ms y                                      ' 1 ms en pasos de 10.forosdeelectronica.                                      ' Por ejemplo. sobre  pin RB0.10/6/2017 Curso de programación de PIC en PICBasic Pro     PORTB = %00000000          'Eqivalent a: PORTB = 0                                  'Establece todos los pines PORTB a BAJO (0 voltios)                                  'Asegúrese de incluir esta                                  'Inicialización que establece la                                  'Correcta polaridad de los pulsos en                                  'El comando PULSOUT .                                       ' Ver siguiente Comando         PulsOut 0.                                      ' Esta ecuación mantiene el período de                                      ' El pulso del servo una constante de 20 ms. si p0 = 200.        Next p0                         ' Volver a la declaración del                                      ' Siguiente valor de p0   '*******Rotación hacia la derecha  **************************          http://www.                                      ' El período.                                      ' 200 * 10 = nosotros nos 2000 = 2 ms        Pause 20 ‐ p0/100        ' Una pausa de 20 ms menos  ancho de pulso (p0/100)                                      ' Si p0 = 200.p0          ' Envía un pulso. p0. = 200/100 = p0/100 2 ms.

0                                      ' A 2. p0.        Pause 20 ‐ p0/100        'Una pausa de 20 ms menos  ancho de pulso (p0/100)        Next p0                         ' Volver a la declaración del                                      ' Siguiente valor de p0        goto loop                       ' Hace que el programa se ejecute siempre            end '****Nota: el mismo diagrama utilizado en el primer proyecto sirve para la simulación****** Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Mira te anexo una guía esta en ingles pero te da ejemplos de como trabajar con el software Archivos Adjuntos Proyectos con motores AMPLIFICADOR PARA MOTORES  Antes de empezar nuestra discusión sobre el control de motores.0 ms.forosdeelectronica.         PulsOut 0.  Los tres amplificadores se que utilizan en los proyectos son económicos y fácil de realizar para ejecutar http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.                                      ' Tiempo de espera varía de un pulso ms 1.  Sin embargo. vamos a echar un vistazo a algunos pequeños amplificadores que podemos utilizar para controlar nuestros motores.  Todos los amplificadores que he seleccionado son baratos y fáciles de usar.10/6/2017 Curso de programación de PIC en PICBasic Pro   For p0 = 100 TO 200             ' Modificar el valor del pulso de 1  ms y                                       '2 ms en pasos de 10. Si desea para controlar un motor más grande. sobre RB0  alfiler.html 42/92 . todo lo que necesita es un amplificador más grande.p0              ' Envía un pulso. no debería haber ningún problema con el uso de otros amplificadores.

 si utilizamos circuitos integrados para construir nuestros amplificadores.  Por otra parte. se añade al circuito amplificador básico. es muy fácil de volar un puente H mediante la activación de ambos transistores en cualquier lado del puente. vamos a utilizar fuentes de alimentación independientes en todos nuestros experimentos. no recomiendo que haga otro. al mismo tiempo. Cada uno de los amplificadores utiliza uno o dos circuitos integrados como componentes de su amplificador. y algunos auxiliares equipados con indicadores LED para anunciar las condiciones internas. cierre de sesión en el sobrecalentamiento. Puesto que tenemos una opción. Notas sobre el hecho en casa Amplificador de construcción Aunque usted puede hacer su propio amplificador. El amplificador que he usado para todos los experimentos es el amplificador LMD 18200T. otros dispositivos permiten la interconexión a las señales que el microcontrolador proporciona sin la necesidad de dispositivos intermedios. Cuanto más sofisticado sea el circuito también proporciona la capacidad de detectar el apagado térmico y para mirar el flujo de corriente a través de cada amplificador. Cada motor requiere una fuente de alimentación compatible con la alimentación que necesita el motor y la capacidad del amplificador.html 43/92 . el ruido del motor contaminará el poder para el microprocesador y provocara problemas graves. pero también se ocupa de menos amperios. La fuente de alimentación del microcontrolador y la fuente de alimentación del motor debe mantenerse separada en todas las circunstancias con sólo una conexión a tierra común.  Todos los motores son muy ruidosos por lo que se refiere a electrónica deL PIC y debe ser aislado. Si no se hace esto. estos circuitos es casi seguro que tienen circuitos dentro de ellos para evitar daños en cortocircuito. Los amplificadores que es probable que hayan (una serie de los diseños están disponibles en Internet) es probable que sean puentes H bastante sencillo. los componentes a utilizar para el http://www. no funciona tan bien como un diseño bien aislado. El amplificador L298 es más barato. y otras características útiles.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.  Sin embargo.forosdeelectronica.  Puesto que hay una serie de proveedores que venden barato. A menos que un circuito mucho más sofisticados. A pesar de la adición de pequeños condensadores a tierra desde cada Terminal del motor y ayuda a través de las terminales. El ruido del motor proviene de los conmutadores de motor y de la rápida desactivación de las bobinas del motor.  Los tres amplificadores toman señales TTL directamente desde el microcontrolador y el control la alimentación del motor.10/6/2017 Curso de programación de PIC en PICBasic Pro el control de motores de 2 ejes o motores paso a paso.

 Pulsos cortos de 6 amperios son tolerados.forosdeelectronica. 7.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. Una característica de seguridad de este amplificador proporciona un diodo de protección contra la conexión accidental de polaridad inversa al conector de alimentación. Las conexiones de cableado de este amplificador son sencillas. el amplificador 33866 de eje único que se muestra en la figura 2 es adecuado para motores pequeños que necesitan menos de 5 amperios a 40 V. El amplificador que he usado para todos los experimentos . CARACTERÍSTICAS:  ­ poder en la potencia del motor se conecta a estos dos terminales. no hay ninguna buena razón en esta etapa de nuestro proceso de aprendizaje de no utilizar estos recursos para realizar estos amplificadores y controlar nuestros motores. Las operaciones de motor se pueden invertir en software.  El amplificador LMD 18200T. El Amplificador 33886 Si usted necesita un amplificador de un solo eje. la polaridad de la conexión debe ser observada. Para nuestros propósitos los pines 1. http://www. y 8 control de la bobina / el motor 2. La polaridad de esta conexión no es importante. 2 y 3 se puede utilizar para controlar la bobina / del motor 1.   He utilizado este amplificador para los pequeños experimentos con el motor de CC. Aunque un  diodo de protección se incluye. y los pines 6. La polaridad de la alimentación del amplificador es crítica auque se puede colocar una protección a través de diodo 4148. ­ motor de corriente continua Aquí es donde el motor está conectado.html 44/92 . ­ LEDs Los tres LED en la tarjeta de indicar la operación de la tarjeta como el poder y señales de control se aplican a la tarjeta.10/6/2017 Curso de programación de PIC en PICBasic Pro desarrollo de los amplificadores.Las conexiones que utiliza este amplificador se identifican en Figura 1. Cada uno de los dos amplificadores puede manejar hasta 3 amperios a 55 VDC.

 Hay algunas interferencias y problemas de incumplimiento. 288 visitas) figura 3. se que se hace con if.9 KB (Kilobytes).html 45/92 . Se trata del más barato amplificador integrado de 2 ejes que usted puede considerar para armar.10/6/2017 Curso de programación de PIC en PICBasic Pro El Amplificador L298 2­Ejes El amplificador L298 de control de doble eje se muestra en la Figura 3 con sus conexiones de cableado identificadas. jejeje no soy muy bueno en esto apenas empiezo. Tengo una idea de como.4 KB (Kilobytes). 251 visitas) Temas similares Respuesta: Curso programacion de pic en bsic pro jeje disculpa por las multiples dudas!!! pero aun tengo demasiadas. 2 son comunes y los otros 4 pertencen a las bobinas.forosdeelectronica.rar (20. Este circuito permitirá el control de dos motores. Archivos Adjuntos figura 1. si mando voltaje a una bobina da ciertos pasos. La condición no inhibe el uso de este amplificador de bajo costo para el funcionamiento de pequeños motores. si le mando voltaje a otra bobina camina otros ciertos pasos.com/f24/curso­programacion­pic­picbasic­pro­20658/index3... El amplificador L298 tiene un problema con las señales PWM en determinadas condiciones y no deben ser utilizados en los experimentos sofisticados con muchos cambios de PWM ambos ejes simultáneamente. Lo que tengo que controlar es eso. Estoy equivocado en cuanto a el control del motor pap quiza no soy muy bueno explicandome jejej lo que quiero hacer es que con pulsos varie la velocidad del motor o el numero de pasos dados..rar (160.then ( lo de antirrebote afecta esto?) espero ahora si haberme eplicado bien Por cierto aqui un video de lo que quiero hacer http://www. corrigeme si estoy mal de favor  El motor pap que utilizo tiene 6 hilos.

10/6/2017 Curso de programación de PIC en PICBasic Pro

salu2
Temas similares

Respuesta: Curso programacion de pic en bsic pro
hola, buenas quisiera dar un pequeño aporte y ver si me pueden dar sus criticas constructivas al
respecto y por supuesto si hay alguna mejora.
se trata de un minutero programable muy parecido al de un microhondas, me lo mandaron como un
proyecto de la univ. con compuertas y demas pero quise no enrollarme y hable con el profe y me
permitio utilizar un pic siempre y cuando cumpliera el cometido osea programar un tiempo en minutos y
que al culminar osea llegar a cero este envie una alarma pues como ven es bien sencillo mas el
programita me salio algo largo y me costo ya que a pesar de tener conosiendo al pic mas de un año a
penas he logrado utilizar unos 30 comandos del pbp de los mas de 50 que se pueden usar. mas que
todo debido a que no he tenido tiempo para ponerme mas de lleno con el pbp. en fin el programa, me
gustaria saber si esta bien o se puede mejorar utilizando otras instrucciones...de atemano muchas
gracias...
Archivos Adjuntos

Temas similares

Respuesta: Curso programacion de pic en bsic pro
Buenas del minutero gracias por verlo aui les traigo una pequeña modificacion con un efecto animado y
el logo del instituto a ver que les parece me avisan cualquier cosa.
Archivos Adjuntos

Respuesta: Curso programacion de pic en bsic pro
Este me marca un error que nunca habia visto.... que sera???

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 46/92

10/6/2017 Curso de programación de PIC en PICBasic Pro

Imágenes Adjuntas

lubeck dijo:

Este me marca un error que nunca habia visto.... que sera???

Es el Proteus.
Tenés declarados los fuentes (ver imagen) y antes de ejecutar los quiere compilar. Salta el error porque
no encuentra al PBP. 
Eliminás esas dos líneas desde Source­>Add/Remove Source files y desaparece el problema.
(la otra es configurar el camino y los argumentos para compilar desde el Proteus)

Bueno... desaparece ese y aparece otro

. Después que terminan los mensajes iniciales empieza a dar "Stack Overflow"
Imágenes Adjuntas

Respuesta: Curso programacion de pic en bsic pro
por cierto este programita me ayudo bastante con los caracteres y figuras de la lcd
Archivos Adjuntos

Respuesta: Curso programacion de pic en bsic pro
hola gente

les cuento que estoy intentando hacer un variador brushless con pic, ya hice uno con componentes
dicretos que funciona aqui pueden verlo andando. es un poco voluminoso y complicado asi que, ahora
quiero hacerlo con un pic utilizando pbasic para programar el micro pero, tengo un problema,
basandome en el funcionamiento del bldc discreto, he creado una rutina en pbasic que a segun mis
calculos, deberia funcionar igual pero no funciona.
aca subo el rar con el diseño completo y su codigo fuente en basic para ver si me pueden dar una
mano y asi saber que estoy haciendo mal para corregirlo. lo que hace el circuito, es detectar una
secuencia de numeros binarios del 1 al 6 y a segun el numero que entre, sera el estado en sus salidas.
saludosss a todos...
Archivos Adjuntos

Respuesta: Curso programacion de pic en bsic pro
http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 47/92

10/6/2017 Curso de programación de PIC en PICBasic Pro

hola lubek.
aca te dejo los archivos livewire del bldc discreto. no se si habras simulado el circuito en proteus, si asi
fue, debes haber notado que al potenciometro lo lee bien y que la variacion del pwm es correcta. el
problema que tiene mi circuito, es que los puertos RB0 a RB2 no funcionan como el programa lo indica.
cuando en el programa dice: 
paso4:
pwm 2,b0,5
high 4
goto loop
empieza el problema de que el puerto B no responde como debiera.
veras, el circuito que estoy intentando hacer, es una especie de decodificador binario que en funcion del
numero binario que detecta conmuta dos salidas del pic enviando por una, un pulso pwm y pr la otra, un
uno logico simultaneamente.
con esto, consigo conmutar los mosfets del inversor trifacico segun la señal de zerocrossing que
obtengo del circuito con lm324.
tengo la impresion de que se puede detectar numeros binarios de otra manera con picbasic pero no se
me ocurre mas que lo anterior... 
aca dejo el codigo pbp.
ah lubeck, el cmcon=7, es para desactivar los comparadores del puerto A y convertirlos en en E/S
digitales y esto me sirve porque lo que estoy intentando detectar, son 1 y 0´s 
saludosss

Código:

  CMCON=7         
 TRISA=%00000000         
 porta=%00000000         
 trisb=%01110000         
 portb=%01110000       
 frec var byte 
 loop: 
 pot portb.3,137,frec 
if portb.4=1 then paso1 
low porta.0 
low portb.1 
if portb.5=1 then paso2 
low porta.0 
low portb.2 
if portb.4 and portb.5=1 then paso3 
low porta.1 
low portb.2 
http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 48/92

frec.4 and portb.frec.5   high portb.5   high portb.0.html 49/92 .1.0.1.2.5   high portb.5   high portb.frec.2  low portb.frec.frec.5   high portb.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.forosdeelectronica.1   goto loop   paso1:   PWM porta.2.1   goto loop   end Archivos Adjuntos Temas similares http://www.6=1 then paso6  low porta.2  low portb.10/6/2017 Curso de programación de PIC en PICBasic Pro if portb.5 and portb.1  low portb.0  if portb.frec.0   goto loop   paso5:   pwm porta.2   goto loop   paso3:   pwm porta.1   goto loop   paso2:   PWM porta.6=1 then paso4  low porta.0   goto loop   paso6:   pwm porta.6=1 then paso5  low porta.2   goto loop   paso4:   pwm porta.0  if portb.5   high portb.

 Por lo que en este foro quedara todo lo de PIC Basic para microcontroladores. en el hilo de PBP. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Sobre los Fuses para los P18 en el PBP me he encontrado con varios detalles y los que pusiste no me funcionó. muy bien recibida la info . PROTON y un nuevo HILO Swordfish IDE para aquellos que deseen escoger. una vez preguntaste en este hilo sobre el compilador y editor para PIC de la serie 18F "Swordfish IDE".10/6/2017 Curso de programación de PIC en PICBasic Pro erick percy dijo: gracia reyvilla por responder ;pero trate de compilar lo que me pusiste en el foro y me salen estos errores Hola: Disculpa voy a dar mi opinión. entonces los asocias por medio del botón que está en la imagen; luego de eso te debe aparecer al costado la dirección del compilador "C:\PBP". es cuando se usan Fuses y el compilador asociado es el MPASM te genera errores como los que te han salido. tengo varios ejemplos y una tutoría totalmente terminada como el caso del PROTON IDE que solamente me falta subir las partes restantes que será cuando termine de arreglar el computador y pasar algunos artículos a PDF. realmente quiero hacer cosas con el "Swordfish IDE". Imágenes Adjuntas Temas similares mecatrodatos dijo: Bien amigo ByAxel por cierto. Saludos.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. El Microcode que supongo es que están usando tiene dos opciones para usar un determinado compilador que lo ven en "View" > "Compile and Program Options"; por lo que se. Intenta eso.html 50/92 . Para arreglar eso debes usar el compilador del PicBasic que está en "C:\PBP".. bueno investigue un poco más y lo aplique otra forma usando PBP 2.forosdeelectronica. Impresionante . en cuanto me libere de algunos trabajos le pongo pilas al Swordfish para colaborar con ejemplos en el respectivo hilo..60L + Microcode 4 para aquellos que quieran modificar los Fuses para los P18: http://www.

 _WDT_ON_2H & _WDTPS_128_2H  @ __CONFIG    _CONFIG3H. PIC18F2550). w = ‐230. f = inhx32          INCLUDE "P18F2550.INC del PIC respectivo (en este caso. 3) O comentar las líneas __CONFIG con ';' para evitar que salga errores al declarar los fuses en el mismo archivo del programa (.__CONFIG    _CONFIG4L. _CCP2MX_ON_3H & _PBADEN_OFF_3H & _LPT1OSC_OFF_3H &  _MCLRE_ON_3H          . 2) Ubicar el archivo 18Fxxxx.html 51/92 .INC"  . _FOSC_HS_1H  @ __CONFIG    _CONFIG2H. en la carpeta del PBP; en caso del PIC18F2550 es: Código:         NOLIST      ifdef PM_USED          LIST          "Error: PM does not support this device."          NOLIST      else          LIST          LIST p = 18F2550. _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L          __CONFIG    _CONFIG1H. _FOSC_HSPLL_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H          __CONFIG    _CONFIG2L.forosdeelectronica. en la ultima parte del archivo están los Fuses. r = dec. _PBADEN_OFF_3H  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. _PWRT_OFF_2L & _BOR_ON_2L & _BORV_3_2L &  _VREGEN_ON_2L          __CONFIG    _CONFIG2H. _STVREN_ON_4L & _LVP_OFF_4L & _XINST_OFF_4L          NOLIST      endif          LIST  EEPROM_START  EQU  0F00000h  BLOCK_SIZE  EQU  32 Donde se puede reemplazar directamente las líneas que empiezan con "__CONFIG" con la configuración que se quiera del archivo P18Fxxxx. MPASM  Header          __CONFIG    _CONFIG1L.pbp) y de ese modo recién el compilador acepta la declaración como: Código: @ __CONFIG    _CONFIG1L. w = ‐311. .INC.bas.10/6/2017 Curso de programación de PIC en PICBasic Pro 1) En mi caso use el MPASM de la carpeta "C:\MCC18\mpasm" porque tengo el C18 instalado (el PBP no me vino con el MPASM integrado); abrir el archivo P18Fxxxx. _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L  @ __CONFIG    _CONFIG1H.INC.  Use MPASM. _WDT_ON_2H & _WDTPS_512_2H          .__CONFIG    _CONFIG3H.

com/f24/curso­programacion­pic­picbasic­pro­20658/index3. _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L o como pongo en la prueba que realicé para PBP: Código: '****************************************************************  ' PIC18F2550.10/6/2017 Curso de programación de PIC en PICBasic Pro @ __CONFIG    _CONFIG4L. XINST = OFF. prueba generador de media onda  '****************************************************************  @ CONFIG PLLDIV = 5. CPUDIV = OSC1_PLL2. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro hola gente del foro. LVP = OFF. WDTPS = 32768 @ CONFIG MCLRE = OFF  @ CONFIG STVREN = ON. DEBUG = OFF  define OSC 20  CNT var byte      clear      ADCON1 = 15      TRISB = 0      LATB = 0          Main:      for cnt = 0 to 127          LATB = sin cnt          pause 1      next cnt                goto main   end Me avisan si me equivoque en algo saludos. USBDIV = 2  @ CONFIG FOSC = HS  @ CONFIG BOR = ON. http://www. BORV = 1  @ CONFIG WDT = OFF.html 52/92 .forosdeelectronica.

 300 visitas) 3310 LCD.. la comunicacion es en paralelo y el display nokia. se trata de un tacometro para motores DC como los de aeromodelismo. saludosss Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro bien aquí esta el lcd la conexión del LCD NOKIA 3110 por hay tengo las libreria para ponerlo a trabajar en proteus aunque la ultima version trae el 7110.3 KB (Kilobytes).. ¿acaso se podria usar la instruccion SHIFTOUT para controlarlo? ustedes ¿que opinan? ¿como puedo hacer para adaptarlo a mi diseño? gracias. 224 visitas) http://www. picbasic.rar (17.  ahora pasemos a mi duda.10/6/2017 Curso de programación de PIC en PICBasic Pro bueno. no sin antes.html 53/92 .. aca estoy de nuevo.3 KB (Kilobytes).forosdeelectronica. utilizando como lenguaje de programacion.pdf (805. 254 visitas) esquematico 3310. es serie sincronico. pidiendo vuestra ayuda jeje . bueno.rar (33.  listo mire en mi pc y encontré las librerías y circuitos de conexión para la simulación de pantallas Nokia 3310 6610 7710 compatibles con 1100 Archivos Adjuntos lcd Nokia. 296 visitas) esquematico.3 KB (Kilobytes). tengo el pinout de este display y he visto en el foro como se conecta. resulta que tengo un lcd de un nokia 1100 y me gustaria adaptarlo para este proyecto. 307 visitas) Proteus Model.zip (29.rar (74. pasa que no tengo por ahora el display de este proyecto y me gustaria hacerlo ya que. esta probado en proteus y no se cual es el limite de RPMs que puede medir. me seria de gran utilidad.7 KB (Kilobytes). pero lo que no se.. en este tacometro.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. es como cambiar la comunicacion entre el pic y el display nokia ya que.8 KB (Kilobytes). dejar un pequeño aportito a cambio.

forosdeelectronica. EDITO los negativos de ambas fuentes los unes. Prueba asi. Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro hola a todos. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro los diodos igual si quieres ponerlos. para que ambas sean tierras..  Un saludo Imágenes Adjuntas ByAxel dijo: Supongo que sin fuses te compila.. 213 visitas) MODELS 6610.10/6/2017 Curso de programación de PIC en PICBasic Pro LIBRARY 6610..com/f24/curso­programacion­pic­picbasic­pro­20658/index3.. a mi los fuses los pongos para ahorrarme trabajo a la hora de programar el pic pero en basic estos fuses me dan error y los pongo en forma correcta ¿alguien sabe la causa de estos errores? les dejo una imagen donde sale error... entonces la causa del error puede que sea la configuración del compilador ya que una vez me sucedió algo parecido.rar (10...4 KB (Kilobytes).. Asegúrate que el compilador sea del pbp que http://www. Asegúrate que el compilador sea del pbp que está en la dirección C:\PBP como en la imagen. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro Supongo que sin fuses te compila.rar (3.1 KB (Kilobytes). entonces la causa del error puede que sea la configuración del compilador ya que una vez me sucedió algo parecido... 205 visitas) Temas similares Respuesta: Curso programacion de pic en bsic pro Intentemoslo asi.html 54/92 . saludos.

5 y el microstudio 3. he comprobado que el modulo funciona correctamente he probado transmitiendo 1 bit y efectivamente recibe correctamente el dato que envio.  Un saludo Si!! los programas se compila normalmente sin los fuses. pero no logro visualizar el dato que envio . pues bien coloque todo en C:/ y nada sigue dandome el mismo error ando usando el PBP 2. un gusto escribir una vez mas aca. mi problema es el siguiente: Conecto el pin 39 del pic 16f877a a mi entrada del encoder(pin10). Adjunto el esquema que realice en caso sirva de algo para su ilustración en pdf. soy nuevo en esto de las transmisiones vía radiofrecuencia.0. para la transmisión uso unos modulos a 315Mhz (adjunto el datasheet) y el codificador y decodificador ht12e/ht12d. conecto la salida del decoder (pin10) al pin asignado para la recepcion de datos porta. Alguna sugerencia para solucionar mi problema seria bien recibida y muy agradecida. En el siguiente circuito que adjunto uso el conversor a/d del pic16f877a para visualizar la lectura en en lcd1 de ese pic y funciona correctamente.0 del pic 16f628a(pin17). bueno de esa forma logro visualizar la lectura del dato que deseo enviar por lo que creo el programa funciona correctamente. tal vez estoy omitiendo algo o cometo un error y esa sea la razón por la cual no funcione. esta hecho en microcode studio.0.html 55/92 .5 Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro Saludos. Incluyo fragmentos del programa que uso. dejame probar usando la ruta C:/ para ver que tal.10/6/2017 Curso de programación de PIC en PICBasic Pro está en la dirección C:\PBP como en la imagen. les comento que estoy realizando un proyecto con un sensor de temperatura cuya lectura se visualizará en un lcd via rf. La salida del del pin 39 del pic 16f877a corresponde al dato que almaceno de mi conversor a/d para luego transmitirlo. pues bien el PBP lo tengo instalado dentro la carpeta del microcode.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. he probado la transmisión directa usando un cable para unir el pin 39 del 16f877a y el pin 17 del 16f628a y funciona. y bueno en ese mismo instante para comprobar nuevamente el estado de transmisión pruebo transmitiendo bits y efectivamente hay transmision y recepción sin embargo no logro visualizar el dato que necesito. http://www.forosdeelectronica. pero cuando deseo visualizarlo en el receptor (pic 16f628a) no me muestra lectura alguna.

0 es conversor los demás  digitales  TRISB= 0                                    .contenido inicial de la EEPROM  Symbol N2400 = 4  inicio:                                     .26]                            .3  define      LCD_RSREG       PORTB           .1.bit de registro del LCD conectar  define      LCD_RSBIT       5               .4  define      ADC_BITS        8               .puerto B.8.html 56/92 .10)  define      ADC_CLOCK       3               .el puerto b es salida da datos  dato        var word                        .5  pause 2000  define      LCD_EREG        PORTB           .10/6/2017 Curso de programación de PIC en PICBasic Pro TX: Código: DEFINE osc 4  DEFINE      LCD_BITS 4  define      LCD_DREG        PORTB           .Fije el tiempo de muestreo en Us                                              .3  led     var portD.en el puerto B.el puerto A. B.el puerto A es de entrada  ADCON1= %00001110                           .4  enter   var portD.bit de enable conectar en el  define      LCD_EBIT        4               .3 parpadeos del led que indica que  http://www.7  EEPROM 0.Fije el número de BITS del resultado  (5.5  bsubir  var portD.2.bit de datos del LCD empezando  define      LCD_DBIT        0               .[20.ADC_SAMPLEUS es el número de  microsegundos que el programa                                              .crear variable dato para guardar  tempbaj     var byte  tempalt     var byte  x           var byte  releF   var portD. B.6  bbajar  var portD.0.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. B.2  releC   var portD.Fije EL CLOCK (rc=3)  define      ADC_SAMPLEUS    50              .por B.espera entre fijar el canal y comenzar  la conversión analógica/digital  TRISA= 1                                   .

lee la EEPROM 0 y lo guarda en tempbaj  read 1."ºC"                .ma"             .1.muestra el decimal de tempalt  for x =1 to 50                              . N2400.dec dato.tempalt                              .$c6.limpia el LCD y muestra el texto              dato=dato/2                             .dec tempalt.$c0.dec tempbaj.si dato es >tempalt ir a enfriar  low relec: low releF  goto sensar  enfriar:  HIGH releF: low releC  goto sensar  calentar:  HIGH releC: low releF  goto sensar  grabarla:  gosub soltar  http://www.muestra el decimal de tempbaj  LCDout $FE."T.$cc.si dato es <tempbaj ir a calentar  if dato>tempalt then enfriar                .el dato dividir para 2  LCDout $FE."ºC"             .10/6/2017 Curso de programación de PIC en PICBasic Pro funciona  for x =1 to 3      high led      pause 200      low led      pause 200  next  READ 0."ºC"             .Envía los datos por RB0                                     LCDOUT $FE.tempbaj                              .6.actu T. dato                               .mi T.lee la EEPROM 1 y lo guarda en tempalt  sensar:  adcin 0.muestra el decimal de dato  LCDout $FE. [dato]               .forosdeelectronica.lee el canal 0(A0) y guarda en dato  serout PORTB.repetir 50 veces  if enter =0 then grabarla  pause 10  next  if dato<tempbaj then calentar               .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 57/92 .

10/6/2017 Curso de programación de PIC en PICBasic Pro grabar1:  LCDOUT $fe."  lcdout $fe."Programar Temp. 1."  LCDOUT $fe.html 58/92 ."alta=".dec tempbaj.tempbaj                             .$c0.$c0.forosdeelectronica."baja=".dec tempalt."ºC"  pause 100  if bbajar =0 then restar1  if bsubir =0 then sumar1  if enter =0 then grabarA  goto grabar1  restar1:  gosub soltar                                ."Programar Temp.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.programa antirebote de tecla  if tempbaj<1 then grabar1  tempbaj=tempbaj‐1  goto grabar1  sumar1:  gosub soltar  if tempbaj>40 then grabar1  tempbaj=tempbaj+1  goto grabar1  grabarA:  gosub soltar  write 0."ºC"  pause 100  if bbajar= 0 then restar2  if bsubir= 0 then sumar2  if enter= 0  then grabarB  goto grabar2  http://www.escribir en la direcciom 0 de la  EEPROM  grabar2:  LCDOUT $fe. 1.

antirebote de tecla   HIGH led  pause 150  low led  soltar2:  if bbajar= 0 then soltar2  if bsubir= 0 then soltar2  if enter= 0  then soltar2  pause 100  return  end RX: Código:  DEFINE osc 4  define      LCD_DREG        PORTB           .3  define      LCD_RSREG       PORTB           .5  pause 2000  define      LCD_EREG        PORTB           .tempalt                             . B.2.forosdeelectronica.bit de enable conectar en el  http://www.bit de registro del LCD conectar  define      LCD_RSBIT       5               .bit de datos del LCD empezando  define      LCD_DBIT        0               .por B. B.html 59/92 .1.escribir en la direccion 1 de la  EEPROM  goto inicio  soltar                                      .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.0. B.en el puerto B.10/6/2017 Curso de programación de PIC en PICBasic Pro restar2:  gosub soltar  if tempalt<5 then grabar2  tempalt=tempalt‐1  goto grabar2  sumar2:  gosub soltar  if tempalt>50 then grabar2  tempalt=tempalt+1  goto grabar2  grabarB:  gosub soltar  write 1.

0.crear variable dato para guardar  x           var byte  led         var portB.6                                 Symbol N2400 = 4    inicio:  for x =1 to 3                               .d. Subiré el esquemático en pdf para que tengan una visualización del circuito.2. dato  LCDOUT $FE.html 60/92 ."ºC"  end datahsheet modulo: http://electronicahifi.limpia el LCD y muestra el texto          dato=dato/2                           .$c6.10/6/2017 Curso de programación de PIC en PICBasic Pro define      LCD_EBIT        4               .4  DEFINE      LCD_BITS 4  cmcon= 7  TRISB= 0  dato        var word                        .el dato dividir para 2  LCDout $FE. p.pdf p. N2400.d.forosdeelectronica.com/pdf/212st­rx04­a.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.3 parpadeos del led que indica que  funciona      high led      pause 200      low led      pause 200  next  sensar:  serin PORTA. en realidad por el apuro no pude ver que estaba abierto este topic sobre la programación en pbp Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro http://www.1."Temp Actual"         .puerto B.dec dato. Pido disculpas por el post en la sección que no correspondía.1.

  Espero alguien me pueda ayudar. NOTA: para que funcione como el de esta imagen. tengo este error. y le modifique las salidas porque no me funcionaba asi con proteus.10/6/2017 Curso de programación de PIC en PICBasic Pro hola alex. Nuevamente gracias a quien decida colaborarme. sobre que no funcionaban los programas en el Proteus la solución biene en poner una resistencia entre el "RS" del LCD y el +5.. va conectado al RB1 del micro. probalo asi..html 61/92 . Y sigo con la molestadera. saludosss Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro Saludos. te paso la imagen del diseño completo porque lleva una etapa de entrada con optoacoplador que no esta en el circuito anterior. al circuito lo saque de un libro de pbasic que tengo. no he tenido la oportunidad de probar el tacometro en la realidad..  puse la clave con cuatro digitos es 5678.. Gracias Imágenes Adjuntas Temas similares Temas similares Respuesta: Curso programacion de pic en bsic pro Hola nuevamente.forosdeelectronica. la verdad que por falta de un lcd. el pin rs del lcd. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Viggiani. de esta manera sale la lectura pues si te fijas en el circuito. hay que modificar el programa Sobre lo que te comenté. Aquí adjunto la simulación del que me presenta varias alertas cuando se ha digitado la clave varias veces a ver si alguien me sabe orientar del por qué de estos mensajes. http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

y ve si esta asi...7. Imágenes Adjuntas Viggiani... Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Cómo elimino el detalle que me manda el mensaje que indica que se excede la velocidad real o algo así según lo que entiendo en la simulación? a veces es por la animaciones.[5. abre la ventana en menu : system­>set animation options..  para cambiar clave tiene que estar apagada la alarma(LED OFF o puerto Salida) y presionar Michi(#) e introducir la nueva clave de 4 digitos.. a ver si es lo que necesitas..  ahora le quiero agregar para cambiar la clave codigo con cambio de clave... Código: @ DEVICE pic16F628A  @ DEVICE INTRC_OSC_NOCLKOUT ' Opción del Osc Interno  @ DEVICE WDT_Off ' Watchdog Timer ON  @ DEVICE PWRT_Off ' Power‐On Timer  @ DEVICE BOD_Off  @ DEVICE MCLR_Off ' Master Clear Opción interno  @ DEVICE LVP_Off ' Bajo voltaje de programación  @ DEVICE CPD_Off ' Protección del código de memoria OFF  @ DEVICE PROTECT_Off' protección de código OFF  Define Osc 4     CmCon=7    TrisA=%00001111  TrisB=0   EEPROM 0...8]  http://www..forosdeelectronica.... tiene muchos detalles tu codigo y el esquema comparalo con el que puse..6.com/f24/curso­programacion­pic­picbasic­pro­20658/index3..html 62/92 .10/6/2017 Curso de programación de PIC en PICBasic Pro con el *(asterisco) se borra lo digitado..

5  Inicio:   Call Teclado  GOTO INICIO  END       Teclado:  http://www.1  DEFINE LCD_EREG PORTB 'UTILIZAR EL ENABLE EN EL PUERTO B  DEFINE LCD_EBIT 3     'EN EL BIT B.1   FILA3 VAR PORTA.2   FILA4 VAR PORTA.forosdeelectronica.2  Flag     var bit  Cont     var byte  Var1     var word  '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐   COLUMNA1 VAR PORTA.3   '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐          x=0   for cont=0 to 3    READ cont.7  DEFINE LCD_RSREG PORTB'UTILIZAR EL REGISTRO  DE CONTROL/DATOS EN EL PUERTO B  DEFINE LCD_RSBIT 1    'EN EL BIT B.10/6/2017 Curso de programación de PIC en PICBasic Pro DEFINE LCD_DREG PORTB 'UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS  DEFINE LCD_DBIT 4     'DESDE EL BIT B.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.3       '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐  X        VAR BYTE  ALMACEN  VAR BYTE[4]  EPROM    VAR BYTE[4]  SALIDA   VAR PORTB.6   FILA1 VAR PORTA.html 63/92 .0   FILA2 VAR PORTA.7   COLUMNA3 VAR PORTA.4 AL BIT B.EPROM[cont]   next cont   '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐     flag=0  gosub mmenu   low salida  high porta.4   COLUMNA2 VAR PORTA.

1.forosdeelectronica.1.html 64/92 .1."INTRODUCIR CLAVE": else   lcdout $FE."DIGITE CLAVE":   endif   return  http://www."DIGITE LA CLAVE":X=0   endif   PAUSE 500   Return  mMenu:  if flag then    lcdout $FE.$C6+x."*"    x=x+1    if x=>4 then Gosub verificar    if var1=10 then LCDOut $FE.10/6/2017 Curso de programación de PIC en PICBasic Pro  high COLUMNA1                               ' Columna 1 = 0   If  FILA1 Then VAR1 = 1 :gosub keyc         ' tecla "1"   If  FILA2 Then VAR1 = 4 :gosub keyc     ' tecla "4"   If  FILA3 Then VAR1 = 7 :gosub keyc     ' tecla "7"   If  FILA4 Then VAR1 = 10:gosub keyc     ' tecla "*"   low COLUMNA1                                ' Columna 1 = 1   high COLUMNA2                               ' Columna 2 = 0   If  FILA1  Then VAR1 = 2:gosub keyc         ' tecla "2"   If  FILA2  Then VAR1 = 5:gosub keyc     ' tecla "5"   If  FILA3  Then VAR1 = 8:gosub keyc         ' tecla "8"   If  FILA4  Then VAR1 = 11:gosub keyc     ' tecla "0"   low COLUMNA2                                ' Columna 2 = 1   high COLUMNA3                               ' Columna 3 = 0   If FILA1  Then VAR1 = 3 :gosub keyc     ' tecla "3"   If FILA2  Then VAR1 = 6 :gosub keyc     ' tecla "6"   If FILA3  Then VAR1 = 9 :gosub keyc     ' tecla "9"   If FILA4  Then VAR1 = 12:gosub keyc     ' tecla "#"   low COLUMNA3  RETURN          keyC:   if var1=12 then    if not salida then toggle flag:x=0:gosub mMenu   else      ALMACEN[X] = VAR1    LCDOUT $FE.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

html 65/92 .1.eprom[cont]    next cont     LCDOut $FE.almacen[cont]:pause 10     read cont."CAMBIO CLAVE"   ELSE    X=1    for Cont=0 to 3     if almacen[cont]<>eprom[cont] then x=0    next cont    if x=1  THEN     TOGGLE SALIDA     LCDOut $FE.10/6/2017 Curso de programación de PIC en PICBasic Pro VERIFICAR:   IF FLAG THEN    for cont=0 to 3     WRITE cont.1."CAMBIO DE ESTADO"    else       LCDOut $FE.forosdeelectronica.1."CLAVE INCORRECTA"    ENDIF   ENDIF    pause 500   flag=0   gosub mmenu   X=0  return Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro buenas agradezco la información que se comparte en este foro y deseo plantear un inconveniente estoy realizando un programa en microcode studio con el pic 18f4550 pero al compilar me aparece estos errores:contenidos en el formato PDF el codigo es el siguiente: ' CONTADOR ASCENDENTE DE 00 AL 99   DEFINE OSC 8 Dato var byte Unidad VAR BYTE  Decena VAR BYTE  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

2  U3 VAR Unidad.0  U1 VAR Unidad.1 = U1  PORTD.html 66/92 .1  D2 VAR Decena.4 = D0  PORTD.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.10/6/2017 Curso de programación de PIC en PICBasic Pro U0 VAR Unidad.6 = D2  PORTD.3 = U3  PORTD.7 = D3  pause 1000 next Dato goto Inicio he realizado varios programas pero siempre me generan los mismos errores agradezco la ayuda que me pueden brindar.2  D3 VAR Decena. Archivos Adjuntos :bien con el programa anterior realice un voltimetro DC de 0­5 aqui esta el programa: http://www.1  U2 VAR Unidad.5 = D1  PORTD.0  D1 VAR Decena.3  TRISD = 0 Inicio: for Dato = 0 to 99 Decena = Dato/10 Unidad = Dato ­ Decena*10 PORTD.forosdeelectronica.2 = U2  PORTD.3  D0 VAR Decena.0 = U0  PORTD.

 64.$0       LCDOut $0. REP $14.". DEC (MEDIDA / 100).2            Pause 500            LCDOut $FE.html 67/92 .MEDIDA                MEDIDA = (MEDIDA */ 500) >> 2   LCDOut $FE.10/6/2017 Curso de programación de PIC en PICBasic Pro Código: Define LOADER_USED 1  Define OSC 48        Define LCD_DREG  PORTD  Define LCD_DBIT  4  Define LCD_RSREG PORTE  Define LCD_RSBIT 0  Define LCD_EREG  PORTE  Define LCD_EBIT  1  Define  ADC_BITS     10     Define  ADC_CLOCK     3     Define  ADC_SAMPLEUS 50    MEDIDA   Var Word         fullbars Var Byte         barval   Var Byte         partbar  Var Byte         pad      Var Byte         TRISA = %11111111      ADCON1 = %00001010     ADCON2 = %10000000               Low PORTE. REP $15. DEC2 MEDIDA  barval = (MEDIDA / 9) + 1       http://www. REP $0                                                        LCDOut $0.forosdeelectronica.$0                            LCDOut $FE. REP $10. "VOLTIOS DC= ". ". 1                INICIO:  ADCIN 0.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. 2.$0        LCDOut $0.

forosdeelectronica. delphi.com/f24/curso­programacion­pic­picbasic­pro­20658/index3. ah y por cierto tome parte de uno que habian echo para un teclado matrixial y lo adapte. REP $3\fullbars. c++ o labview.10/6/2017 Curso de programación de PIC en PICBasic Pro GoSub BARRA               GoTo INICIO                 BARRA:  fullbars = (barval MIN 60) / 3         partbar = (barval MIN 60) // 3                    pad = 19 ‐ fullbars                         LCDOut $fe. $c0. les dejo el proyecto hasta ahora ha espero no incomodar en el orden del foro Archivos Adjuntos Temas similares Respuesta: Curso programacion de pic en bsic pro realice lo que me dijiste con el pwm pero me envia como 132 aproximadamnete con 1 circlo te coloco el programa para que me digas si hice algo mal. @ DEVICE pic16F628 @ DEVICE INTRC_OSC_NOCLKOUT ' Opción del Osc Interno  @ DEVICE WDT_Off ' Watchdog Timer ON  @ DEVICE PWRT_Off ' Power­On Timer  @ DEVICE BOD_ON @ DEVICE MCLR_OFF ' Master Clear Opción interno @ DEVICE LVP_OFF ' Bajo voltaje de programación  @ DEVICE CPD_OFF ' Protección del código de memoria OFF @ DEVICE PROTECT_OFF' protección de código OFF Define Osc 4 CMCON=7  http://www. partbar.html 68/92 . REP " "\pad   Return  End Ahora deseo realizar la comunicación a usb para que se vea en pc por medio de comunicación USB con visual basic .

0  COLUMNA2 VAR PORTA.6  COLUMNA3 VAR PORTA.1  FILA3 VAR PORTA.forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro A var word  COLUMNA1 VAR PORTB.3  clear Inicio: TrisA=%00001111  TrisB=%00001000  PORTA = %00000000  PORTB = %00000000  Call Teclado  GOTO INICIO  END Teclado:  high COLUMNA1 ' Columna 1 = 1 If FILA1 Then gosub S1 ' ' tecla "1"  If FILA2 Then gosub S4 ' tecla "4"  If FILA3 Then gosub S7 ' tecla "7"  If FILA4 Then gosub S10 ' tecla "*"  low COLUMNA1 ' Columna 1 = 0 high COLUMNA2 ' Columna 2 = 1 If FILA1 Then gosub S2 ' tecla "2" If FILA2 Then gosub S5 ' tecla "5" If FILA3 Then gosub S8 ' tecla "8" If FILA4 Then gosub S11 ' tecla "0"  low COLUMNA2 ' Columna 2 = 0 http://www.2  FILA4 VAR PORTA.7  FILA1 VAR PORTA.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 69/92 .0  FILA2 VAR PORTA.

1 'cada ciclo ocurre aprox.  PAUSE 250  PWM PORTB.forosdeelectronica.1 KB (Kilobytes).2 = 0  GOTO TECLADO  S2: S3: S4: S5: S6: S7: S8: S9: S10: S11:  S12: por cierto aprovecho para mostrar el circuito que estaba haciendo y que me ayudaron por aca el del minutero para que vean como quedo..saludosss Imágenes Adjuntas 15102010156. 34 visitas) http://www.2 = 1 'señal de bandera para empezar a leer los ciclos..10/6/2017 Curso de programación de PIC en PICBasic Pro high COLUMNA3 ' Columna 3 = 1 If FILA1 Then gosub S3 ' tecla "3" If FILA2 Then gosub S6 ' tecla "6" If FILA3 Then gosub S9 ' tecla "9" If FILA4 Then gosub S12 ' tecla "#" low COLUMNA3 ' Columna 3 = 0 RETURN  S1: PORTB.127.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.2 = 0 ' depues de 500ms es que empieza el count a contar los pulsos.jpg (37. cada 5ms. 45 visitas) 15102010160.html 70/92 .jpg (54. segun manual PORTB. 70 visitas) 15102010159.4 KB (Kilobytes).3 KB (Kilobytes).2. activa el receptor  PAUSE 250 'se suma en la espera al receptor con los otros 250ms al final y  PORTB.jpg (54.

10/6/2017 Curso de programación de PIC en PICBasic Pro

15102010162.jpg (70,4 KB (Kilobytes), 53 visitas) Respuesta: Curso programacion de pic en bsic
pro
te adjunto la imagen donde se observa, primero 1 y despues 0 cada uno dura 500ms y luego un tren de
pulso que se supone sea el ciclo del pwm...

gracias por lo del minutero tomare en cuenta tu recomendacion, con respecto a sistema pretendo
hacerlo lo mas sencillo posible, yo utilice el serin y el serout pero tengo muchas dudas al respecto, ya
que es un comando complejo, bueno para mi, pero si tu me dices como puedo usarlo te agradeceria un
millon de veces. Lei el manual y habla de codigo ascii y velocidades?

lei nuevamente el manual y con respecto al serout me dice esto:

SEROUT Pin,Mode,[Item[,Item...}] 
Envía uno ó más Items a Pin , en formato standard asincrónico usando 8 bits de datos , sin paridad y 1
stop bit (8N1) .SEROUT es similar al comando Serout de BS1 .Pin es automáticamente colocado como 
salida . Pin puede ser una constante , 0 ­ 15 , ó una variable que contenga un número de 0­15 (p.ej. B0)
ó
un número de Pin (p.ej. PORTA.0) 
Los nombres Mode (p.ej. T2400) están definidos en el archivo MODEDEFS.BAS . 
Para usarlos ,agregue la línea :
Include "modedefs.bas"
al comienzo de su programa PBP . 
BS1DEFS.BAS y BS2DEFS.BAS ya incluyen MODEDEFS.BAS . No lo incluya ,si ya está usando uno
de ellos .Los números Mode pueden ser usados sin incluir este archivo .

No entiendo "sin paridad y 1 stop bit (8N1)"...? 
lo demas si, ya inclui el archivo y todo solo falta desifrar el como utilizarlo?
Imágenes Adjuntas

Respuesta: Curso programacion de pic en bsic pro
crea una variable tipo word que contenga la palabra o letras que estes escribiendo y que lo guarde
temporalmente en la eeprom y que a su vez borre, seria como un tipo de indexacion, vas guardando en
la pila o stack, de manera que tengas una cierta cantidad de letras para escribir y luego empiece a
reemplazar las primeras que se introdujeron...por ejemplo...saludos...

ahora yo tengo una duda eso que tu haces de pc a pic yo puedo hacerlo de pic a pic.....?

les adjunto el como estoy simulando todo...

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 71/92

10/6/2017 Curso de programación de PIC en PICBasic Pro

Imágenes Adjuntas

Respuesta: Curso programacion de pic en bsic pro
Hola que tal, acabo de entrar a este rollo del PWM, es interesante, ya fabriique mis programa para la
comunicacion en serie.
Lo que tengo que hacer es lo siguiente.
Aumentar o disminuir la velocidad del motor con el PWM, a traves de una comunicacion serial, es decir
cuando el usuario mande la letra "A" la velocidad del motor debe aumentar y si mando la letra "D" la
velocidad del motor disminuye.
Hoy lo realice en clase y lo unico que logre es que el motor gire a su velocidad maximan, no se porque,
pero al momento de establecer la comunicacion y mandar la letra "A" un led prende y el motor empieza
a girar a todo lo que da. Además de que si mando otra letra este ya no hace nada tengo que cortar la
corriente para resetear el PIC.
Si no es mucha molestia aqui les dejo mis dos programasy haber si me puenden ayudar. 
PD:Algun programa para simular la comunicacion serial? uso matlab y programo en Pbasic(microcode)
salu2
Archivos Adjuntos

Temas similares

Respuesta: Curso programacion de pic en bsic pro
bueno ya realice varias pruebas, y al final uso: serout puls,T9600,["A",#ID,10] ya lo entendi bien asi,
ahora hubo unas confuciones fue porque a nivel de conexiones hay varias direfencias, yo utilize el el pin
portb.2 del mando para enviar los datos y tu el portb.0 no se si esto influya pero yo lo utilice porque dice
Tx, y por otra parte la salidad del led indicando que el dato que esperaba recivir es correcto, de resto
todo lo demas esta bien, espero no haber echo un mucho despelote, en fin, para mi es indiferente la
cuestion es que funcione, y lo demas es cuestion de adaptarlo, probe colocando diferentes letras y si
las diferencia, pero aun hay que darle dos veces al boton para que salga el caracter en el virtual
terminal.

lo he logrado de momento la meta de hoy muchas gracias amigo "lubeck" de verdad, de momento
logre adaptarlo a lo que requeria el sistema de momento en simulacion funciona logre conectar al
16f628A unos 3, 12f629 que estan como receptores los cuales cada uno tiene una letra especifica y al
enviar esa letra en codigo asscii a traves del teclado un unico 12f629 se activa permaneciendo los
demas en espera, lo que indica que si descriminan y lo se activan a lo loco. te adjunto la simulacion con
todos los programas hice 10 programas en total en basic para los receptores. hay 10 carpetas. por otro
lado esta la simulacion de los 16f628A para pruebas. y la del sistema completo con tres 12f629, que es
la que esta funcionando en simulacion....hablamos luego y gracias de nuevo...saludosss

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 72/92

10/6/2017 Curso de programación de PIC en PICBasic Pro

PD: Por cierto encontre unas paginas interesantes con respecto a los comandos que soportan los pic,
en el pbp, las encontre debido a que queria utilizar el 12c509A en vez del 629, pero no soporta el
serin...saludosss

http://melabs.com/support/12­bit.htm
http://www.rentron.com/picbasic/prod...cbasic­pro.htm
Archivos Adjuntos

Respuesta: Curso programacion de pic en bsic pro
avance en lo siguiente:

@ device pic12f629,intrc_osc,wdt_off,pwrt_off,mclr_off,prot ect_off  
OPTION_REG.7 = 0 
VRCON = 0 
INCLUDE "modedefs.bas" 
Define Osc 4
CMCON = 7

TRISIO = %00001000 
gpio = %00000000
ACEPTADO VAR GPIO.1 
LEYENDO VAR GPIO.2  
IN VAR GPIO.0 
SERIAL VAR WORD 
DATAID VAR WORD 
CLEAR

INICIO:
LEYENDO = 0
ACEPTADO = 0 
read 5,seriaL
serout GPIO.4,T300,[SERIAL,10]
IF IN = 1 THEN 
GOSUB LEE
ENDIF
goto inicio
LEE:
SERIN IN,T300,["A"],DATAID 
http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 73/92

10/6/2017 Curso de programación de PIC en PICBasic Pro PAUSE 200  LEYENDO = 1 PAUSE 500  GOSUB VERIFICACION GOTO INICIO  VERIFICACION: IF DATAID = "P" THEN  GOSUB GRABAR ENDIF IF DATAID = SERIAL THEN  ACEPTADO = 1  serout GPIO.forosdeelectronica. http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3...[DATAID..10]  GOTO INICIO  ENDIF Grabar: WRITE 5.html 74/92 .T300.daTaid 'graba valor recibido que esta en dataid en la eeprom el caracter seguido de A un 1   ACEPTADO = 1   PAUSE 1000  GOTO INICIO  END resulto ser que si lo guarda coloque un serout al inicio para chequear que lo guardaba.curioso es como si el proteus mantuviera los datos de la eeprom del pic no sabia eso.jejeje otra cosa que note es que cambie la letra y coloque otra a enviar y me muestra la anterior y luego sale la nueva letra algo asi: letra guarda A paro la simulacion cambio la letra y vuelvo a simular y me muestra la A por el serout del inicio y cuando programo la nueva letra empieza a parecer la nueva y deja de aparecer la A esto es en el virtual terminal. lo que hice fue guardar en la variable serial el valor guardado en la direccion 5 de la eerpom y luego lo envie por serout por un pin libre del pic y si resulto que si lo envio demasiado bueno.4..

.. acabo de entrar a este rollo del PWM.. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro yo de nuevo por aca parece que los corri a todos jejeje. a traves de una comunicacion serial. pero al momento de establecer la comunicacion y mandar la letra "A" un led prende y el motor empieza a girar a todo lo que da. Hoy lo realice en clase y lo unico que logre es que el motor gire a su velocidad maximan.saludos Archivos Adjuntos Temas similares Hola Lubeck. Aumentar o disminuir la velocidad del motor con el PWM.. bueno explico mis avances. todo esto es via serial de pic a pic. no me hechas una mano a mi?? GoX F4yCk3r DB dijo: Hola que tal.html 75/92 . lo unico es que se pone super lenta la simulacion pero si se aprecia.saludos actualizacion del archivo con mejoras.forosdeelectronica.saludoss PD: la idea de este sistema es un control infrarojo para varios receptores para que se activen con una señal unica. Además de que si mando otra letra este ya no hace nada http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.. logre programar un receptor con un codigo a travez de la eeprom colocandole asi una identificacion al receptor de tal manera que pueda codificarse con cualquier serial en cualquier momento. entonces si guarda en la memoria del pic la informacion.. es decir cuando el usuario mande la letra "A" la velocidad del motor debe aumentar y si mando la letra "D" la velocidad del motor disminuye. Lo que tengo que hacer es lo siguiente. resulta que logre hacer funcionar el circuito con serout y serin con un baud rate de t300 bastante bien. no se porque..10/6/2017 Curso de programación de PIC en PICBasic Pro adjunto la imagen: si es cierto ya que sin tocar ningun boton el programa queda en el lazo de inicio haciendo la lectura de al eeprom y luego la envia por serout.adjunto todo para quienes quieran ver como funciona cualquier duda me pregunta y si me pueden ayudar a mejorarlo de antemano muchas gracias. sabiendo con esto en que parte del programa del pic se encontraba ejecuantando en ese momento. es interesante. ya fabriique mis programa para la comunicacion en serie. aparte logre a travez del virtual terminal vizualizar cada proceso.

. que solo con el codigo.  ya tengo programadas las 8 secuencias pero no se de que forma hacer cambie de secuencia cada que oprima el pulsador..1  LED3 VAR PORTB. Si no es mucha molestia aqui les dejo mis dos programasy haber si me puenden ayudar.10/6/2017 Curso de programación de PIC en PICBasic Pro tengo que cortar la corriente para resetear el PIC. recuerda que mi opinion es sin saber que tanto sabes al respecto..forosdeelectronica.0 'Defino RB0 como LED1  LED2 VAR PORTB.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.. lo de menos es hacerte la aplicación o ayudarte a buscarla pero no creo que te sirva como material didáctico y siempre vas a estar en busca de lo ya echo.  este el codigo que hasta el momento llevo. Código: CMCON = 7  'HACE QUE SE TRABAJE CON LAS ENTRADAS EN DIGITAL  PORTB=0     ' PONE LAS SALIDAS EN CERO PARA ARRANCAR  PORTA=0  'SALIDAS  LED1 VAR PORTB. ahora si ya tienes algo avanzado subelo y con gusto te echo una mano... con simulador es mucho mas facil..  PD:Algun programa para simular la comunicacion serial? uso matlab y programo en Pbasic(microcode) salu2 Archivos Adjuntos lubeck dijo: si te ayuda en algo mi consejo es que empieces con aplicaciones que esten bien sencillas y utilices un simulador como proteus como por ejemplo.. HOLA lubeck..html 76/92 ..2  LED4 VAR PORTB.3  http://www.

forosdeelectronica.html 77/92 .0  TRISB = 0 ' selecciono los pines de PORTB como salidas  TRISA=1   ' selecciono los pines de PORTA como ENTRADAS  CAMBIOSECUENCIA:  if pulSADOR=1 then GOTO INICIO  GOTO CAMBIOSECUENCIA               'SECUENCIA 1 (SE PRENDEN Y SE APAGAN UNO POR UNO)  INICIO:         PAUSE 2000  LED1=1   PAUSE 500  LED1=0  LED2 = 1   PAUSE 500  LED2=0  LED3 = 1   PAUSE 500  LED3=0  LED4 = 1   PAUSE 500  LED4=0  LED5 = 1   PAUSE 500  LED5=0  LED6 = 1   PAUSE 500  LED6=0  LED7 = 1   PAUSE 500  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.7  'ENTRADAS  PULSADOR VAR PORTA.5  LED7 VAR PORTB.6  LED8 VAR PORTB.10/6/2017 Curso de programación de PIC en PICBasic Pro LED5 VAR PORTB.4  LED6 VAR PORTB.

10/6/2017 Curso de programación de PIC en PICBasic Pro LED7=0  LED8 = 1   PAUSE 500  LED8=0  PAUSE 2000  GOTO INICIO  SECUENCIA2: '(SE PRENDEN Y SE APAGAN DE DOS EN DOS)  LED1=1 : LED2 = 1 ' PRENDE  LED 1 Y 2  PAUSE 500 ' ESPERA 0.forosdeelectronica.5 SEGUNDOS  LED1= 0  LED2 = 0 ' LED 1 2 SE APAGAN  LED3=1  LED4 =1   PAUSE 500  LED3=0  LED4 =0  LED5=1  LED6=1  PAUSE 500  LED5=0  LED6=0  LED7=1  LED8=1  PAUSE 500  LED7=0  LED8=0   GOTO SECUENCIA2   'SECUENCIA3: (SE PRENDEN Y SE APAGAN DE TRES EN TRES)  PAUSE 2000  LED1=1  LED2=1  LED3=1  PAUSE 500  LED1=0  LED2=0  LED3=0  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 78/92 .

html 79/92 .forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.10/6/2017 Curso de programación de PIC en PICBasic Pro PAUSE 500  LED4=1  LED5=1  LED6=1  PAUSE 500  LED4=0  LED5=0  LED6=0  PAUSE 500  LED7=1  LED8=1  PAUSE 500  LED7=0  LED8=0  PAUSE 2000  'SECUENCIA 4 (SE PRENDEN Y SE APAGAN DE CUATRO EN CUATRO)  PORTB=%00001111  'METODO ABREVIADO PARA PONER LAS CUATO PRIMERAS SALIDAS A 1  PAUSE 500  PORTB=%11110000  PAUSE 500  PORTB=%00000000  PAUSE 2000  'SECUENCIA 5 (SE PRENDEN Y SE APAGAN DE UNO EN  UNO DEL 8 AL 1)  LED8=1   PAUSE 500  LED8=0  LED7 = 1   PAUSE 500  LED7=0  LED6 = 1   PAUSE 500  LED6=0  LED5 = 1   PAUSE 500  LED5=0  LED4 = 1   PAUSE 500  LED4=0  LED3 = 1   PAUSE 500  LED3=0  http://www.

forosdeelectronica.5 SEGUNDOS  LED8= 0 : LED7 = 0 ' LED 1 2 SE APAGAN  LED6=1: LED5 =1   PAUSE 500  LED6=0  LED5 =0  LED4=1  LED3=1  PAUSE 500  LED4=0  LED3=0  LED2=1  LED1=1  PAUSE 500  LED2=0  LED1=0   PAUSE 2000  'SECUENCIA 7(SE PRENDEN Y SE APAGAN DE TRES EN TRES DEL 8 AL 1)  LED8=1  LED7=1  LED6=1  PAUSE 500  LED8=0  LED7=0  LED6=0  PAUSE 500  LED5=1  LED4=1  LED3=1  PAUSE 500  LED5=0  LED4=0  http://www.html 80/92 .10/6/2017 Curso de programación de PIC en PICBasic Pro LED2 = 1   PAUSE 500  LED2=0  LED1 = 1   PAUSE 500  LED1=0  PAUSE 2000  'SECUENCIA 6 (SE PRENDEN Y SE APAGAN DE DOS EN DOS DEL 8 AL 1)  LED8=1 : LED7 = 1 ' PRENDE  LED 1 Y 2  PAUSE 500 ' ESPERA 0.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

html 81/92 .forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro LED3=0  PAUSE 500  LED2=1  LED1=1  PAUSE 500  LED2=0  LED1=0  PAUSE 2000  'SECUENCIA 7(SE PRENDEN Y SE APAGAN DE CUATRO EN CUATRO DEL 8 AL 1)  LED8=1  LED7=1  LED6=1  LED5=1  PAUSE 500  LED8=0  LED7=0  LED6=0  LED5=0  PAUSE 500  LED4=1  LED3=1  LED2=1  LED1=1  PAUSE 500  LED4=0  LED3=0  LED2=0  LED1=0             GOTO INICIO' SE REPITE  END 'FIN DEL PROGRAMA Archivos Adjuntos Temas similares reyvilla dijo: prueba con este fijate que le faltaba y por otra lado juega colacandole las otras secuencias me http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

0 led2 var portb.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.0 *  '* Notes : * '* : * '************************************************* *************** @ DEVICE pic16F628 @ DEVICE INTRC_OSC_NOCLKOUT ' Opción del Osc Interno  @ DEVICE WDT_Off ' Watchdog Timer ON  @ DEVICE PWRT_Off ' Power­On Timer  @ DEVICE BOD_Off  @ DEVICE MCLR_OFF ' Master Clear Opción interno @ DEVICE LVP_OFF ' Bajo voltaje de programación  @ DEVICE CPD_OFF ' Protección del código de memoria OFF @ DEVICE PROTECT_OFF' protección de código OFF Define Osc 4 CMCON = 7 'HACE QUE SE TRABAJE CON LAS ENTRADAS EN DIGITAL  PORTB=0  led1 var portb.EDITOR OPTIONS] *  '* : All Rights Reserved *  '* Date : 22/10/2010 * '* Version : 1.EDITOR OPTIONS] *  '* Notice : Copyright (c) 2010 [select VIEW.10/6/2017 Curso de programación de PIC en PICBasic Pro avisas..html 82/92 .1 pulsador var porta.0  contador var byte trisa=1 trisb=0 inicio: if pulsador = 1 then  contador = contador+1 gosub aumentar  endif goto inicio aumentar: if contador = 1 then  gosub secuencia1 http://www. '************************************************* *************** '* Name : UNTITLED...forosdeelectronica.BAS * '* Author : [select VIEW..

..  ahora el programa solo me salta a primera secuencia y ya no sale de allí.(envío el circuito en proteus) les agradezco me ayuden con este problema.. pero he encontrado un ejemplo claro de como se usa! Algun dia lo encontrare es cuestión de tiempo...html 83/92 .. http://www... Listo creo que es una buena ayuda.10/6/2017 Curso de programación de PIC en PICBasic Pro endif if contador = 2 then gosub secuencia2  goto aumentar endif secuencia1: led1=1 pause 200 Led1=0 led2=1 pause 200 led2=0 goto aumentar secuencia2: led2=1 pause 200 Led2=0 led1=1 pause 200 led1=0 goto aumentar end HOLA REY  he probado de todas las maneras y no me fúnciona.forosdeelectronica. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro no es lo mas adecuado como te menciono lo mejor es usar el ON INTERRUPT.com/f24/curso­programacion­pic­picbasic­pro­20658/index3..

3  led4 var portb.7  pulsador var porta.5  led6 var portb..4  led5 var portb.6  led7 var portb.2  led3 var portb.0  led1 var portb.1  led2 var portb. (un pulsdador para cambio de secuencias y otro para hacerles variar la velocidad a las secuencias) le agradeceria me hecharan una mano..10/6/2017 Curso de programación de PIC en PICBasic Pro Who is NEXT? [/QUOTE] HOLA ..com/f24/curso­programacion­pic­picbasic­pro­20658/index3.  al final utilicé el método que me pasaste del los cases y bueno de momento esa parte la tengo solucionada.  os dejo el código que llevo.forosdeelectronica.html 84/92 .0  contador var byte          clear  PortB=0  inicio:  if pulsador then   pause 200   contador = contador+1   if contador >=8 then contador =0 endif  select case contador  http://www. lo que pasa es que ahora me piden adicionar otro pulsador para hacer cambiar la velocidad de las secuencias . Código: Define Osc 4  CMCON = 7 'HACE QUE SE TRABAJE CON LAS ENTRADAS EN DIGITAL  TrisA=1   trisB=0  led0 var portb.

html 85/92 .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro  case 0     PORTB=%00001111  gosub TIEMPO_ON  PORTB=%11110000  GOSUB TIEMPO_Off      case 1  PORTB=%00000000  PORTB=%11001100  gosub TIEMPO_ON  PORTB=%01000100  GOSUB TIEMPO_OFF      case 2     PORTB=%10101010      case 3   PORTB=0    led7=1  gosub tiempo_on  led7=0  led6=1  gosub tiempo_on  led6=0  led5=1  gosub tiempo_on  led5=0  led4=1  gosub tiempo_on  led4=0  led3=1  gosub tiempo_on  led3=0  led2=1  gosub tiempo_on  led2=0  led1=1  gosub tiempo_on  led1=0  led0=1  http://www.

com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 86/92 .10/6/2017 Curso de programación de PIC en PICBasic Pro gosub tiempo_on  led0=0      case 4    led0=1  gosub tiempo_on  led0=0  led1=1  gosub tiempo_on  led1=0  led2=1  gosub tiempo_on  led2=0  led3=1  gosub tiempo_on  led3=0  led4=1  gosub tiempo_on  led4=0  led5=1  gosub tiempo_on  led5=0  led6=1  gosub tiempo_on  led6=0  led7=1  gosub tiempo_on  led7=0      case 5    PORTB=%00011000  GOSUB TIEMPO_ON  PORTB=%00100100  GOSUB TIEMPO_OFF      case 6  PORTB=0    led7=1  gosub tiempo_on  led6=1  gosub tiempo_on  http://www.forosdeelectronica.

10/6/2017 Curso de programación de PIC en PICBasic Pro led5=1  gosub tiempo_on   led4=1  gosub tiempo_on   led3=1  gosub tiempo_on  led2=1  gosub tiempo_on  led1=1  gosub tiempo_on  led0=1  gosub tiempo_on  portb=%10000000      case 7    led7=1  gosub tiempo_on  led7=0  led6=1  gosub tiempo_on  led6=0  led5=1  gosub tiempo_on  led5=0  led4=1  gosub tiempo_on  led4=0  led3=1  gosub tiempo_on  led3=0  led2=1  gosub tiempo_on  led2=0  led1=1  gosub tiempo_on  led1=0  led0=1  gosub tiempo_on  led0=0  led0=1  gosub tiempo_on  http://www.forosdeelectronica.html 87/92 .com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

10/6/2017 Curso de programación de PIC en PICBasic Pro led0=0  led1=1  gosub tiempo_on  led1=0  led2=1  gosub tiempo_on  led2=0  led3=1  gosub tiempo_on      led3=0  led4=1  gosub tiempo_on  led4=0  led5=1  gosub tiempo_on  led5=0  led6=1  gosub tiempo_on  led6=0  led7=1  gosub tiempo_on  led7=0  end select  goto inicio  tiempo_on:  PAUSE 180  RETURN  'CON TIEMPO_OFF MANEJO EL TIEMPO QUE DURAN LOS LED APAGADOS   tiempo_off:  PAUSE 180  RETURN  end Archivos Adjuntos Temas similares Respuesta: Curso programacion de pic en bsic pro http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 88/92 .

 mclr_off. intrc_osc_noclkout.N2400.2  botonC var gpio.5. alguien me puede ayudar con una comunicacion serial entre 2 PIC12f675.html 89/92 . wdt_off. intente con estos codigos.["A"]  pause 500  goto transmitir  envio2:  serout gpio.5.  protect_off  INCLUDE "modedefs. pero no me corren en proteus y ya no se que más cambiar : emisor Código: @ DEVICE pic12F675.["B"]  pause 500  goto transmitir  envio3:  serout gpio.N2400.1  botonB var gpio.N2400.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.5.bas"  define OSC 4   define OSCCAL_1K 1  botonA var gpio.4  transmitir:  if botonA=0 then envio1  if botonB=0 then envio2  if botonC=0 then envio3  goto transmitir  envio1:  serout gpio.["C"]  pause 500  goto transmitir  http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro Por favor.forosdeelectronica. pwrt_on. bod_off.

1  leda var gpio.0.intrc_osc_noclkout. reyvilla. wdt_off.  protect_off  INCLUDE "modedefs.2  ledv var gpio.bas"  define OSCCAL_1K 1  ledr var gpio. bod_off. mclr_off. pwrt_on.html 90/92 . Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Hola.10/6/2017 Curso de programación de PIC en PICBasic Pro end receptor Código: @ DEVICE pic12F675.recibir.datos  if datos="A" then high ledr  pause 1000  if datos="B" then high leda  pause 1000  if datos="C" then high ledv  pause 1000  low ledr:low leda:low ledv  goto recibir  end Muchas gracias a quien se dé el tiempo. adjunto la simulación.4  datos var byte  high ledr  pause 500  low ledr  recibir:  serin gpio.forosdeelectronica. y trate de sacarle lo que supongo esta demás para http://www.N2400.1. estaba leyendo otra vez tu codigo.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.

bas"    define OSCCAL_1K 1  Define Osc 4  CMCON = 7  ansel=0  vrcon=0  adcon0=0  TRISIO = %00001001   gpio   = %00000000  ACEPTADO  VAR GPIO.5   led var GPIO.forosdeelectronica.1  LEYENDO   VAR GPIO.4  SERIAL    VAR WORD  DATAID    VAR WORD   '  CLEAR     ' LEYENDO = 0    'en esta parte lee el dato almacenado en la eeprom  ' ACEPTADO = 0  ' READ 5.0  '  ESPERANDO VAR GPIO.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.intrc_osc. Código: @ device pic12f675.pwrt_off.[" CODIGO ACTUAL ".4 = 1       '¿por que haces    esto????   'SEROUT GPIO.T9600.wdt_off. la adjunté) Dejé una parte de tu código como guia y ahora quiero ver como construyo sobre él.y anotaba al costado lo que supongo hace cada sección.10/6/2017 Curso de programación de PIC en PICBasic Pro mi.4.html 91/92 .protect_off   INCLUDE "modedefs.SERIAL.10]   'inicio         INICIO:  http://www.mclr_off. no se como poner la imagen para que se vea.serial   ' GPIO. Yo solo necesito 3 o 4 pulsadores.2 '  IN        VAR GPIO. ( si me ayudas.

T9600.T9600. lo graba en  dataid.[" CODIGO LEIDO ".o   ACEPTADO = 0   ESPERANDO = 1   IF IN = 1 THEN   ESPERANDO = 0   GOTO LEE   ENDIF      IF IN = 0 THEN   GOTO INICIO    ENDIF       GOTO INICIO          LEE:                              'una vez que algo llego a gpio. anteponiendo '‐'   LEYENDO = 1      SERIN IN.0.4   LEYENDO = 0   if dataid="1" then high led  ' por ejemplo que encienda un led cuando dataid=  'algo'    low led   goto inicio   end Saludos.com/f24/curso­programacion­pic­picbasic­pro­20658/index3.html 92/92 . http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro  LEYENDO = 0         ' aqui espera hasta que llegue algo a gpio. SI Y NO LLEGA SE QUEDA ESPERANDO   high led    pause 500   low led   'SEROUT GPIO.DATAID 'Y ES LA BANDERA.[" ‐ "].4.forosdeelectronica.DATAID.10]    'saca lo leido por gpio.