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/index2.html 1/53

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/index2.html 2/53

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/index2.html 3/53

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

Por ultimo anexo simulacion en proteus 7.4 , codigo fuente, .hex .la carpeta esta en formato comprimido
Archivos Adjuntos

Que tal siguiendo con los proyectos de lcd un frecuenciometro con el pic 16f84A , ldc 2x16 y un
generador de señales cuadradas ubicado por el puertoA2, en donde se capta los pulsos y se visualizan
el LCD; con alarmas de activacion condicionales ubicadas en el puert A 0,1 respectivamente, sin mas el
codigo fuente:

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 0     'Desde el Bit B.4 al Bit B.7 
Define LCD_RSREG PORTB'Selección del puerto del registro  
Define LCD_RSBIT 4    'En el bit B.1 
Define LCD_EREG PORTB 'Utilizar el enable en el puerto B 
Define LCD_EBIT 5     'En el bit B.2 

' Establecer el puerto B como salida 
TRISB=0 
; configuracionde pines del PIc 16f84A 

Alarma0 var porta.0 
Alarma1 var porta.1 

; definicion de variables  

pulsos var word        ; variable con capacidad de 65535 

loop: 

count porta.2,1000,pulsos    ; CONTAR LOS PULSOS POR EL PUERTO A2 
lcdout $fe,1            ;LIMPIA lcd 
lcdout $fe,$82,"fecuencia:"     ; ENVIAR MENSAJE AL LCD 
lcdout $fe,$c5,dec pulsos,"hz"    ; MOSTRAR PULSOS EN LCD SEGUNDA LINEA 

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.html 4/53

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

;condicionales para alarmas 

if pulsos>750 then EMER1      ;SI PULSOS EXCEDE 750 IR A EMER1 
if pulsos<320 then EMER2       ; SI PULSOS DECIENDE  320 IR A EMER2 
LOW ALARMA0:LOW ALARMA1 
GOTO LOOP 

EMER1:                          ; RUTINA EMER1 
                                             
HIGH ALARMA0 
LOW ALARMA1 
GOTO LOOP 

EMER2: 
                                 ;RUNITA EMER2 
LOW ALARMA0 
HIGH ALARMA1 
GOTO LOOP

Archivos Adjuntos

frecuencimetro_135.zip (31,9 KB (Kilobytes), 895 visitas)

ldc_frecuen_127.zip (30,7 KB (Kilobytes), 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,utilice un pic 16f84a, driver l293b,fotoceldas y como estructura del robot
un carro viejo de rf que tenia,adaptando en un pequeño protoboard el circuto para controlar los dos
motores que componen el carrito. No coloque los testigos (leds) por el espacio en la proto para
controlar el motor 1 utilice el comando PWM. 

Este es dodigo fuente:
Código:

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

;ROBOT SEGUIDOR DE LUZ 

b0 var byte         ;VARIABLE PARA GUARDAR EL VALOR DE LDR1 

http://www.forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.html 5/53

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

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

incica funcionamiento del sistema   high led:high bip  pause 1000  low led:low bip  goto teclauno        .com/f24/curso­programacion­pic­picbasic­pro­20658/index2. comparar clave  barrido:  low a               .rutina antirrebote de teclas  http://www.7  iniciando:        .forosdeelectronica.6  cuatro var portb.5  tres var portb.10/6/2017 Curso de programación de PIC en PICBasic Pro uno var portb.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  .4  dos var portb.html 8/53 .

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

Programa en donde se mueve un servo motor de tres lineas con el pic 16f877A. oscilador externo XT   define osc 4 .forosdeelectronica. especifica que se va a utilizar uno de 4 Mhz   ' Libreria para la operacion del programa   Define  LOADER_USED  1  .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       . Definicion de conexiónes del LCD  Define  LCD_DREG        PORTD     Define  LCD_DBIT        4  Define  LCD_RSREG       PORTA  Define  LCD_RSBIT       0  Define  LCD_EREG        PORTA  Define  LCD_EBIT        1  pos     var     word    ' Posicion del servo  servo1  var     PORTC.1 'pin donde se conecta el servo          ADCON1 = 7      ' PORTA y PORTE digitales          Low PORTA. deficion de Oscilador Externo      @ device xt_osc .  .com/f24/curso­programacion­pic­picbasic­pro­20658/index2. saludos Imágenes Adjuntas Temas similares Bien vamos con proyecto interesante aqui os dejo el codigo fuente comentado: Código: .     .html 11/53 .conectados al puerto B. donde posicion de centro es 500.se utiliza LCD 2X16 que muestra la posicion de giro dada por tres botones   .centro y   .giro izquierda referenciado de 0 a 1000.1 como salida para controlar el servo  http://www.portc. los cuales dan las posiciones: giro derecha .

4 = 0 Then                  Gosub left          Endif          If PORTB.Rutina para mostrar mensaje y valor decimal de la posicion del servo                    Lcdout $fe.6 = 0 Then                  Gosub right          Endif          .1          Lcdout $fe. #pos          servo1 = 1      ' iniciar pulso hacia el servo          Pauseus 1000 + pos          servo1 = 0      ' termine pulso           Pause 16        ' retardo         Goto LOOP   ' Crea un bucle cerrado  ' giro hacia la izquierda  left:   If pos < 1000 Then                  pos = pos + 1          Endif          Return  http://www.5 = 0 Then                  Gosub center          Endif          If PORTB.html 12/53 .com/f24/curso­programacion­pic­picbasic­pro­20658/index2.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.forosdeelectronica.2."Position = ".

 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 .forosdeelectronica.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.html 13/53 . 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.

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

 dec (temp >> 1)."SENSOR DS18S20"                  Lcdout $fe.html 15/53 ."."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.forosdeelectronica. 1                   Lcdout $fe. "oC"          Goto INICIO           ' CREA UN BUCLE CERRADO  ' INICIALIZA  DS18S20 Y CHEQUEA PRESENCIA  init18S20:          Low DQ                            Pauseus 500                     DQ_DIR = 1                        Pauseus 100                       If DQ = 1 Then                  Lcdout $fe.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.".$83.dec (temp.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.$86.10/6/2017 Curso de programación de PIC en PICBasic Pro 'RUTINA PARA MOSTRAR VALOR DE TEMPERATURA EN EL LCD                    Lcdout $fe.0 * 5).$C2.

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

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

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

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

8 0.. programa de visualizacion de teclado   '          1 2 3 A   '          4 5 6 B  '          7 8 9 C  '          * 0 # D  ' con pic 16f877A y lcd 2x16 en donde muestra la tecla presionada en la pantalla  ' del LCD utilizando operandos matematicos del PBP. 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: ...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/index2.7 0.1 y a medida que vaya moviendo pueda verlo 0.6 0.4 0.5 0.forosdeelectronica.3 0...ahora tambien quiero restarle a mi variable p1­10 me comienza en 6225 o algo asi y al seguir avanzando sigue la escala no entiendo puedes darme una mano con eso por favor con lo de los decimales para que lo mires te adjunto la simulacion y el programa.   '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.2 0.ahora tengo otra duda talvez bien torpe peron no entiendo por ejemplo tengo mi potenciometro que lo lee de 0 a 255 pero para mi conveniencia lo quiero transformar a otra escala es decir de 0 a 500 lo mas facil que se me ocurrio era (P1*500/255) p1 es mi variable pero al mirar en el LCD en 0 era 0 estaba bien en la mitad del potenciometro meda 256 pero sigo abanzando se baja a 4 y al final me da 255 y eso me tiene muy confundido.html 20/53 .9 1.

1. "PRESIONE TECLA"  ' mensaje   inicio:  Gosub leer              Lookup A.html 21/53 .forosdeelectronica. 1.1             ' LCD R/W low (escritura)  Pause 100               ' tiempo para inicializar el LCD  Lcdout $fe.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. ["0123456789*#ABCD"].B  Lcdout $fe.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.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.7 = 0        ' Activa resistencias internas PORTB   ADCON1 = 7              ' PORTA y PORTE digital  Low PORTD.

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

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

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

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

  'DEFINICION OSCILADOR EXTERNO      @ device xt_osc .html 26/53 .6 'Selecciona bit de reloj  SSPIF VAR PIR1.  '  ' 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.7 'Seleccionar la muestra de datos de entrada de fase  CKE VAR SSPSTAT.4 'SELECCIONA POLARIDAD DE RELOJ  SMP VAR SSPSTAT.  este el programa para el pic maestro: Código: ' Programa protocolo SPI entre dos Pic 16f877A usando Comunicación serial   ' sincrónica por medio de hardware a través del puerto C.com/f24/curso­programacion­pic­picbasic­pro­20658/index2. 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.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.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. oscilador externo XT   define osc 4 .forosdeelectronica.5 'Habilita bit SSP   CKP VAR SSPCON.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.

 oscilador externo XT   define osc 4 .html 27/53 . STR a. especifica que se va a utilizar uno de 4 Mhz   'Asignar memoria RAM     dataout VAR BYTE[8] 'Salida de datos serie   http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index2. 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 ."Conversor A/D "  LCDOut $fe.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.$80.forosdeelectronica.$c0.1 'Indicar recibió de cadena en lcd  LCDOut $fe.

com/f24/curso­programacion­pic­picbasic­pro­20658/index2.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.4 'selección de polaridad  SMP VAR SSPSTAT.7 'Datos de entrada de fase  CKE VAR SSPSTAT. no SS     CKP = 0 'reloj al ralentí bajo  CKE = 0 'transmitir a la transición inactivo a activo  SSPIF = 0 'limpiar interrupción SPI  SMP = 0 'muestra en medio de los datos  ADCON1 = $0e 'PORTA. dataout[5] 'Leer canal ADC 0.0 análogo. 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.5 'Habilitar bit SSP  CKP VAR SSPCON.10/6/2017 Curso de programación de PIC en PICBasic Pro SSPEN 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.forosdeelectronica.html 28/53 .6 'Selecciona bit de reloj  SSPIF VAR PIR1.

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

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

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

10/6/2017 Curso de programación de PIC en PICBasic Pro meses y dias en el lcd Código:    'CPNFIGURACION MESES.8 KB (Kilobytes)..117.98.112. 289 visitas) Amigo Cheyo realiza las siguientes configuracioens a tu programa: @ DEVICE pic16F628A.html 32/53 .110.110.116..99.97.74. INTRC_OSC_NOCLKOUT ' Opción del Osc Interno  @ DEVICE pic16F628A.105    ' Tue Wed Thu Fri  Data 83..108. BOD_ON  http://www.101.114.101.117.117.78.65.101.100.111.74.112.84.103    ' May Jun Jul Aug  Data 83.PNG (337.101.DIAS  Data @0.83.70.por la tarde voy mostrando lo que seria la rutina.68.110.101.PNG (238.99    ' Sep Oct Nov Dec  Data 84..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. PWRT_ON ' Power­On Timer   @ DEVICE pic16F628A.118.77.111.104. WDT_ON ' Watchdog Timer ON   @ DEVICE pic16F628A.97.97..97.121.y hasta si esta en mayusculas.79...117.com/f24/curso­programacion­pic­picbasic­pro­20658/index2..116..110    ' Sat Sun Mon noté que esos numeros corresponden a una letra.114    ' Jan Feb Mar Apr  Data 77..74.114.77.65.70.forosdeelectronica.  Cheyo28 Imágenes Adjuntas pines 16f528a.eh.como detrminas el numero?.87.117. 215 visitas) contador..8 KB (Kilobytes).117.

 548 visitas) RELOJ1. MCLR_OFF ' Master Clear Opción interno  @ DEVICE pic16F628A.10/6/2017 Curso de programación de PIC en PICBasic Pro @ DEVICE pic16F628A.pdf (143. LVP_OFF ' Bajo voltaje de programación   @ DEVICE pic16F628A.forosdeelectronica.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 .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. CPD_OFF ' Protección del código de memoria OFF  @ DEVICE pic16F628A. 418 visitas) Temas similares http://www.com/f24/curso­programacion­pic­picbasic­pro­20658/index2. PROTECT_OFF' protección de código OFF led var portb. o podriamos utilizar el circuito que posteaste pero el multiplexado no lo realizaria el pic sino el integrado conectado a los display estoy presto a tus comentarios Archivos Adjuntos RELOJ. simulacion y .pdf (133.9 KB (Kilobytes).html 33/53 .

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

 me lío con ello.. (por lo del ADFM) y los 4 bits siguientes dependen de las entradas analógicas que vayas a usar.  Saludos! Imágenes Adjuntas Temas similares Respuesta: Curso programacion de pic en bsic pro La funcion de autocalibracion de los potes es asi. 270 visitas) Respuesta: Curso programacion de pic en bsic pro Hola fernando.forosdeelectronica.rar (2. en el adresh.  En la tabla que adjunto te salen los adresl. Imágenes Adjuntas Respuesta: Curso programacion de pic en bsic pro primero es obligatorio el uso de servos. 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.4 KB (Kilobytes).com/f24/curso­programacion­pic­picbasic­pro­20658/index2.10/6/2017 Curso de programación de PIC en PICBasic Pro web control. 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.html 35/53 .  Pon 1000. Ya me dirás si funciona.. despues usas la variable "escala". Hay que usar el ADCON1 de la siguiente manera. en cuanto los tenga en mi poder. Yo todabía no lo he podido probar porque estoy esperando a que me lleguen 2 16f877.

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

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

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

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

  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 ms.forosdeelectronica. HIGH ' Durante 2 ms y 18 ms para BAJO = 20 ms.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. Pause 20 ­ 2 ' Intervalo de Pulso: ' Una pausa de 20 ms de pulso menor ancho (2.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.0 m) ' Esta ecuación mantiene el período de ' El pulso del servo constante de 20 ms.html 40/53 .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.7K Resistor to +5 V  '‐‐‐‐‐‐‐‐‐‐‐‐Variables‐‐‐‐‐‐‐‐‐‐‐‐‐              p0   VAR   BYTE    ' Byte para almacenar la posición del servo  http://www.

                                      ' El período.html 41/53 .                                      ' Esta ecuación mantiene el período de                                      ' El pulso del servo una constante de 20 ms. si p0 = 200.            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.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 .com/f24/curso­programacion­pic­picbasic­pro­20658/index2.                                      ' 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. se multiplica por el                                      ' Incremento para un oscilador de 4 MHz                                      ' (10 us) para obtener un pulso de tiempo de  espera.                                       ' Ver siguiente Comando         PulsOut 0. sobre  pin RB0. p0.                                      ' Por ejemplo.        Next p0                         ' Volver a la declaración del                                      ' Siguiente valor de p0   http://www. = 200/100 = p0/100 2 ms.p0          ' Envía un pulso. p0.forosdeelectronica.

com/f24/curso­programacion­pic­picbasic­pro­20658/index2. Si desea para http://www. vamos a echar un vistazo a algunos pequeños amplificadores que podemos utilizar para controlar nuestros motores. no debería haber ningún problema con el uso de otros amplificadores.  Sin embargo.                                      ' Tiempo de espera varía de un pulso ms 1. p0.forosdeelectronica.        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. sobre RB0  alfiler.0                                      ' A 2.0 ms.html 42/53 .  Todos los amplificadores que he seleccionado son baratos y fáciles de usar.p0              ' Envía un pulso.         PulsOut 0.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.

 Cada motor requiere una fuente de alimentación compatible con la alimentación que necesita el motor y la capacidad del 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.forosdeelectronica. 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. Cada uno de los amplificadores utiliza uno o dos circuitos integrados como componentes de su amplificador. Si no se hace esto.  Todos los motores son muy ruidosos por lo que se refiere a electrónica deL PIC y debe ser aislado.html 43/53 . 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.  Los tres amplificadores toman señales TTL directamente desde el microcontrolador y el control la alimentación del motor. cierre de sesión en el sobrecalentamiento. A menos que un circuito mucho más sofisticados. otros dispositivos permiten la interconexión a las señales que el microcontrolador proporciona sin la necesidad de dispositivos intermedios. no funciona tan bien como un diseño bien aislado. vamos a utilizar fuentes de alimentación independientes en todos nuestros experimentos. el ruido del motor contaminará el poder para el microprocesador y provocara problemas graves.  Sin embargo.  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.10/6/2017 Curso de programación de PIC en PICBasic Pro controlar un motor más grande. El amplificador que he usado para todos los experimentos es el amplificador LMD 18200T. y otras características útiles. si utilizamos circuitos integrados para construir nuestros amplificadores. Puesto que tenemos una opción. al mismo tiempo. estos circuitos es casi seguro que tienen circuitos dentro de ellos para evitar daños en cortocircuito. es muy fácil de volar un puente H mediante la activación de ambos transistores en cualquier lado del puente. se añade al circuito amplificador básico. todo lo que necesita es un amplificador más grande. pero también se ocupa de menos amperios. El amplificador L298 es más barato. 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.com/f24/curso­programacion­pic­picbasic­pro­20658/index2. El ruido del motor proviene de los conmutadores de motor y de la rápida desactivación de las bobinas del motor. Notas sobre el hecho en casa Amplificador de construcción Aunque usted puede hacer su propio amplificador.  Por otra parte. y algunos auxiliares equipados con indicadores LED para anunciar las condiciones internas.

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

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

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

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

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

2  if portb.0  if portb.frec.1   goto loop   end http://www.1.1   goto loop   paso1:   PWM porta.1  low portb.frec.2   goto loop   paso4:   pwm porta.4 and portb.0   goto loop   paso5:   pwm porta.5   high portb.0   goto loop   paso6:   pwm porta.6=1 then paso4  low porta.4 and portb.frec.5 and portb.2  if portb.5   high portb.1  low portb.1   goto loop   paso2:   PWM porta.6=1 then paso6  low porta.0  low portb.frec.2.10/6/2017 Curso de programación de PIC en PICBasic Pro low porta.0  if portb.0.6=1 then paso5  low porta.frec.com/f24/curso­programacion­pic­picbasic­pro­20658/index2.5   high portb.1.2.html 49/53 .frec.5   high portb.5   high portb.5   high portb.forosdeelectronica.5=1 then paso3  low porta.2  low portb.2   goto loop   paso3:   pwm porta.0.2  low portb.

 muy bien recibida la info http://www. Intenta eso. Por lo que en este foro quedara todo lo de PIC Basic para microcontroladores. Saludos. en el hilo de PBP.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. 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". PROTON y un nuevo HILO Swordfish IDE para aquellos que deseen escoger. una vez preguntaste en este hilo sobre el compilador y editor para PIC de la serie 18F "Swordfish IDE".com/f24/curso­programacion­pic­picbasic­pro­20658/index2. 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..html 50/53 . Para arreglar eso debes usar el compilador del PicBasic que está en "C:\PBP".. Impresionante . Imágenes Adjuntas Temas similares mecatrodatos dijo: Bien amigo ByAxel por cierto. realmente quiero hacer cosas con el "Swordfish IDE". es cuando se usan Fuses y el compilador asociado es el MPASM te genera errores como los que te han salido.forosdeelectronica. 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.

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

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

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