Programación con MikroC

Hola,
hace poco he empezado a programar con MikroC y la verdad es que va muy bien pero ahora que he epezado hacer un proyecto algo mas grande quiero ordenar en partes haciendo un archivo .c y otro .h para cada TAD del proyecto. Mi problema viene cuando quiero llamar a una funcion en el main que esta en otro archivo. No me dice que no existe o no esta definida y he mirado que los #includes estubieran bien. Luego me di cuenta que tienes que indicarle donde buscar los includes y también lo he hecho pero las de un .h si me las reconoce y las de otros no. que puede ser?

Muchas gracias
Espero su respuesta.
Atentamente Aleix.
 
hola , que bien !m, iterezante, tengo el mikroc, pero aun no me he puesto a programarlo, tendras algunos documentos de interes para compartir?
 
hola amigo aleix, cuando yo quiero utilizar una libreria la coloco en la misma carperta donde esta mi .c siempre lo vi utilizar asi, y me parece que asi es mejor asi me llevo la carperta completa cuando me voya otra pc, si en otro programa quiero utilizar las mismas herramientas pues vuelvo a copiar los .h que utilizaba

Para cooperharris aqui un ejemplito con teclado, LCD... simulados en Proteus
 

Adjuntos

  • password_172.rar
    21.4 KB · Visitas: 2,084
Hola , que pena realmente no se nada de Mikro C, y lo que pasa es que soy muy nuevo en el manejo de este, y tengo una preguntica lo que pasa es que es que estoy intentando manejar la interrupciones y no me funcionas hice un ejemplito sencillo y no funciona y tambien lo probe con un ejemplo del soporte de Mikro C y tampoco funciona la interrupcion ni siquiera el timer correo y si no se desborda pues no hay interrupcion, espero que alguin me pueda ayudar muchas gracias :D
 
hola soy nuevo en el foro, les escribo para solisitar su ayuda con respecto a un proyecto el cual trata de un llava electronica de 4 digitos, con un teclado de 4x4 y cuatro display 7 segmentos, el programa tiene que ser en c, yo tengo el miKro c y el pic 16f877, les agradeceria su ayuda
 
OK amigo!! estaria encantado de que trabajaramos juntos ya sea resolviendo dudas del otro y compartiendo información que el otro desconoce!! bueno si quieres te puedo pasar mi msn o tambien si quieres resolvemos las dudas por el foro... como tu quieras!!

Saludos!!
 
Última edición por un moderador:
Hola a todos... bueno al ver este tema yo me he ofrecido en ayudar en lo que fuera posible y ps como yo programo en MikroC ya e puesto algunos ejemplos dentro de este foro en otros temas... aqui las direcciones:

https://www.forosdeelectronica.com/f24/agregarle-medidor-voltaje-26780/

https://www.forosdeelectronica.com/f24/sonido-buzzer-usando-pic-lenguaje-c-26854/


espero que les sirva a muchos para poder entender mejor la programacion en MikroC y ps si quieren alguna ayuda o algun otro ejemplo no duden en postear su pregunta o duda y yo con mucho gusto tratare de ayudar en lo que me sea posible

Saludos
 
hola todos.... tengo un gran inconveniente con mikrobasic igual con mikrocpro es que no puedo llamar funciones como las de la lcd o keypad dentro de las interupciones... q hago??? alguna declaracion global o alguna libreria... como sera?
 
Hola que tal soy nuevo en mikroc, estoy utilizando el conversor ad y muestro los datos en un lcd, pero pro ejemplo quiero mostrar el valor de la conversion y solo me salen enteros, no me salen valores como 1.23 u otro valor con decimales, no se que comando utilizar
 
Hola soy estudienate de electronica , mi proyecto final es sensar una habitacion de un hotel tengo que utilizar el pica6f877a , pero no ce nada de el en cuanto a programacion con C , si podria ayudarme se los agradeceria .debo utilizar (Mikro C)

o si pudieran darme algunos ejemplos con codigo basicos
 
Última edición por un moderador:
Hola a todos


Perdon si no pude responder rapido en este tiempo, espero poder ayudarles en algo:

rafaelnotty: llamas a las funciones de la LCD dentro de la interrupcion (directamente) o la llamas desde otro subprograma??


bastidasro: al querer mostrar el voltaje que estas sensando en la pata analogica de tu PIC me imagino que la guardas en una variable y la muestras directamente en la LCD pero el detalle que tiene es que el compilador aproxima la cifra (por ejemplo si tienes ese 1.23 que dices solo te pondra un 1 en la LCD); para mostrar el valor junto con sus decimales tienes que separar las decenas de las unidades Y unidades de los decimales, para eso tienes que realizar una serie de operaciones para extraer el valor deseado y mostrarlo en un lugar de la LCD (por ejemplo despues de haber hecho la separacion que menciono anteriormente "unidades" y "decimales" tendrias que poner los datos como Lcd_Out(1,1,unidad); Lcd_Out(1,2,'.'); Lcd_Out(1,3,decima);) si quieres puedes ver un pequeño ejemplo que puse en el foro de un voltimetro de 0 a 9 que tambien muestra decimales, alli podras ver las operaciones que se necesitan para realizar la separacion de los valores:
https://www.forosdeelectronica.com/f24/voltimetro-0-9-simple-pic12f683-28129/
si tienes alguna duda me avisas y yo con mucho gusto te ayudare en lo que pueda.

bampi13: que tipo de proyecto o que debe realizar exactamente?? puedes poner tus dudas aqui y si quieres puedo ayudarte en lo que pueda, solo necesito saber que tanto o por lo menos que conoces en lenguaje c y el compilador MikroC.


Saludos y perdon por el retraso
 
Última edición por un moderador:
Gracia amigo, disculpa que te moleste otra vez, tienes ejemplos de comunicacion ethernet. Sabes si los datos que envio en ethernet se transmiten de acuerdo a la variable en la que son almacenados, por ejemplo si son char, float o int, se transmiten de la misma manera o existe algun tipo de conversion en latransmision en cuanto al tipo de variables. Y por ultimo en otros lenguajes he utilizado la funcion gosub que genera un salto y regresa a la siguiente linea, me parece que en mikroc es void, pero noe stoy muy seguro
 
Hola bastidasro



Lo siento!! por el momento no tengo un ejemplo de Ethernet... pero en la ayuda que trae MikroC ("Help" en la barra o presiona F11) si te mentes a las librerias veras la libreria de Ethernet con su sintaxis y un ejemplo... tratare de encontrate un ejemplo.


Saludos
 
Alguien podria instruirme sobre Mikroc , en codigo y demas porque estoy perdido .
Necesito aprender sobr el ADC Del pic16f877a como programarlo con este lenguaje si alguno se ofrece , se lo agradeceria mucho.
 
Necesito crear un programa que mida la frecuencia (frecuencimetro) utilizando el lenguaje MicroC y usando un PIC16F84 o un 16F87. Alguien puede ayudarme??
 
Hola Gabry17 para eso lo que puedes hacer es utilizar interrupciones con el puerto rb0 o utilizar el tmr0 con reloj externo y un timerx para que demore cierto tienpo digamos 1 seg, a lo que suceda la interrupción del timerx lees el valor del timer0 o el contador que se incremente con rb0 y con eso sabes cuantos siclos contó en ese tiempo.
saludos
 
Wenas a todos.
Este programa esta hecho en Mikroc pro for pic.El motivo de esto es para ver si me podrian ayudar con este programa , el problema que me presenta es que no realiza la funcion que deberia realizar abase de el ADC del PIC16f877A que esta justo debajo del while(1) todo lo que compete al ADC
, pero todo lo demas si lo hace osea (apartir de donde dice if(PORTB.F6==1)) luego de ahy todo lo realiza bien

Código:
int cnt,x,v,b;
void main()
{
ADCON1=0x8D;
TRISA=15;
CMCON=0;
INTCON=0;  // apagar las interrupciones
TRISB.F2=0;
TRISB.F3=0;
TRISB.F4=0;
TRISB.F5=0;
TRISB.F6=1;
TRISB.F7=1;
PORTB=0;
while(1)
{
v=ADC_Read(0);
b=ADC_Read(1);
if(v>b)
{
PORTB.F0=1;
PORTB.F1=0;
PORTB.F2=0;
}
else if(b>v)
{
PORTB.F0=0;
PORTB.F1=1;
PORTB.F2=0;
}
else if(b==v)
{
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=1;
}
if(PORTB.F6==1) //RB6 Usuario
{
PORTB.F5=0;
PORTB.F4=0;
PORTB.F3=1;
cnt++;
Delay_ms(1000);
}
else
{
PORTB.F5=1;
PORTB.F4=0;
PORTB.F3=0;
cnt=0;
}
while(cnt>10){
if(PORTB.F6==0 && PORTB.F7==0)
{
PORTB.F3=0;
PORTB.F4=1;
delay_ms(500);
PORTB.F4=0;
delay_ms(500);
}
else
{
PORTB.F4==0;
PORTB.F5==1;
}
if(PORTB.F6==0 && PORTB.F7==1)
{
x=1;
PORTB.F4=1;
delay_ms(1000);
}
if(PORTB.F7==0 && x==1)
{
PORTB.F4=0;
PORTB.F5=1;
cnt=0;
x=0;
}
}
}
}

aca os dejo circuito de proteus por si desena simularlo y conprobar por si encuantran algun otro problema por favor haganmelo saber necesito terminarlo :)
 

Adjuntos

  • Proyecto Final.rar
    37.5 KB · Visitas: 547
Última edición por un moderador:
Hola Gabry17 para eso lo que puedes hacer es utilizar interrupciones con el puerto rb0 o utilizar el tmr0 con reloj externo y un timerx para que demore cierto tienpo digamos 1 seg, a lo que suceda la interrupción del timerx lees el valor del timer0 o el contador que se incremente con rb0 y con eso sabes cuantos siclos contó en ese tiempo.
saludos
Gracias FRYCK!! probare tu consejo y te avisare que tal me resulta ok?
gracias de nuevo
 
Atrás
Arriba