Banner publicitario de PCBWay

Programación con MikroC

Ando un poco ocupado...
Lo estás simulando o no? si lo simulas en proteus usa el archivo *.cof más la simulación paso a paso (step) de ese modo se abre una ventana donde aparece el programa y puedes poner punto de ruptura (BreakPoints) para detener el programa y que lo analices con calma que es lo que hace.
Otra con el datasheet de ambos componentes revisa que la secuencia de escritura/lectura la realices bien, así mismo como el código de acceso.
Otra es que lo que leas lo envíes por el puerto serie, así visualizas el dato, de la misma forma, lo que escribes en la EEPROM, lo vuelves a leer y lo envías por el puerto serie a la PC o en caso de simulación, al "Virtual Terminal".
saludos.
 
Hola, estoy usando el mikroc y quiero hacer in generador de señales, especialmente de onda senoidal, el problema es que cuando declaro un vector de 90 enteros no me compila, me dice ¡memoria insuficiente! cuanto ocupa un entero en mikroc?
la otra forma que intente es hacer yo mismo la funcion seno, pero el codigo se jace muy largo y tambien me da memoria insufuciente? estoy usando el 16f877.
sera que tengo que registrarme y pagar la version completa?

pd:
lei por ahi que necesitaban algo de una cerradura. yo tengo un proyecto terminado de una cerradura electronica en mikroc, usando un display lcd y un teclado de 4x4, tengo el archivo de proteus, si quieren se los subo.

saludos
 
hola a todos soy nuevo en este foro
Yo tube problemas con el I2C por hardware del pic 18f4550 y al final lo hice funcionar con el I2C por software que tambie lleba el Mikroc

Feliz Navidad y Prospero Año Nuevo
 
Última edición:
Y necesito unos programas para entender mejor, ahora estoy utilizando los pic, y por lo que veo no se define en ningun lado o almenos eso entendi, bien por eso necesito unos programas hechos con el mikro, o si no almenos unos ejemplos con LCD y manejo del ADC


Por favor.... lo necesito

Se los agradezco de antemano.......
 
Estimados:

Estoy usando un 16F877a con proteus.
Tengo conectado una referencia al RA3, un generador de senial al RA0.
Luego mediante leds verifico que la conversion sea correcta, pero al enviar los datos solo puedo visualizar 255 cuando la conversion es maxima(todos leds encendidos) y 248 con 0V (todos leds apagados)

adjunto codigo.



void envio ();
void recibo ();

unsigned int peso1,peso2,set,temp_p1, temp_p2;

void main()


{
ADCON1 = 0x81; // Configure analog inputs and Vref en la entrada RA3
TRISA = 0xFF; // PORTA is input
TRISD = 0; // PORTD is output
TRISB = 0x3F; // Pins RB7, RB6 are outputs


// Initialize USART module (8 bit, 2400 baud rate, no parity bit..)
Usart_Init(4800);

do {
peso2 = Adc_Read(0);
delay_ms(10); // Get results of AD conversion
PORTD = peso2; // 8 bits menos significativos se mueven al puerto PORTD
PORTB = peso2 >> 2; // Send 2 most significant bits to RB7, RB6
envio();

} while(1);
}

void envio ()

{
Usart_Write(peso2);
delay_ms(500);
}
 
Buenas , yo estoy empezando con el ENC28j60 apenas y mi duda es. si yo configuro el controlador por medio de la comunicacion spi.
Es decir programa mi pic y mi pic se encarga de configurar el conmtrolador.
necesito un progrmador especial par el controlador?

Buenas , yo estoy empezando con el ENC28j60 apenas y mi duda es. si yo configuro el controlador por medio de la comunicacion spi.
Es decir programa mi pic y mi pic se encarga de configurar el conmtrolador.
necesito un progrmador especial par el controlador?
 
Última edición:
que tal foro, alguien sabra de algun tutorial con ejemplos un tanto basicos para empezar a familiarisarse con este programa? baje un tutorial en .pdf pero la verdad es q no trae ejemplos. desde ya muchas gracias
 
que tal foro, alguien sabra de algun tutorial con ejemplos un tanto basicos para empezar a familiarisarse con este programa? baje un tutorial en .pdf pero la verdad es q no trae ejemplos. desde ya muchas gracias
Hola.
En la carpeta de instalacion (Mikroelektronika) ya sea en (Archivos de programa o en Mis documentos) encuentras varios ejemplos usando sus módulos internos y demàs... el resto sigue siendo lenguaje C.

Saludos
 
Alguien que me pueda orientar a como enviar un numero entero mayor de 255 por USART de MikroC, estoy haciendo una trasmision PIC a PIC con un 16f877a y un 18f4620. Lo que busco es enviar un numero de 16bits por Tx y que lo reciba en Rx, se que hay forma de enviarlo en dos Bytes de 8bits y unirlos despues en el pic receptor para formar nuevamente el numero de 16bits.

Alguien lo ha realizado en MikroC, o sabe las bases para conseguir los dos grupos de 8 bits? Gracias
 
hola BeToR puedes probar lo siguiente:

Código:
unsigned int variable;
unsigned char var2[2];

   variable=0x3535;
   var2[0]=(unsigned char)(variable&0xff);
   var2[1]=(unsigned char)((variable>>8)&0xff);

saludos
 
Última edición:
Consulta MIKROC

como defino una etiqueta a algo desconozco como se llama, que represente un numero
ejemplo tengo muchos delay_us(476); y quiero que una palabra equivalga al numero 476 ,
este mismo lo pongo en el encabezado del pprog y cambio todos los delay desde alli.
No quiero que sea una variable.
 
como utilizo la OPTION_REG para el pic16f887, ya que tengo que hacer un contador de 8bits, es decir de 0 a 255, este pic lo estoy programando en mikroc y lo que quiero saber es como
configurar la option_reg para que haga el conteo y asi visualizarlo en la lcd...
 
El OPTION REGISTER no hace conteos, este sirve para activar/desactivar los pullups y para configurar algunos parametros del TIMER0 (este si hace conteos).

En el datasheet tienes toda la información de como configurarlo segun lo que necesites (el timer0), ya que este puede funcionar de distintas formas.

Un saludo
 
Disculpen amigos ciber pero no puedo hacer correr el programa en miKroC talves por alguna configuracion una ayuda lo hise tal como lo mencionan con nuevo proyecto pero no compila. gracias

Saludos amigos
 
Poca información, con lo que nos das es difícil saber. Pon el error que te da al compilar, la línea, el código e incluso una imagen de la pantalla de configuración.

Un saludo.
 
buenas tengo una duda soy nuevo programando y por ejemplo si tomo el pic 16f84a y programo que el puerto a y el b sean salidas verdad y en e A coloco unos led que enciendan y apagen funcionan bien tal cual yo quiero pero al colocar que ocurra lo mismo por el puerto B no ocurre osea que los dos puertos funcionen al mismo tiempo lo mas que he logrado es que por el puerto a se ejecute el encendido y apagado de los led infinitamente y por el B solo enciende y apaga una vez y ya pero no puedo lograr que se repitan infinitamente en los 2 puertos al mismo tiempo

int x;
void main(void)
{
INTCOn=0;
TRISB=0;
PORTB=0;
trisa=0;
porta=1;
delay_ms(10);
porta=0;
delay_ms(10);

while(1)
{

for(x=0;x<8;x++)
{
delay_ms(500);
PORTB=1<<x;
}
}
}

ven si le coloco un bucle al puerto a no funciona el B que estoy haciendo mal??????
 
El único fallo que veo es que creo ahun no comprendes muy bién como va esto. En un microcontrolador las instrucciones se ejecutan una a una, solo una y una detrás de otra. Si tu pones un bucle infinito "while(1)" en la zona donde tratas el puerto "A" nunca llegarás a ejecutar las del bucle "B".
Soy un poco malo explicando, para que lo veas te recomiendo hagas una depuración de tu programa paso a paso poniendo el bucle en A y sin el (como lo tienes ahora) y ahí verás perfectamente lo que te intento decir.

Un saludo
 
Atrás
Arriba