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/index4.html 1/93

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/index4.html 2/93

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/index4.html 3/93

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

zip (31.condicionales para alarmas  if pulsos>750 then EMER1      . 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.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.  Este es dodigo fuente: Código: @ device xt_osc . No coloque los testigos (leds) por el espacio en la proto para controlar el motor 1 utilice el comando PWM.VARIABLE PARA GUARDAR EL VALOR DE LDR1  http://www. oscilador externo XT   define osc 4 .9 KB (Kilobytes).utilice un pic 16f84a.7 KB (Kilobytes).zip (30. 895 visitas) ldc_frecuen_127. RUTINA EMER1                                                HIGH ALARMA0  LOW ALARMA1  GOTO LOOP  EMER2:                                   . especifica que se va a utilizar uno de 4 Mhz   . SI PULSOS DECIENDE  320 IR A EMER2  LOW ALARMA0:LOW ALARMA1  GOTO LOOP  EMER1:                          . driver l293b.SI PULSOS EXCEDE 750 IR A EMER1  if pulsos<320 then EMER2       .ROBOT SEGUIDOR DE LUZ  b0 var byte         .RUNITA EMER2  LOW ALARMA0  HIGH ALARMA1  GOTO LOOP Archivos Adjuntos frecuencimetro_135.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.html 5/93 .forosdeelectronica.adaptando en un pequeño protoboard el circuto para controlar los dos motores que componen el carrito.

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

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

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

uno var portb.4 
dos var portb.5 
tres var portb.6 
cuatro var portb.7 

iniciando:        ;incica funcionamiento del sistema  

high led:high bip 
pause 1000 
low led:low bip 
goto teclauno        ; comparar clave 

barrido: 
low a               ;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 

;rutina antirrebote de teclas 

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 8/93

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 
 ;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.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 9/93

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

high door 
pause 3000 
low door  
goto teclauno 

;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, vayamos por partes, primero el 16f877a no tiene oscilador interno, pero es mucho
mas completo que el 16f628 en otras areas, mas memoria eeprom, 33 in/out, etc, debes conserguirte
un cristal de 4 mhz que es lo mas comun, y dos condensadores de 22 picofaradios, con esto haces el
oscilador, es indispensable contar con el datasheet u hoja de datos del mencionado pic, de otra forma
no sabes con que estas trabajando, debes si o si conocer la disposicion de las patas del pic...
ahora para el lcd debes tener en cuenta un par de cosas, un lcd por ejemplo de 2x16 (muy comun)
trabajan de dos modos con 8 bits o con 4 bits, que es esto? la cantidad de patas que vas a conectar al
pic, si es de 4 bits conectas 4 patas del pic al lcd, si es de 8 conectas 8 patas del lcd al pic, que se gana
con esto, una mayor velocidad de transferencia de datos del pic al lcd...ahora bien ademas de las 4 u 8
patas debes conectar tambien otras dos que son "E" (enable), 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, por ejepmlo: (limpiar la pantalla) o si recibe un caracter, por ahora debes poder armar el soft,
y debes ser paciente para poder entender como funciona el sistema, es maravilloso pero no debes
desesperarte, busca información en google que hay mucha...saludos te adjunto un esquema de
http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 10/93

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

 #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."Position = ".6 = 0 Then                  Gosub right          Endif          .forosdeelectronica.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.Rutina para mostrar mensaje y valor decimal de la posicion del servo                    Lcdout $fe.5 = 0 Then                  Gosub center          Endif          If PORTB.2.4 = 0 Then                  Gosub left          Endif          If PORTB.html 12/93 .1          Lcdout $fe.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 13/93 . 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.forosdeelectronica. oscilador externo XT   define osc 4 .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 .

7         ' DEL PIC 16F84a          Low PORTB.forosdeelectronica.7   DQ_DIR  var     TRISB.html 14/93 .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.7         ' PIN DEL SENSOR DS18S20 CONECTADO A PORTB.$80. 1          Lcdout $fe.6             ' LCD R/W A CERO LOGIGO POR EL PIC 16F84a          Pause 100               ' 100 MS PARA INICIALIZAR LCD          Lcdout $fe.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. "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.

10/6/2017 Curso de programación de PIC en PICBasic Pro 'RUTINA PARA MOSTRAR VALOR DE TEMPERATURA EN EL LCD                    Lcdout $fe. dec (temp >> 1).$83.$C2."."."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.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/index4."SENSOR DS18S20"                  Lcdout $fe.forosdeelectronica. "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.0 * 5).$86. 1                   Lcdout $fe.dec (temp.html 15/93 .

15 = 1                      Low DQ                   @       nop                  ' RETARDO DE 1us CON UN OSCILADOR EXTERNO DE 4MHz                   DQ_DIR = 1                        If DQ = 0 Then                  temp.html 16/93 .15 = 0               Endif          Pauseus 60                        Return          End Archivos Adjuntos Temas similares http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.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.

 y la capacidad de memoria.4sp3. se carga una hora/fecha al RTC (DS1307).. que después puede ser configurada en cualquier monento con los pulsadores (MODO NORMAL)... 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.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. me recibe y recepciona datos. Quisiera aportar con el proyecto que se solicitaba de reloj digital con LCD. el Reloj sigue normalmente con el último puslo en SET. Ya cuando se modifican todos los campos. pulsando otras vez. Para esto..) Cualquier cosa.. se cambia el valor del campo seleccionado.. 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.. Solo falta la parte de la alarma [solo unas 5 ó 6 lineas de codigo más].. duda del codigo.. Cabe destacar que la simulacion está en proteus 7.. Con los botones UP o DOWN_MODE. para migrar a 16F628/A o algun otro. el cursor cambia a minutos. deben revisar los pinouts. y comenzará a parpadear en el display el campo a ser modificado: hora. http://www.. bueno...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..  Para acceder al modo de la alarma. posteala y veremos como solucionamos. una breve explicación del funcionamiento: Al encender el circuito. Hola! Encontré este foro muy interesante sobre microcontroladores PIC en Basic. debes presionar DOWN_MODE en el MODO NORMAL.. Si encuentras algun bug tambien avisamelo.. En el archivo adjunto está la simulación y el programa.html 17/93 . solo falta unas lineas (variables de almacenamiento de la hora de la alarma. pulsando otra vez cambia a dia.. Archivos Adjuntos Reloj En LcD con igualador y alarma.5 con excelentes resultados .. con un PIC 16F877A. o si logras hacer el programa mas corto tambien! Adjunto un screencapt y el modelo con la simulación. . hasta aqui va el código. configuración. Recomendaría usar un 628A. he conseguido buena información para ello. har que mantener presionado el pulsador "SET" por un momento (ENTRAS AL MODO CONFIGURACION). Como dije anteriormente..forosdeelectronica....

.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.y frecuencia de 38 KHZ aproximadamente   @ device xt_osc .2 LEDs  http://www. calses j. 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.. 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.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. Programa PWM con Hardware con el pic 16f628A con un ciclo util del 50%   .0. se puede incrementar los minutos en el boton minus . los mensajes apareceran siempre que se ejecute el  cambio de jornadas programas: 6:00 am ini.forosdeelectronica.B.1.B. clases j. Al activar el boton comienzo se da inicio a la jornada mañana.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: . oscilador externo XT   define osc 4 .m 12:00 pm ter. 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.html 18/93 .m  12:300 pm ini.10/6/2017 Curso de programación de PIC en PICBasic Pro En unos dias subo ya el proyecto completo. clases j.3=PWM.t 6:30 pm ter. clase j.

0  pause 50  high PortB.1  pause 50  low PortB. 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: .html 19/93 .0  pause 50  low PortB.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  low PortB.127.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.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. especifica que se va a utilizar uno de 4 Mhz   PWM portB. oscilador externo XT   define osc 4 .1  pause 50  high PortB.30 . Programa PWM con el pic 16f84A con un ciclo util del 50%   @ device xt_osc . 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.3.

.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.8 0...9 1..forosdeelectronica.6 0.2 0..5 0.3 0.7 0.1 y a medida que vaya moviendo pueda verlo 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: . 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.html 20/93 .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.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.   '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.4 0.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.

com/f24/curso­programacion­pic­picbasic­pro­20658/index4.1. ["0123456789*#ABCD"].B  Lcdout $fe.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. 1.forosdeelectronica.7 = 0        ' Activa resistencias internas PORTB   ADCON1 = 7              ' PORTA y PORTE digital  Low PORTD.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. "PRESIONE TECLA"  ' mensaje   inicio:  Gosub leer              Lookup A.html 21/93 .

3.9.adjunto mi esquema para que me ayuden a resolverlo. 809 visitas) lcdtecla.1 KB (Kilobytes).forosdeelectronica.A  Return                  ' retornar   End Como siempre dejo la simulacion en proteus .10.12.5.zip (56. 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.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. Imágenes Adjuntas http://www.zip (86.html 22/93 . 724 visitas) Temas similares Respuesta: Curso programacion de pic en bsic pro alli envio un esquema que podria ayudar.13.7.0. [1.4.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. codigo fuente y esquematico "comentar es agradecer" Archivos Adjuntos TCLEDO ­LCD.6.15].14.4 KB (Kilobytes).11.8.2.

. una idea basica seria por ejemplo que si yo presiono un boton en el transmisor. probalo vos mismo. en el receptor se encienda el led que corresponde al mismo. queria pedirte si puedes ayudarme a comprender como utilizar el serin y serout del pbasic. solo necesito un par de lineas de codigo como para guiarme. te explico un poco lo que quiero hacer.  mi idea es implementar un control remoto basado en el pic16f84A pero la verdad que no entiendo muy bien como utilizar estas dos instrucciones .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.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. un saludo y espero puedas ayudarme gracias Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro claro.html 23/93 .. te paso un dibujo del circuito basico espero que se entienda . y tengo una duda !! Use todo el puerto B para formar una secuencia  http://www. por eso.forosdeelectronica. 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.

forosdeelectronica.9 KB (Kilobytes).zip (954. vere como te puedo ayudar con la comunicacion SPI apartir de Hardware. 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.10/6/2017 Curso de programación de PIC en PICBasic Pro de luces.pdf (646.  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. 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. 34 visitas  Andres111 manejo comunicacion serial entre PICS con los comandos serin y serout .com/f24/curso­programacion­pic­picbasic­pro­20658/index4.0 KB (Kilobytes).  http://www. si quisiera conectar 20 leds en paralelo en cada salida del puerto B. Mi pregunta es: si no solo quisiera conectar un solo led a cada salida.html 24/93 . 33 visitas) entrenador para microcontrolador con PBP. 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.

Las líneas del puerto C se encuentran multiplexadas con varias lineas controladas por otros periféricos.­Es el registro de datos cuyos 8 bits RC7.  Registro TRISC(87H).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). Además..  Cada entrada del puerto C posee un buffer con disparador Schmitt. algunos periféricos configuran la línea como salida mientras que otros la configuran como entrada.3> pueden ser configuradas con niveles I2C o con niveles SMBus mediante el bit CKE del registro SSPSTAT<6>.­Registro de control de dirección de las líneas del puerto C.html 25/93 .forosdeelectronica. cuando se habilita la línea del periférico respectivo puede ser ignorada la configuración de TRISC.. de hecho.com/f24/curso­programacion­pic­picbasic­pro­20658/index4..RC6.. 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.  En la siguiente tabla se resumen las líneas del puerto C y las de los periféricos que están multiplexadas con ellas. las patitas PORTC<4.RC0 reflejan directamente el valor lógico de las líneas físicas del puerto C. cuando se selecciona la función I2C. http://www.  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.

6 'Selecciona bit de reloj  SSPIF VAR PIR1.html 26/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro Que tal vamos a poner el siguiente codigo de comunicacion spi a traves de Hardware (manipulacion de registros del puerto C) con dos pic 16f877A como proyecto.4 'SELECCIONA POLARIDAD DE RELOJ  SMP VAR SSPSTAT. oscilador externo XT   define osc 4 .com/f24/curso­programacion­pic­picbasic­pro­20658/index4.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  http://www.  '  ' 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.  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. 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.5 'Habilita bit SSP   CKP VAR SSPCON.7 'Seleccionar la muestra de datos de entrada de fase  CKE VAR SSPSTAT.forosdeelectronica.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.  'DEFINICION OSCILADOR EXTERNO      @ device xt_osc .

 especifica que se va a utilizar uno de 4 Mhz   'Asignar memoria RAM     dataout VAR BYTE[8] 'Salida de datos serie   http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro SSPIF = 0 'Buffer de estado completo  SMP = 0 'muestra en medio de los datos        mainloop:  GoSub getdata 'iniciar la conversión de datos y recibir     LCDOut $fe. oscilador externo XT   define osc 4 . STR a\5.$c0."Conversor A/D "  LCDOut $fe.$80.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.1 'Indicar recibió de cadena en lcd  LCDOut $fe.html 27/93 . 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 .

4 'selección de polaridad  SMP VAR SSPSTAT.7 'Datos de entrada de fase  CKE VAR SSPSTAT.0 análogo.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. dataout[5] 'Leer canal ADC 0.6 'Selecciona bit de reloj  SSPIF VAR PIR1. 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.html 28/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro SSPEN VAR SSPCON.5 'Habilitar bit SSP  CKP VAR SSPCON. 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. 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/index4.forosdeelectronica.

zip (75. 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.. si pulsin es menor que pot. saludosss y feliz 2010. agradecere cualquier tipo de consejo. pero aqui es donde se complica. 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. 494 visitas) spi. ( < > = ) obtener tres posibles estados en dos salidas para controlar el driver del motor.forosdeelectronica. anda bien. programa en pic basic pro y esquemático Archivos Adjuntos Comunicación SPI PIC 16F877A.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. si pulsin es mayor que pot anda bien. Primero felicitar a mi compatriota Mecatrodatos por este tutorial.0 KB (Kilobytes). 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. segun mi poco conocimiento en pbasic me parece que el programa que escribi deberia funcionar sin problemas. 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..pdf (307. http://www.html 29/93 . Archivos Adjuntos Temas similares Respuesta: Curso programacion de pic en bsic pro Buenas a todos.6 .com/f24/curso­programacion­pic­picbasic­pro­20658/index4.8 KB (Kilobytes).

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. iluminacion perimetral etc. este ciclo deberia ser diario. con pic16f628a un nuevo pic relacionado.eh?..com/f24/curso­programacion­pic­picbasic­pro­20658/index4. Bueno has manejado varios temas importantes pero y los 7 segmentos?. tenemos muy poca por no decir nada sobre manejar estos dispocitivos con el pic basic pro.... siguiendo la relacion de distrubucion de energia de mi pueblo. con un ajuste de on y off.html 30/93 . que lea los datos del bus i2c del ds1307. dejo la semilla. 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.eh. por cada 2 dias de luz electrica 3 horas no y hasta si puede cerrar la relacion a diario..pues..pero puede ser usado por ejemplo para sistemas de riego.. cheyo28 Imágenes Adjuntas pic_reloj2. claro. y por ultimo manejaria una carga "x".podriamos ir manejando el tema de los siete segmentos primero de modo de ir avanzando apropiadamente  Saludos y exitos a todos... es decir un relé.forosdeelectronica. 600 visitas) http://www. la construccion de la casa. y mi hija.. en fin lo que no se querria es perder la hora.6 KB (Kilobytes). Se trata de un reloj con 7 segmentos.PNG (101.y por supeusto el plano esquematico de lo que sería tentativamente el circuito y por supuesto como me gustaría que quedara. en mi caso para manejar la nevera por las noches. y definitivamente una bateria back up no daria chicle..

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

10/6/2017 Curso de programación de PIC en PICBasic Pro meses y dias en el lcd Código:    'CPNFIGURACION MESES.70.65.101...PNG (337.116.8 KB (Kilobytes).104.110.. 215 visitas) contador.117..117.77.97.103    ' May Jun Jul Aug  Data 83.79.105    ' Tue Wed Thu Fri  Data 83.97.114...99    ' Sep Oct Nov Dec  Data 84.110. WDT_ON ' Watchdog Timer ON   @ DEVICE pic16F628A.112.99.111.87. INTRC_OSC_NOCLKOUT ' Opción del Osc Interno  @ DEVICE pic16F628A.DIAS  Data @0.117..74..74.84.68.html 32/93 ..com/f24/curso­programacion­pic­picbasic­pro­20658/index4. PWRT_ON ' Power­On Timer   @ DEVICE pic16F628A.100.101.8 KB (Kilobytes).forosdeelectronica.117..74. BOD_ON  http://www.117.98.65.121.97.108.PNG (238.114.por la tarde voy mostrando lo que seria la rutina..112.101.101. 289 visitas) Amigo Cheyo realiza las siguientes configuracioens a tu programa: @ DEVICE pic16F628A.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.118.114    ' Jan Feb Mar Apr  Data 77.  Cheyo28 Imágenes Adjuntas pines 16f528a.83.117.111.110    ' Sat Sun Mon noté que esos numeros corresponden a una letra.77.97.como detrminas el numero?.70.110.eh.78.y hasta si esta en mayusculas.116.101.

10/6/2017 Curso de programación de PIC en PICBasic Pro @ DEVICE pic16F628A. simulacion y . 548 visitas) RELOJ1. LVP_OFF ' Bajo voltaje de programación   @ DEVICE pic16F628A. 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. 418 visitas) Temas similares http://www.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 .pdf (133.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. MCLR_OFF ' Master Clear Opción interno  @ DEVICE pic16F628A.pdf (143.6 KB (Kilobytes).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.9 KB (Kilobytes). PROTECT_OFF' protección de código OFF led var portb. CPD_OFF ' Protección del código de memoria OFF  @ DEVICE pic16F628A.html 33/93 .forosdeelectronica.

 yo por aqui de nuevo.10/6/2017 Curso de programación de PIC en PICBasic Pro Respuesta: Reloj digital (PIC­Decodificadores Parte 1) 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. en fin. es que a diferencia del que postie anteriormente. tal ves sea que no se como adaptar el programa a mi circuito. lo que tiene de bueno este circuito. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro hola chicos. es de un solo canal pero con algunas modificaciones al programa se pueden lograr varios canales..pdf (331. los servos de sus salidas vuelven a cero. cuando el receptor deja de recibir señal.0 KB (Kilobytes).forosdeelectronica.asi de facil y bonito voy a buscar los archivos para k los veass eso  y saludosss. espero les sea de utilidad.... primero le queria dar las gracias a mecatrodatos por ayudarme con lo del servo casero pero. no pude hacer que funcione. Archivos Adjuntos humedad.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. les queria dejar un control remoto serie proporcional de pic a pic que diseñe.para la web es mas simple hace un tempo atras realise algo parecido. gracias de todas formas en este caso. 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..... bueno.. saludosss.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 34/93 . 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 . 299 visitas) http://www.

 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 http://www.  Saludos! Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro La funcion de autocalibracion de los potes es asi. (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.html 35/93 . Yo todabía no lo he podido probar porque estoy esperando a que me lleguen 2 16f877.. 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.10/6/2017 Curso de programación de PIC en PICBasic Pro web control. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro primero es obligatorio el uso de servos. 270 visitas) Respuesta: Curso programacion de pic en bsic pro Hola fernando.forosdeelectronica. Ya me dirás si funciona. en cuanto los tenga en mi poder. en el adresh.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. Hay que usar el ADCON1 de la siguiente manera.rar (2.4 KB (Kilobytes).. me lío con ello.  Pon 1000.

 TURN ON A/D  CONVERTER     HIGH PORTB. estoy usando un pic16f88.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. SELECT CHANNEL AN0. 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.RES       'READ CHANNEL 0 DATA         VOLTS1=RES*CONV1   'MULTIPLY BY 19      VOLTS2=RES*CONV2    'MULTIPLY 53  http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro Respuesta: Curso programacion de pic en bsic pro hola amigos. 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.forosdeelectronica. la idea es que el led rojo encienda al comenzar el programa. y me ha sido imposible utilizar el conversor A/D. 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.53. simulo en proteus y no me funciona les adjunto los archivos para ver si alguien me puede ayudar.2      PAUSE 3000   AGAIN:      'START A/D CONVERSION         ADCIN 0.html 36/93 .

  'Servo ciclos entre la izquierda y 'Las posiciones de las agujas del reloj.forosdeelectronica..1      ENDIF      PAUSE 2000      GOTO AGAIN           END Aqui adjunto el archivo para el proteus.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. totalmente comentados con su respectiva simulacion en proteus como codigo fuente con el pic 16f88 en el cual algunos tienen dudas sobre su utilizacion. asegúrese de tener alimentacion por separado  'SUMINISTROS PARA el PIC Y el SERVO.. Usar 9V de   http://www.servo1.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.0       ELSE                                           HIGH PORTB. '­­­­­­­­­­­­Comentario­­­­­­­­­­­­­­ 'CON EL PIC16F88.html 37/93 .. '­­­­­­­­­­­­­­­Titulo ­­­­­­­­­­­­­­  '************************************************* *************** '* Name : Proyecto con motores .10/6/2017 Curso de programación de PIC en PICBasic Pro     VOLTS2=VOLTS2/100      VOLTS1=VOLTS1+VOLTS2  'RESULT IN mV      IF VOLTS1 < 2500 THEN      HIGH PORTB.. GRACIAS! Archivos Adjuntos Temas similares Curso programacion de pic en bsic pro PROYECTOS CON MOTORES comparto una serie de programas para manejos de motores..

'También. (200).  'El período.200 Envía un pulso a cabo en RB0 pines para 2.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. (PORTB = 0). 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 http://www. '­­­­­ Comandos PicBasic Pro ­­­­­­­­ 'PULSOUT pin. El libro 'Amphibionics por Karl Williams da un 'En el tratamiento a fondo sobre cómo modificar los servos.forosdeelectronica.  'Servos "podrá ser modificado o hackeado para permitir 'la rotación continua y puedan ser utilizados 'Como motores de pequeños robots. se multiplica por el 'Incremento para un oscilador de 4 MHz (10 us) 'Para obtener un pulso de tiempo de espera de 2.0 ms. lo más bajo  'Ya que establecerá la polaridad de la declaración PULSOUT . período  'Este comando envía un pulso a la clavija para el período definido.0 ms.7K Resistor to +5 V '­­­­­­­­­­­­Variables­­­­­­­­­­­­­  i VAR BYTE 'BYTE para la variable contador. inicializar el estado de PORTB. ' '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.10/6/2017 Curso de programación de PIC en PICBasic Pro 'La batería y dos reguladores de voltaje 78L05.html 38/93 .  '­­­­­­­­­PIC Connecciones­­­­­­­­­­ ' PIC16F88 Pin Wiring ' ­­­­­­­­­ ­­­­­­­­­­  ' RB0 Servo Control Wire ' Vdd +5 V ' Vss Ground ' MCLR 4. ' 'Por ejemplo: ' 'PULSOUT 0.

  'Para establecer un solo pin RB0 como. Para cambiar el sentido  ' El servo se mantiene en una posición. ' El período.0 ms. (100). Pause 20 ­ 1 ' Intervalo de pulso : ' Una pausa de 20 ms de pulso menor ancho (1.100 ' Ancho de pulso:  ' Envía un pulso a cabo en RB0 pines para 1.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.  PulsOut 0. 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.  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. 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. se multiplica por el http://www. se multiplica por el ' Incremento para un oscilador de 4 MHz (10 us) ' Para obtener un pulso de tiempo de espera de 1.200 ' Ancho de pulso:  ' Envía un pulso a cabo en RB0 pines para 2.html 39/93 . HIGH ' Por 1 ms y ms de 19 BAJO = 20 ms.0 ms.0 ms.10/6/2017 Curso de programación de PIC en PICBasic Pro 'Correcta polaridad de los pulsos en el comando 'PULSOUT .0 = 0. ' El período.forosdeelectronica. a 'LOW. (200).

7K Resistor to +5 V  '‐‐‐‐‐‐‐‐‐‐‐‐Variables‐‐‐‐‐‐‐‐‐‐‐‐‐              p0   VAR   BYTE    ' Byte para almacenar la posición del servo  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.0 ms.forosdeelectronica.html 40/93 . HIGH ' Durante 2 ms y 18 ms para BAJO = 20 ms. Pause 20 ­ 2 ' Intervalo de Pulso: ' Una pausa de 20 ms de pulso menor ancho (2.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 ' Incremento para un oscilador de 4 MHz (10 us) ' Para obtener un pulso de tiempo de espera de 2.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

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

           
'‐‐‐‐‐‐‐‐‐‐Initialization‐‐‐‐‐‐‐‐‐‐ 

    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 . 
     
    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.  
                                    ' Ver siguiente Comando  
   
  PulsOut 0,p0          ' Envía un pulso, p0, sobre 
pin RB0. 
                                    ' El período, p0, se multiplica por el 
                                    ' Incremento para un oscilador de 4 MHz 
                                    ' (10 us) para obtener un pulso de tiempo de 
espera. 
                                    ' Por ejemplo, si p0 = 200, 
                                    ' 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, = 200/100 = p0/100 2 ms. 
                                    ' Esta ecuación mantiene el período de 
                                    ' El pulso del servo una constante de 20 ms. 
   
  Next p0                         ' Volver a la declaración del 
                                    ' Siguiente valor de p0  

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 41/93

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

'*******Rotación hacia la derecha  ************************** 
       
  For p0 = 100 TO 200             ' Modificar el valor del pulso de 1 
ms y 
                                     '2 ms en pasos de 10.  
   
  PulsOut 0,p0              ' Envía un pulso, p0, sobre RB0 
alfiler. 
                                    ' Tiempo de espera varía de un pulso ms 1,0 
                                    ' A 2,0 ms. 
   
  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, 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. 

Sin embargo, no debería haber ningún problema con el uso de otros amplificadores. Si desea para

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 42/93

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

controlar un motor más grande, todo lo que necesita es un amplificador más grande. 

Los tres amplificadores se que utilizan en los proyectos son económicos y fácil de realizar para ejecutar
el control de motores de 2 ejes o motores paso a paso. El amplificador L298 es más barato, pero
también se ocupa de menos amperios. El amplificador que he usado para todos los experimentos es el
amplificador LMD 18200T. 

Los tres amplificadores toman señales TTL directamente desde el microcontrolador y el control la
alimentación del motor. Cada motor requiere una fuente de alimentación compatible con la alimentación
que necesita el motor y la capacidad del amplificador. 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. Si no se hace esto, el ruido del motor contaminará el poder para el
microprocesador y provocara problemas graves. 

Todos los motores son muy ruidosos por lo que se refiere a electrónica deL PIC y debe ser aislado. El
ruido del motor proviene de los conmutadores de motor y de la rápida desactivación de las bobinas del
motor. 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, no funciona tan bien como un diseño bien aislado. Puesto que
tenemos una opción, vamos a utilizar fuentes de alimentación independientes en todos nuestros
experimentos. 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. 

Sin embargo, otros dispositivos permiten la interconexión a las señales que el microcontrolador
proporciona sin la necesidad de dispositivos intermedios.

Notas sobre el hecho en casa Amplificador de construcción

Aunque usted puede hacer su propio amplificador, no recomiendo que haga otro. 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. A menos que un circuito mucho más sofisticados, 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, al mismo tiempo. 

Por otra parte, si utilizamos circuitos integrados para construir nuestros amplificadores, estos circuitos
es casi seguro que tienen circuitos dentro de ellos para evitar daños en cortocircuito, cierre de sesión
en el sobrecalentamiento, y otras características útiles. 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

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 43/93

 Las operaciones de motor se pueden invertir en software. 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. ­ motor de corriente continua Aquí es donde el motor está conectado. La polaridad de la alimentación del amplificador es crítica auque se puede colocar una protección a través de diodo 4148. 2 y 3 se puede utilizar para controlar la bobina / del motor 1. El amplificador que he usado para todos los experimentos .   He utilizado este amplificador para los pequeños experimentos con el motor de CC. Cada uno de los dos amplificadores puede manejar hasta 3 amperios a 55 VDC.  Puesto que hay una serie de proveedores que venden barato. Las conexiones de cableado de este amplificador son sencillas.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. El Amplificador 33886 Si usted necesita un amplificador de un solo eje. http://www. 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. Para nuestros propósitos los pines 1. los componentes a utilizar para el desarrollo de los amplificadores. CARACTERÍSTICAS:  ­ poder en la potencia del motor se conecta a estos dos terminales.Las conexiones que utiliza este amplificador se identifican en Figura 1. la polaridad de la conexión debe ser observada. y 8 control de la bobina / el motor 2.html 44/93 .  El amplificador LMD 18200T. 7. Pulsos cortos de 6 amperios son tolerados. y los pines 6. La polaridad de esta conexión no es importante. Aunque un  diodo de protección se incluye. 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.forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro cada amplificador.

 La condición no inhibe el uso de este amplificador de bajo costo para el funcionamiento de pequeños motores. Este circuito permitirá el control de dos motores. 2 son comunes y los otros 4 pertencen a las bobinas.10/6/2017 Curso de programación de PIC en PICBasic Pro ­ 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. 251 visitas) Temas similares Respuesta: Curso programacion de pic en bsic pro jeje disculpa por las multiples dudas!!! pero aun tengo demasiadas. 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. si le mando voltaje a otra bobina camina otros ciertos pasos.forosdeelectronica. 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.then ( lo de antirrebote afecta esto?) espero ahora si haberme eplicado bien Por cierto aqui un video de lo que quiero hacer http://www.4 KB (Kilobytes). si mando voltaje a una bobina da ciertos pasos..rar (20. Archivos Adjuntos figura 1. corrigeme si estoy mal de favor  El motor pap que utilizo tiene 6 hilos.. 288 visitas) figura 3.9 KB (Kilobytes).rar (160.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. Lo que tengo que controlar es eso. 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.html 45/93 . se que se hace con if. Tengo una idea de como. Se trata del más barato amplificador integrado de 2 ejes que usted puede considerar para armar. jejeje no soy muy bueno en esto apenas empiezo. Hay algunas interferencias y problemas de incumplimiento..

 me lo mandaron como un proyecto de la univ.forosdeelectronica.. 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. 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.. me gustaria saber si esta bien o se puede mejorar utilizando otras instrucciones. en fin el programa. se trata de un minutero programable muy parecido al de un microhondas.html 46/93 .com/f24/curso­programacion­pic­picbasic­pro­20658/index4.. Archivos Adjuntos http://www. 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.de atemano muchas gracias. mas que todo debido a que no he tenido tiempo para ponerme mas de lleno con el pbp.10/6/2017 Curso de programación de PIC en PICBasic Pro salu2 Temas similares Respuesta: Curso programacion de pic en bsic pro hola..

 es detectar una http://www..  Eliminás esas dos líneas desde Source­>Add/Remove Source files y desaparece el problema.. 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... lo que hace el circuito. ahora quiero hacerlo con un pic utilizando pbasic para programar el micro pero.. basandome en el funcionamiento del bldc discreto. 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.forosdeelectronica.. Salta el error porque no encuentra al PBP. desaparece ese y aparece otro . que sera??? Imágenes Adjuntas lubeck dijo: Este me marca un error que nunca habia visto. es un poco voluminoso y complicado asi que. tengo un problema. Tenés declarados los fuentes (ver imagen) y antes de ejecutar los quiere compilar. que sera??? Es el Proteus. ya hice uno con componentes dicretos que funciona aqui pueden verlo andando.10/6/2017 Curso de programación de PIC en PICBasic Pro Respuesta: Curso programacion de pic en bsic pro Este me marca un error que nunca habia visto.. he creado una rutina en pbasic que a segun mis calculos. (la otra es configurar el camino y los argumentos para compilar desde el Proteus) Bueno.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 47/93 . deberia funcionar igual pero no funciona..

 un uno logico simultaneamente. tengo la impresion de que se puede detectar numeros binarios de otra manera con picbasic pero no se me ocurre mas que lo anterior. con esto. es que los puertos RB0 a RB2 no funcionan como el programa lo indica. el problema que tiene mi circuito. cuando en el programa dice:  paso4: pwm 2.frec  if portb.10/6/2017 Curso de programación de PIC en PICBasic Pro secuencia de numeros binarios del 1 al 6 y a segun el numero que entre.. 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.0  low portb.3. sera el estado en sus salidas. no se si habras simulado el circuito en proteus. veras..b0. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro hola lubek.html 48/93 . consigo conmutar los mosfets del inversor trifacico segun la señal de zerocrossing que obtengo del circuito con lm324. el cmcon=7.1  http://www. son 1 y 0´s  saludosss Código:   CMCON=7           TRISA=%00000000           porta=%00000000           trisb=%01110000           portb=%01110000         frec var byte   loop:   pot portb. saludosss a todos.. un pulso pwm y pr la otra. debes haber notado que al potenciometro lo lee bien y que la variacion del pwm es correcta. es una especie de decodificador binario que en funcion del numero binario que detecta conmuta dos salidas del pic enviando por una.forosdeelectronica.5 high 4 goto loop empieza el problema de que el puerto B no responde como debiera.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.4=1 then paso1  low porta. el circuito que estoy intentando hacer.  aca dejo el codigo pbp. ah lubeck..137. si asi fue. aca te dejo los archivos livewire del bldc discreto.

2.0   goto loop   paso6:   pwm porta.5   high portb.5   high portb.html 49/93 .6=1 then paso5  low porta.10/6/2017 Curso de programación de PIC en PICBasic Pro if portb.6=1 then paso4  low porta.4 and portb.frec.2   goto loop   paso4:   pwm porta.5   high portb.2  low portb.1   goto loop   paso2:   PWM porta.0   goto loop   paso5:   pwm porta.frec.0  if portb.1.frec.0.5   high portb.1  low portb.2  low portb.2  if portb.frec.5=1 then paso3  low porta.forosdeelectronica.2   goto loop   paso3:   pwm porta.2  if portb.1   goto loop   paso1:   PWM porta.1   goto loop   end http://www.1  low portb.5   high portb.frec.0.2.5=1 then paso2  low porta.frec.0  if portb.4 and portb.5   high portb.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.1.5 and portb.6=1 then paso6  low porta.0  low portb.

 Para arreglar eso debes usar el compilador del PicBasic que está en "C:\PBP". Impresionante . Intenta eso. 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. Imágenes Adjuntas Temas similares mecatrodatos dijo: Bien amigo ByAxel por cierto. Saludos. muy bien recibida la info http://www. una vez preguntaste en este hilo sobre el compilador y editor para PIC de la serie 18F "Swordfish IDE".. 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". realmente quiero hacer cosas con el "Swordfish IDE". PROTON y un nuevo HILO Swordfish IDE para aquellos que deseen escoger. 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.html 50/93 . en el hilo de PBP. Por lo que en este foro quedara todo lo de PIC Basic para microcontroladores.10/6/2017 Curso de programación de PIC en PICBasic Pro Archivos Adjuntos Temas similares 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..forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

 r = dec. bueno investigue un poco más y lo aplique otra forma usando PBP 2. en la carpeta del PBP; en caso del PIC18F2550 es: Código:         NOLIST      ifdef PM_USED          LIST          "Error: PM does not support this device. 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: 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. 2) Ubicar el archivo 18Fxxxx. _FOSC_HSPLL_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H          __CONFIG    _CONFIG2L.__CONFIG    _CONFIG4L. _CCP2MX_ON_3H & _PBADEN_OFF_3H & _LPT1OSC_OFF_3H &  _MCLRE_ON_3H          . _PWRT_OFF_2L & _BOR_ON_2L & _BORV_3_2L &  _VREGEN_ON_2L          __CONFIG    _CONFIG2H.  Use MPASM.html 51/93 . 3) O comentar las líneas __CONFIG con ';' para evitar que salga errores al declarar los fuses en el http://www. w = ‐230."          NOLIST      else          LIST          LIST p = 18F2550.INC del PIC respectivo (en este caso. _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.__CONFIG    _CONFIG3H.INC.10/6/2017 Curso de programación de PIC en PICBasic Pro .forosdeelectronica.INC. f = inhx32          INCLUDE "P18F2550. PIC18F2550). en la ultima parte del archivo están los Fuses.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.INC"  . w = ‐311. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ Sobre los Fuses para los P18 en el PBP me he encontrado con varios detalles y los que pusiste no me funcionó. _WDT_ON_2H & _WDTPS_512_2H          . MPASM  Header          __CONFIG    _CONFIG1L.

 _PBADEN_OFF_3H  @ __CONFIG    _CONFIG4L. 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 http://www.bas. _WDT_ON_2H & _WDTPS_128_2H  @ __CONFIG    _CONFIG3H. _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L  @ __CONFIG    _CONFIG1H.10/6/2017 Curso de programación de PIC en PICBasic Pro mismo archivo del programa (.forosdeelectronica. XINST = OFF. WDTPS = 32768 @ CONFIG MCLRE = OFF  @ CONFIG STVREN = ON.pbp) y de ese modo recién el compilador acepta la declaración como: Código: @ __CONFIG    _CONFIG1L. LVP = OFF.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. USBDIV = 2  @ CONFIG FOSC = HS  @ CONFIG BOR = ON. prueba generador de media onda  '****************************************************************  @ CONFIG PLLDIV = 5. CPUDIV = OSC1_PLL2.html 52/93 . BORV = 1  @ CONFIG WDT = OFF. . _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L o como pongo en la prueba que realicé para PBP: Código: '****************************************************************  ' PIC18F2550. _FOSC_HS_1H  @ __CONFIG    _CONFIG2H.

10/6/2017 Curso de programación de PIC en PICBasic Pro saludos.8 KB (Kilobytes).html 53/93 . no sin antes. pidiendo vuestra ayuda jeje . tengo el pinout de este display y he visto en el foro como se conecta. aca estoy de nuevo.. dejar un pequeño aportito a cambio. se trata de un tacometro para motores DC como los de aeromodelismo. en este tacometro. resulta que tengo un lcd de un nokia 1100 y me gustaria adaptarlo para este proyecto. es serie sincronico.forosdeelectronica. 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. bueno.  ahora pasemos a mi duda. utilizando como lenguaje de programacion. pasa que no tengo por ahora el display de este proyecto y me gustaria hacerlo ya que. es como cambiar la comunicacion entre el pic y el display nokia ya que. esta probado en proteus y no se cual es el limite de RPMs que puede medir. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro hola gente del foro.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. ¿acaso se podria usar la instruccion SHIFTOUT para controlarlo? ustedes ¿que opinan? ¿como puedo hacer para adaptarlo a mi diseño? gracias.. pero lo que no se. 307 visitas) http://www. la comunicacion es en paralelo y el display nokia.rar (17.  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. picbasic. me seria de gran utilidad... bueno.

Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro los diodos igual si quieres ponerlos..4 KB (Kilobytes)..7 KB (Kilobytes). EDITO los negativos de ambas fuentes los unes.. Prueba asi.. entonces la causa del error puede que sea la configuración del compilador ya que una vez me sucedió algo parecido.1 KB (Kilobytes).com/f24/curso­programacion­pic­picbasic­pro­20658/index4.rar (33. 224 visitas) LIBRARY 6610.zip (29.  http://www.3 KB (Kilobytes).rar (3. Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro hola a todos. 296 visitas) esquematico..html 54/93 . saludos.3 KB (Kilobytes). 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.10/6/2017 Curso de programación de PIC en PICBasic Pro Proteus Model.rar (10...3 KB (Kilobytes)...pdf (805. 205 visitas) Temas similares Respuesta: Curso programacion de pic en bsic pro Intentemoslo asi. 300 visitas) 3310 LCD. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro Supongo que sin fuses te compila. 254 visitas) esquematico 3310..rar (74.. Asegúrate que el compilador sea del pbp que está en la dirección C:\PBP como en la imagen. 213 visitas) MODELS 6610. para que ambas sean tierras.forosdeelectronica.

 dejame probar usando la ruta C:/ para ver que tal. soy nuevo en esto de las transmisiones vía radiofrecuencia. pues bien el PBP lo tengo instalado dentro la carpeta del microcode.0. para la transmisión uso unos modulos a 315Mhz (adjunto el datasheet) y el codificador y decodificador ht12e/ht12d. pero no logro visualizar el dato que envio .com/f24/curso­programacion­pic­picbasic­pro­20658/index4. un gusto escribir una vez mas aca.5 Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro Saludos.5 y el microstudio 3. 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. pues bien coloque todo en C:/ y nada sigue dandome el mismo error ando usando el PBP 2. 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.10/6/2017 Curso de programación de PIC en PICBasic Pro Un saludo Imágenes Adjuntas ByAxel dijo: Supongo que sin fuses te compila. La salida del del pin 39 del pic 16f877a corresponde al dato que almaceno de mi conversor a/d para http://www.forosdeelectronica. pero cuando deseo visualizarlo en el receptor (pic 16f628a) no me muestra lectura alguna. les comento que estoy realizando un proyecto con un sensor de temperatura cuya lectura se visualizará en un lcd via rf.0. he comprobado que el modulo funciona correctamente he probado transmitiendo 1 bit y efectivamente recibe correctamente el dato que envio. entonces la causa del error puede que sea la configuración del compilador ya que una vez me sucedió algo parecido.html 55/93 . Asegúrate que el compilador sea del pbp que está en la dirección C:\PBP como en la imagen. conecto la salida del decoder (pin10) al pin asignado para la recepcion de datos porta.  Un saludo Si!! los programas se compila normalmente sin los fuses. mi problema es el siguiente: Conecto el pin 39 del pic 16f877a a mi entrada del encoder(pin10).0 del pic 16f628a(pin17).

puerto B.crear variable dato para guardar  tempbaj     var byte  tempalt     var byte  x           var byte  releF   var portD. esta hecho en microcode studio.en el puerto B.el puerto A es de entrada  ADCON1= %00001110                           .3  define      LCD_RSREG       PORTB           .bit de datos del LCD empezando  define      LCD_DBIT        0               .ADC_SAMPLEUS es el número de  microsegundos que el programa                                              .html 56/93 .forosdeelectronica. B.Fije EL CLOCK (rc=3)  define      ADC_SAMPLEUS    50              .4  define      ADC_BITS        8               . he probado la transmisión directa usando un cable para unir el pin 39 del 16f877a y el pin 17 del 16f628a y funciona.bit de registro del LCD conectar  define      LCD_RSBIT       5               .8. B.1. B.10/6/2017 Curso de programación de PIC en PICBasic Pro luego transmitirlo.espera entre fijar el canal y comenzar  la conversión analógica/digital  TRISA= 1                                   .10)  define      ADC_CLOCK       3               .bit de enable conectar en el  define      LCD_EBIT        4               .por B.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.Fije el tiempo de muestreo en Us                                              .2. Alguna sugerencia para solucionar mi problema seria bien recibida y muy agradecida. bueno de esa forma logro visualizar la lectura del dato que deseo enviar por lo que creo el programa funciona correctamente.0 es conversor los demás  digitales  TRISB= 0                                    . TX: Código: DEFINE osc 4  DEFINE      LCD_BITS 4  define      LCD_DREG        PORTB           . tal vez estoy omitiendo algo o cometo un error y esa sea la razón por la cual no funcione.0.2  http://www.Fije el número de BITS del resultado  (5.el puerto A.5  pause 2000  define      LCD_EREG        PORTB           .el puerto b es salida da datos  dato        var word                        . Incluyo fragmentos del programa que uso. Adjunto el esquema que realice en caso sirva de algo para su ilustración en pdf.

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

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.tempbaj                             .forosdeelectronica.dec tempbaj.com/f24/curso­programacion­pic­picbasic­pro­20658/index4."baja="."Programar Temp.$c0. 1.html 58/93 .escribir en la direcciom 0 de la  EEPROM  http://www."  lcdout $fe."ºC"  pause 100  if bbajar =0 then restar1  if bsubir =0 then sumar1  if enter =0 then grabarA  goto grabar1  restar1:  gosub soltar                                .10/6/2017 Curso de programación de PIC en PICBasic Pro HIGH releF: low releC  goto sensar  calentar:  HIGH releC: low releF  goto sensar  grabarla:  gosub soltar  grabar1:  LCDOUT $fe.

html 59/93 ."ºC"  pause 100  if bbajar= 0 then restar2  if bsubir= 0 then sumar2  if enter= 0  then grabarB  goto grabar2  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.$c0. 1.dec tempalt.escribir en la direccion 1 de la  EEPROM  goto inicio  soltar                                      .10/6/2017 Curso de programación de PIC en PICBasic Pro grabar2:  LCDOUT $fe.com/f24/curso­programacion­pic­picbasic­pro­20658/index4."alta=".forosdeelectronica.tempalt                             ."Programar Temp."  LCDOUT $fe.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 http://www.

html 60/93 .0. B.bit de enable conectar en el  define      LCD_EBIT        4               . dato  LCDOUT $FE. B."ºC"  end datahsheet modulo: http://www.4  DEFINE      LCD_BITS 4  cmcon= 7  TRISB= 0  dato        var word                        .2.1.1."Temp Actual"         . B.0.puerto B.6                                 Symbol N2400 = 4    inicio:  for x =1 to 3                               .3 parpadeos del led que indica que  funciona      high led      pause 200      low led      pause 200  next  sensar:  serin PORTA.por B.10/6/2017 Curso de programación de PIC en PICBasic Pro RX: Código:  DEFINE osc 4  define      LCD_DREG        PORTB           .forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. N2400.crear variable dato para guardar  x           var byte  led         var portB.3  define      LCD_RSREG       PORTB           .bit de datos del LCD empezando  define      LCD_DBIT        0               .limpia el LCD y muestra el texto          dato=dato/2                           .el dato dividir para 2  LCDout $FE.bit de registro del LCD conectar  define      LCD_RSBIT       5               .en el puerto B.$c6.dec dato.5  pause 2000  define      LCD_EREG        PORTB           .

 el pin rs del lcd. hay que modificar el programa Sobre lo que te comenté.html 61/93 . probalo asi.forosdeelectronica. http://www.1.d. la verdad que por falta de un lcd.com/pdf/212st­rx04­a. Subiré el esquemático en pdf para que tengan una visualización del circuito. NOTA: para que funcione como el de esta imagen.10/6/2017 Curso de programación de PIC en PICBasic Pro http://electronicahifi. de esta manera sale la lectura pues si te fijas en el circuito. 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. tengo este error.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. Gracias Imágenes Adjuntas Temas similares Temas similares Respuesta: Curso programacion de pic en bsic pro Hola nuevamente. y le modifique las salidas porque no me funcionaba asi con proteus. Pido disculpas por el post en la sección que no correspondía.  Espero alguien me pueda ayudar. p.pdf p. al circuito lo saque de un libro de pbasic que tengo. no he tenido la oportunidad de probar el tacometro en la realidad. 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 hola alex. saludosss Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro Saludos.2.d. te paso la imagen del diseño completo porque lleva una etapa de entrada con optoacoplador que no esta en el circuito anterior. va conectado al RB1 del micro.

10/6/2017 Curso de programación de PIC en PICBasic Pro Y sigo con la molestadera..html 62/93 ..... Nuevamente gracias a quien decida colaborarme..  puse la clave con cuatro digitos es 5678. abre la ventana en menu : system­>set animation options. Imágenes Adjuntas Viggiani.forosdeelectronica... 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. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Viggiani..  ahora le quiero agregar para cambiar la clave codigo con cambio de clave... y ve si esta asi. a ver si es lo que necesitas..com/f24/curso­programacion­pic­picbasic­pro­20658/index4. 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  http://www. con el *(asterisco) se borra lo digitado.. 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...  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..... tiene muchos detalles tu codigo y el esquema comparalo con el que puse....

html 63/93 .8]  DEFINE LCD_DREG PORTB 'UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS  DEFINE LCD_DBIT 4     'DESDE EL BIT B.10/6/2017 Curso de programación de PIC en PICBasic Pro @ 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.2   FILA4 VAR PORTA.6   FILA1 VAR PORTA.1   FILA3 VAR PORTA.3   '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐          x=0   for cont=0 to 3    READ cont.4   COLUMNA2 VAR PORTA.0   FILA2 VAR PORTA.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.7   COLUMNA3 VAR PORTA.1  DEFINE LCD_EREG PORTB 'UTILIZAR EL ENABLE EN EL PUERTO B  DEFINE LCD_EBIT 3     'EN EL BIT B.4 AL BIT B.forosdeelectronica.7.7  DEFINE LCD_RSREG PORTB'UTILIZAR EL REGISTRO  DE CONTROL/DATOS EN EL PUERTO B  DEFINE LCD_RSBIT 1    'EN EL BIT B.EPROM[cont]   next cont   '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐     http://www.2  Flag     var bit  Cont     var byte  Var1     var word  '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐   COLUMNA1 VAR PORTA.[5.6.3       '‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐  X        VAR BYTE  ALMACEN  VAR BYTE[4]  EPROM    VAR BYTE[4]  SALIDA   VAR PORTB.

forosdeelectronica.5  Inicio:   Call Teclado  GOTO INICIO  END       Teclado:   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.$C6+x.10/6/2017 Curso de programación de PIC en PICBasic Pro flag=0  gosub mmenu   low salida  high porta.html 64/93 ."*"    x=x+1    if x=>4 then Gosub verificar    if var1=10 then LCDOut $FE.1."DIGITE LA CLAVE":X=0   endif  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

eprom[cont]    next cont     LCDOut $FE.1."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  PAUSE 500   Return  mMenu:  if flag then    lcdout $FE.1.forosdeelectronica."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 http://www.html 65/93 .com/f24/curso­programacion­pic­picbasic­pro­20658/index4."CAMBIO DE ESTADO"    else       LCDOut $FE.almacen[cont]:pause 10     read cont.1.1.1."INTRODUCIR CLAVE": else   lcdout $FE."DIGITE CLAVE":   endif   return  VERIFICAR:   IF FLAG THEN    for cont=0 to 3     WRITE cont.

3  TRISD = 0 Inicio: for Dato = 0 to 99 Decena = Dato/10 Unidad = Dato ­ Decena*10 PORTD.html 66/93 .5 = D1  PORTD.0  D1 VAR Decena.2  D3 VAR Decena.1  U2 VAR Unidad.6 = D2  PORTD.3  D0 VAR Decena.4 = D0  PORTD.forosdeelectronica.2  U3 VAR Unidad.0  U1 VAR Unidad.10/6/2017 Curso de programación de PIC en PICBasic Pro 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  U0 VAR Unidad.0 = U0  PORTD.3 = U3  PORTD.1 = U1  PORTD.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.7 = D3  pause 1000 http://www.2 = U2  PORTD.1  D2 VAR Decena.

Archivos Adjuntos :bien con el programa anterior realice un voltimetro DC de 0­5 aqui esta el programa: 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.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.10/6/2017 Curso de programación de PIC en PICBasic Pro next Dato goto Inicio he realizado varios programas pero siempre me generan los mismos errores agradezco la ayuda que me pueden brindar.forosdeelectronica.2            Pause 500            http://www.html 67/93 .

 ah y por cierto tome parte de uno que habian echo para un teclado matrixial y lo adapte.". partbar. "VOLTIOS DC= ". REP $14\6.$0        LCDOut $0.MEDIDA                MEDIDA = (MEDIDA */ 500) >> 2   LCDOut $FE. 2. delphi. 64. c++ o labview.forosdeelectronica.html 68/93 . DEC2 MEDIDA  barval = (MEDIDA / 9) + 1       GoSub BARRA               GoTo INICIO                 BARRA:  fullbars = (barval MIN 60) / 3         partbar = (barval MIN 60) // 3                    pad = 19 ‐ fullbars                         LCDOut $fe. REP $0\8                                                        LCDOut $0. REP $15\6. 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 . DEC (MEDIDA / 100).$0       LCDOut $0. 1                INICIO:  ADCIN 0. REP $3\fullbars. REP $10\6. 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. ".$0                            LCDOut $FE. $c0.10/6/2017 Curso de programación de PIC en PICBasic Pro LCDOut $FE.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. http://www.

7  FILA1 VAR PORTA.0  COLUMNA2 VAR PORTA.2  FILA4 VAR PORTA.html 69/93 .6  COLUMNA3 VAR PORTA.1  FILA3 VAR PORTA.3  clear Inicio: TrisA=%00001111  TrisB=%00001000  PORTA = %00000000  PORTB = %00000000  Call Teclado  GOTO INICIO  END Teclado:  http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro @ 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  A var word  COLUMNA1 VAR PORTB.forosdeelectronica.0  FILA2 VAR PORTA.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

127.html 70/93 .2.forosdeelectronica.2 = 0  GOTO TECLADO  S2: S3: S4: S5: S6: S7: S8: S9: S10: S11:  S12: http://www.2 = 0 ' depues de 500ms es que empieza el count a contar los pulsos.1 'cada ciclo ocurre aprox. cada 5ms.10/6/2017 Curso de programación de PIC en PICBasic Pro 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 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.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.2 = 1 'señal de bandera para empezar a leer los ciclos. activa el receptor  PAUSE 250 'se suma en la espera al receptor con los otros 250ms al final y  PORTB.  PAUSE 250  PWM PORTB. segun manual PORTB.

 primero 1 y despues 0 cada uno dura 500ms y luego un tren de pulso que se supone sea el ciclo del pwm.ej.Item.jpg (54.?  http://www. 70 visitas) 15102010159.10/6/2017 Curso de programación de PIC en PICBasic Pro por cierto aprovecho para mostrar el circuito que estaba haciendo y que me ayudaron por aca el del minutero para que vean como quedo.si ya está usando uno de ellos .  BS1DEFS. ya que es un comando complejo. 34 visitas) 15102010162. T2400) están definidos en el archivo MODEDEFS. Lei el manual y habla de codigo ascii y velocidades? lei nuevamente el manual y con respecto al serout me dice esto: SEROUT Pin. No lo incluya .Mode. sin paridad y 1 stop bit (8N1) .agregue la línea : Include "modedefs.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. pero si tu me dices como puedo usarlo te agradeceria un millon de veces.4 KB (Kilobytes)..BAS y BS2DEFS. 53 visitas) Respuesta: Curso programacion de pic en bsic pro te adjunto la imagen donde se observa.ej.  Para usarlos .Los números Mode pueden ser usados sin incluir este archivo . B0) ó un número de Pin (p.html 71/93 .bas" al comienzo de su programa PBP .jpg (54. gracias por lo del minutero tomare en cuenta tu recomendacion. con respecto a sistema pretendo hacerlo lo mas sencillo posible.BAS ya incluyen MODEDEFS. 45 visitas) 15102010160..0)  Los nombres Mode (p.}]  Envía uno ó más Items a Pin . 0 ­ 15 .SEROUT es similar al comando Serout de BS1 ..saludosss Imágenes Adjuntas 15102010156.jpg (37.1 KB (Kilobytes).Pin es automáticamente colocado como  salida ...BAS .forosdeelectronica.. yo utilice el serin y el serout pero tengo muchas dudas al respecto.. PORTA. en formato standard asincrónico usando 8 bits de datos .. No entiendo "sin paridad y 1 stop bit (8N1)".4 KB (Kilobytes).BAS .3 KB (Kilobytes).jpg (70.[Item[. ó una variable que contenga un número de 0­15 (p.ej. Pin puede ser una constante . bueno para mi.

 y por otra parte la salidad del led indicando que el dato que esperaba recivir es correcto.saludos.["A". es interesante. de resto http://www.  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. 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.. Lo que tengo que hacer es lo siguiente.. no se porque..com/f24/curso­programacion­pic­picbasic­pro­20658/index4.10] ya lo entendi bien asi.. Aumentar o disminuir la velocidad del motor con el PWM.. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro Hola que tal. y al final uso: serout puls.#ID. vas guardando en la pila o stack.html 72/93 .0 no se si esto influya pero yo lo utilice porque dice Tx.. yo utilize el el pin portb..T9600. Si no es mucha molestia aqui les dejo mis dos programasy haber si me puenden ayudar.. ahora yo tengo una duda eso que tu haces de pc a pic yo puedo hacerlo de pic a pic. acabo de entrar a este rollo del PWM. 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.10/6/2017 Curso de programación de PIC en PICBasic Pro lo demas si. ya fabriique mis programa para la comunicacion en serie. de manera que tengas una cierta cantidad de letras para escribir y luego empiece a reemplazar las primeras que se introdujeron. seria como un tipo de indexacion. a traves de una comunicacion serial. ahora hubo unas confuciones fue porque a nivel de conexiones hay varias direfencias.forosdeelectronica... Además de que si mando otra letra este ya no hace nada tengo que cortar la corriente para resetear el PIC. Hoy lo realice en clase y lo unico que logre es que el motor gire a su velocidad maximan. 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.? les adjunto el como estoy simulando todo...2 del mando para enviar los datos y tu el portb.por ejemplo.

 hay 10 carpetas. de momento logre adaptarlo a lo que requeria el sistema de momento en simulacion funciona logre conectar al 16f628A unos 3.intrc_osc. que es la que esta funcionando en simulacion.0  SERIAL VAR WORD  http://www. y la del sistema completo con tres 12f629.7 = 0  VRCON = 0  INCLUDE "modedefs..html 73/93 .1  LEYENDO VAR GPIO. por otro lado esta la simulacion de los 16f628A para pruebas.prot ect_off   OPTION_REG.cbasic­pro.bas"  Define Osc 4 CMCON = 7 TRISIO = %00001000  gpio = %00000000 ACEPTADO VAR GPIO. pero no soporta el serin.hablamos luego y gracias de nuevo. en el pbp. pero aun hay que darle dos veces al boton para que salga el caracter en el virtual terminal. y lo demas es cuestion de adaptarlo.wdt_off.com/support/12­bit.htm Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro avance en lo siguiente: @ device pic12f629.com/picbasic/prod.rentron.saludosss http://melabs.. probe colocando diferentes letras y si las diferencia.saludosss PD: Por cierto encontre unas paginas interesantes con respecto a los comandos que soportan los pic. en fin. las encontre debido a que queria utilizar el 12c509A en vez del 629.pwrt_off. lo he logrado de momento la meta de hoy muchas gracias amigo "lubeck" de verdad...htm http://www. lo que indica que si descriminan y lo se activan a lo loco..mclr_off. espero no haber echo un mucho despelote.. para mi es indiferente la cuestion es que funcione.10/6/2017 Curso de programación de PIC en PICBasic Pro todo lo demas esta bien..com/f24/curso­programacion­pic­picbasic­pro­20658/index4..2   IN VAR GPIO..forosdeelectronica. te adjunto la simulacion con todos los programas hice 10 programas en total en basic para los receptores. 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.

4.T300.10] IF IN = 1 THEN  GOSUB LEE ENDIF goto inicio LEE: SERIN IN.DATAID  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.[SERIAL.[DATAID.forosdeelectronica.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 http://www.4.["A"].T300.html 74/93 .seriaL serout GPIO.10/6/2017 Curso de programación de PIC en PICBasic Pro DATAID VAR WORD  CLEAR INICIO: LEYENDO = 0 ACEPTADO = 0  read 5.T300.10]  GOTO INICIO  ENDIF Grabar: WRITE 5.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

com/f24/curso­programacion­pic­picbasic­pro­20658/index4. 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...forosdeelectronica. 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..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. todo esto es via serial de pic a pic.. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro yo de nuevo por aca parece que los corri a todos jejeje.html 75/93 .saludos Archivos Adjuntos Temas similares http://www.saludoss PD: la idea de este sistema es un control infrarojo para varios receptores para que se activen con una señal unica. bueno explico mis avances...curioso es como si el proteus mantuviera los datos de la eeprom del pic no sabia eso... 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. resulta que logre hacer funcionar el circuito con serout y serin con un baud rate de t300 bastante bien. sabiendo con esto en que parte del programa del pic se encontraba ejecuantando en ese momento. lo unico es que se pone super lenta la simulacion pero si se aprecia. entonces si guarda en la memoria del pic la informacion.saludos actualizacion del archivo con mejoras...10/6/2017 Curso de programación de PIC en PICBasic Pro resulto ser que si lo guarda coloque un serout al inicio para chequear que lo guardaba.. aparte logre a travez del virtual terminal vizualizar cada proceso.adjunto todo para quienes quieran ver como funciona cualquier duda me pregunta y si me pueden ayudar a mejorarlo de antemano muchas gracias.

 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.. es interesante. con simulador es mucho mas facil.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. 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. ahora si ya tienes algo avanzado subelo y con gusto te echo una mano. a traves de una comunicacion serial. HOLA lubeck. que solo con el codigo. no me hechas una mano a mi?? GoX F4yCk3r DB dijo: Hola que tal.forosdeelectronica.  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..10/6/2017 Curso de programación de PIC en PICBasic Pro Hola Lubeck.. ya fabriique mis programa para la comunicacion en serie...html 76/93 . Lo que tengo que hacer es lo siguiente. 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.. no se porque.. Si no es mucha molestia aqui les dejo mis dos programasy haber si me puenden ayudar.. Además de que si mando otra letra este ya no hace nada tengo que cortar la corriente para resetear el PIC. acabo de entrar a este rollo del PWM.  http://www.. recuerda que mi opinion es sin saber que tanto sabes al respecto.  ya tengo programadas las 8 secuencias pero no se de que forma hacer cambie de secuencia cada que oprima el pulsador.. Aumentar o disminuir la velocidad del motor con el PWM.

6  LED8 VAR PORTB.5  LED7 VAR PORTB.4  LED6 VAR PORTB. 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.html 77/93 .3  LED5 VAR PORTB.7  'ENTRADAS  PULSADOR VAR PORTA.forosdeelectronica.1  LED3 VAR PORTB.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  http://www.0 'Defino RB0 como LED1  LED2 VAR PORTB.10/6/2017 Curso de programación de PIC en PICBasic Pro este el codigo que hasta el momento llevo.2  LED4 VAR PORTB.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.

com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 78/93 .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  http://www.forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro 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  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.

html 79/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro 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  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   http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.

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)  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.html 80/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro 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  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.

html 81/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro 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  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  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.

html 82/93 .... '************************************************* *************** '* Name : UNTITLED..EDITOR OPTIONS] *  '* Notice : Copyright (c) 2010 [select VIEW.forosdeelectronica.1 http://www.10/6/2017 Curso de programación de PIC en PICBasic Pro 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 avisas.0 led2 var portb.EDITOR OPTIONS] *  '* : All Rights Reserved *  '* Date : 22/10/2010 * '* Version : 1.BAS * '* Author : [select VIEW.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.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.

com/f24/curso­programacion­pic­picbasic­pro­20658/index4..forosdeelectronica..html 83/93 .  ahora el programa solo me salta a primera secuencia y ya no sale de allí.10/6/2017 Curso de programación de PIC en PICBasic Pro pulsador var porta.(envío el circuito en proteus) http://www.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 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.10/6/2017 Curso de programación de PIC en PICBasic Pro les agradezco me ayuden con este problema..  al final utilicé el método que me pasaste del los cases y bueno de momento esa parte la tengo solucionada.. (un pulsdador para cambio de secuencias y otro para hacerles variar la velocidad a las secuencias) le agradeceria me hecharan una mano. lo que pasa es que ahora me piden adicionar otro pulsador para hacer cambiar la velocidad de las secuencias .4  led5 var portb.3  led4 var portb.  os dejo el código que llevo.1  led2 var portb.. Who is NEXT? [/QUOTE] HOLA .5  led6 var portb. pero he encontrado un ejemplo claro de como se usa! Algun dia lo encontrare es cuestión de tiempo.2  led3 var portb.... Listo creo que es una buena ayuda.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. Código: Define Osc 4  CMCON = 7 'HACE QUE SE TRABAJE CON LAS ENTRADAS EN DIGITAL  TrisA=1   trisB=0  led0 var portb.. 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..6  http://www.0  led1 var portb..html 84/93 ..

com/f24/curso­programacion­pic­picbasic­pro­20658/index4.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   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  http://www.forosdeelectronica.10/6/2017 Curso de programación de PIC en PICBasic Pro led7 var portb.html 85/93 .7  pulsador var porta.

html 86/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro 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      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  http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.

html 87/93 .com/f24/curso­programacion­pic­picbasic­pro­20658/index4.10/6/2017 Curso de programación de PIC en PICBasic Pro 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  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  http://www.forosdeelectronica.

com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.html 88/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro 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  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:  http://www.

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

forosdeelectronica.html 90/93 .2  ledv var gpio.N2400.N2400.["A"]  pause 500  goto transmitir  envio2:  serout gpio.intrc_osc_noclkout. mclr_off.10/6/2017 Curso de programación de PIC en PICBasic Pro envio1:  serout gpio.5.N2400.recibir. bod_off.  protect_off  INCLUDE "modedefs.4  datos var byte  high ledr  pause 500  low ledr  recibir:  serin gpio.1. pwrt_on.5.0.["C"]  pause 500  goto transmitir  end receptor Código: @ DEVICE pic12F675.bas"  define OSCCAL_1K 1  ledr var gpio.N2400.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. wdt_off.5.["B"]  pause 500  goto transmitir  envio3:  serout gpio.1  leda var gpio.datos  if datos="A" then high ledr  pause 1000  http://www.

Código: @ device pic12f675.2 '  IN        VAR GPIO.mclr_off. no se como poner la imagen para que se vea. Archivos Adjuntos Respuesta: Curso programacion de pic en bsic pro Hola.1  LEYENDO   VAR GPIO. ( si me ayudas.0  '  http://www.intrc_osc.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica. reyvilla.html 91/93 .bas"    define OSCCAL_1K 1  Define Osc 4  CMCON = 7  ansel=0  vrcon=0  adcon0=0  TRISIO = %00001001   gpio   = %00000000  ACEPTADO  VAR GPIO. la adjunté) Dejé una parte de tu código como guia y ahora quiero ver como construyo sobre él. adjunto la simulación.protect_off   INCLUDE "modedefs.wdt_off. y trate de sacarle lo que supongo esta demás para mi.pwrt_off. Yo solo necesito 3 o 4 pulsadores.y anotaba al costado lo que supongo hace cada sección.10/6/2017 Curso de programación de PIC en PICBasic Pro 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. estaba leyendo otra vez tu codigo.

forosdeelectronica.4.T9600.com/f24/curso­programacion­pic­picbasic­pro­20658/index4. SI Y NO LLEGA SE QUEDA ESPERANDO   high led    pause 500   low led   'SEROUT GPIO.DATAID 'Y ES LA BANDERA.4  SERIAL    VAR WORD  DATAID    VAR WORD   '  CLEAR     ' LEYENDO = 0    'en esta parte lee el dato almacenado en la eeprom  ' ACEPTADO = 0  ' READ 5. lo graba en  dataid.10]    'saca lo leido por gpio.DATAID. anteponiendo '‐'   LEYENDO = 1      SERIN IN.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.html 92/93 .4.SERIAL.10/6/2017 Curso de programación de PIC en PICBasic Pro ESPERANDO VAR GPIO.4 = 1       '¿por que haces    esto????   'SEROUT GPIO.4  http://www.T9600.[" CODIGO ACTUAL ".5   led var GPIO.10]   'inicio         INICIO:   LEYENDO = 0         ' aqui espera hasta que llegue algo a gpio.[" CODIGO LEIDO ".serial   ' GPIO.0.T9600.[" ‐ "].

http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index4.forosdeelectronica.html 93/93 .10/6/2017 Curso de programación de PIC en PICBasic Pro  LEYENDO = 0   if dataid="1" then high led  ' por ejemplo que encienda un led cuando dataid=  'algo'    low led   goto inicio   end Saludos.