# Oscilador interno PIC16F887 (PBP)



## Stark (Jun 6, 2010)

Hola saludos a todos...
E tenido problemas para hacer funcionar el 16f887 con el oscilador inetrno a 4mhz.
Utilizo el picbasic pro tal vez alguien me pueda ayudar con esto.


----------



## reyvilla (Jun 8, 2010)

hola que tal, quizas pueda ayudarte yo he trabajado con el 12f675/629/509 que tambien tienen oscilador interno y los he programado con picbasic pro dime mas claramente cual es tu problema para ayudarte, no funciona cuando lo programas? el pbp no te acepta el comando? especificame un poco mas por favor gracias...saludos.


----------



## Stark (Jun 8, 2010)

Ok mira estoy tratando de mostrar mensajes en un lcd y ademas va leer el estado de un potenciometro con el comando POT hasta no ay problema el programa compila sin errores 
pero cuando lo programa y corro no funciona nada entonces me fui directo al archivo list q genera para ver como estaba quedando el programa y creo realmente no lo se q los fuses q usa son los del oscilador externo ademas no recuerdo si el WDT podria afectar el funcionamiento no se como definir mi oscilador como interno aunque e leido q se puede hacer modificando el archivo .inc de pbp del 16f887 para activar los fuses q se necesitan pero no se si esta es una solucion valida.
Gracias por tu tiempo espero poder comentar resultados si es q logro algo mas.


----------



## reyvilla (Jun 8, 2010)

mira este es el que uso para el 12f675

@ device pic12f675,intrc_osc,wdt_off,pwrt_off,mclr_off,bod_off,protect_off

DEFINE OSC 4

dejame ver si consigo el del 16f877 y te aviso


----------



## Stark (Jun 8, 2010)

Ok muchisimas gracias


----------



## Stark (Jun 9, 2010)

MUy bien esto ya quedo resuelto encontre los fuses del pic16f887 y modifique el archivo inc de pbp ahora tengo otro problema no logro hacer funcionar un lcd de 16x2


----------



## reyvilla (Jun 10, 2010)

esta bien, pero si nos dices en problema creo que podemos ayudarte, saludos...


----------



## Stark (Jun 10, 2010)

Ok el asunto es q mando todos los define del lcd y al parecer todo bien cargo el programa en el pic y lo enciendo y mi lcd lo unico q hace es poner solo cuadros negros en una de las lineas, la pantalla esta en el puerto D del 16f887 el cual ya lo habia probado varias veces para ver si realmente funcionaban las salidas.


----------



## reyvilla (Jun 10, 2010)

y la configuracion esta bien, digo la de la iniciacion del lcd, y aprte el contraste lo estas controlando con un potenciometro lo revisaste. si puedes pon el programa que hiciste. yo voy a buscarte uno que hice con el pic16f628A que me funciono.

revisa mejor esta pagina alli hay un programa con el 16f628 en picbasic pro en el caso de que sea el programa
https://www.forosdeelectronica.com/f24/curso-programacion-pic-bsic-pro-20658/index2.html


----------



## Stark (Jun 10, 2010)

OK lo revisare ya despues comentare como me fue con el lcd


----------



## Stark (Jun 20, 2010)

Ya logre desde hace rato hacer funcionar mi lcd ahora tengo el problema de q no logro hacer q arranque el comando pot no se como debo de conectar el potenciometro correctamente a ver si alguien ya lo a usado me cuenta como conecto el pot


----------



## reyvilla (Jun 20, 2010)

te recomiendo que busques el datasheet de la lcd alli aparece como conectar el pot.


----------



## Stark (Jun 20, 2010)

Lo siento creo q no me explique con la pantalla ya no tengo problema alguno si no q ahora estoy intentando leer el valor de un potenciometro con la instruccion pot de pbp y mostrarlo en el lcd


----------



## reyvilla (Jun 20, 2010)

pasate por aqui hay uno muy bueno espero y te sirva...saludos

https://www.forosdeelectronica.com/f24/curso-programacion-pic-bsic-pro-20658/index10.htmlhttp://www.google.co.ve/imgres?imgu...q=pot+picbasic+pro&um=1&hl=es&sa=N&tbs=isch:1


----------



## cordobes (Jun 30, 2010)

Hola buenas tardes a todos!! yo tengo que hacer un proyecto con el pic16f887 para mi carrera de ingenieria electronica alguien me puede yudar con que proyecto hacer porque ni idea que puedo hacer se lo agradeceria muchisimo...desde ya gracias un abrazo!


----------



## Stark (Jun 30, 2010)

Pues se puede hacer de todo en especial con este pic esta muy completo, no se como q tengas ganas de realizar o cuales sean los puntos a tratar de tu proyecto hacia q esta enfocado seria bueno q lo comentaras


----------



## cordobes (Jun 30, 2010)

mira estudio ing electronica y es para una materia d 4 año y solamente me dijieron q haga un proyecto con ese pic ..a mi me gustaria hacer algo con display q se yo...vos no me podes dar alguna orientacion?? es libre el proyecto..me podes dejar tu correo entonces nos ponemos mas en contacto?? desde ya gracias...


----------



## Stark (Jun 30, 2010)

Algo con un display bueno a mi se me ocurriria un medidor de revoluciones y q te los muestre en un lcd de 16x2 con picbasic pro o proton este programa seria muy sencillo, en cuanto a lo del correo no estoy familiarizado con las reglas del foro si puede dejarlo pero aun asi me puedes contactar por mensajes a mi perfil saludos haber si de aqui salen mas ideas para tu proyecto


----------



## cordobes (Jun 30, 2010)

ahh tenes razon estaria muy bueno eso stark....vos lo tenes al proyecto o sabrias como encararlo mas o menos?? d doinde sos amigo??


----------



## Stark (Jun 30, 2010)

pues con programacion en proton es muy sencillo ya q el basic al ser un programa de alto nivel nos permite desarrollar muchas cosas pues bien en proton tenemos varias instrucciones q nos permiten manejar el lcd y una instruccion para contar pulsos en un pin del pic durante cierto tiempo asi q es sencillo muestrear duranto un momento tal ves medio segundo o menos la cantidad de pulsos q provengan de un sensor q lea las revoluciones de un motor en el caso de por ejemplo q muestres medio segundo el valor q te regrese la instruccion deberas multiplicarla por 2 para tener un valor real, yo realmente no lo tengo solo se me ocurrio es algo q ya queria hacer desde hace tiempo y es algo sencillo por lo q no veo mucha complicacion con proton o pbp esta muy sencillo si consigues estos compiladores y le das una vuelta a los help topics encontraras estas instrucciones para manejar lcd y contar pulsos, saludos desde mexico


----------



## cordobes (Jun 30, 2010)

ok amigo muchisimas gracias desde ya...te voy a ir informando a medida q lo este desarrollando entonces t voy preguntando si me va surgiendo alguna duda...desde ya gracias saludos desde argentina....


----------



## Stark (Jun 30, 2010)

Muy bien para eso estamos para ayudar suerte esperamos tus resultados y q sean favorables


----------



## f0raster0 (Jul 1, 2010)

Hola.. 

Quisiera ver la posibilidad de retomar el inicio del tema de Stark.. configurar el oscilador interno del PIC16F887

Debo aprender a programar en C, para ello cuento con Eclipse en Ubuntu y la tarjeta de microchip: Part Number                                                         :                                                         DV164121                                                          - PICkit 2 Debug Express (pic16F887); 

Tengo el datasheet del PIC, allí veo como debe estar configurado pero no lo puedo asociar a lo que he leído sobre programar en C los PIC.. (110 4MHz)

La estructura general la tengo "Dudas con programar en C"

Si me pueden ayudar a crear mi primer programa en C, encender un led

Gracias desde ya..


----------



## Stark (Jul 1, 2010)

Hola q tal pues mira no tengo conocimiento de como se maneja la programacion de pic en C pero bueno tomando q es la misma idea q en basic sera sencillo lo primero q debes definir en un programa para un pic son los fuses.
Los fuses son como configuraciones q tu defines via tu programa aunque tengo entendido q via pickit 2 tambien se puede pues bien dentro de estos fuses en el caso del 16f887 para usar el oscilador interno se pone intosc_noclkout si mas no recuerdo, te comento no se como se declara en C los fuses pero checando la lista del 16f887 ese seria para usar oscilador interno.
Ahora para configurar el osccon para 4 mhz estas en lo correcto tienes q enviar el valor de 01100100 y asi quedaria configurado.
Creo q tendrias q checar los manuales o topics del compilador q usas para realizar correctamente esto aunque lo q ya te explique es la forma en la q se haria pero como te decia cuestion de checar las instrucciones de tu compilador.


----------



## f0raster0 (Jul 1, 2010)

ok, gracias Stark ya voy viendo la luz..


----------



## f0raster0 (Jul 25, 2010)

Ya saben soy un principiante.. en fin, finalmente he creado mi primera compilaciòn sin errores en CCS, claro estoy utilizando el libro en PDF "compilador C Ccs y Simulador Proteus para microcontroladores" y compile el ejemplo del libro, pero puff que no comprendia porque me entregaba tantos errores el compilador:

#include <16F876.h>
#use delay(clock=4000000)
#byte puerto_b=0x06

void main(void)
{
set_tris_b(0x00);
puerto_b=0;
do
   {
   delay_ms(1000);
   bit_set(puerto_b,7);
   delay_ms(1000);
   bit_clear(puerto_b,7);
   }
   while (TRUE);
}

Ahora que ya puedo manejar el CCS, es hora de encender un led con el pic 16F887, contianuare comentando mis avances porque debo llegar a controlar el acceso y movimiento de una barrera con RFID y el 16F887..


----------



## cordobes (Jul 25, 2010)

hola amigos como andan? alguien sabe si se puede hacer con un pic 16f887 un identificador de llamadas? es decir, para que cuando te llamen aparezca en un display el numero que te esta llamandO!! ojala alguien me pueda ayudar se los voy a agradecer muchisimo..un abrazo!


----------



## FALKON707 (Jun 9, 2012)

saludos...

amigos quien me puede colaborar con el codigo en pbp para activar el reloj interno del pic16f873A

gracias...¡¡


----------

