Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

08/01/2011 #1


Error con interrupciones 16f877
Buenas tardes a todos.

He estado realizando peruebas con este pic 16f877 y vengo del 8051... el problema es que estoy programando en c todo los programas, estoy comenzando con cosas sencillas para ir poco a cpoco a más.......
Ahora os cuento mi problema (debo decir que me he leido todos los post relacionados con el pic y c....). Deseo crear un programa que mediante una interrupción externa (pulsador)conectado al pin rb0 valla contando las veces que pulse el boton y ponga el rersultado en el puerto D en binario, el tema es que cuando me lo pongo a analizar con proteus, ess como si no funcionara el pulsador y me da problemas.... el circuito que he diseñado en proteus es sencillo (aun no lo puedo colgar que no tengo suficientes posts....)alimentación al pulsador y de los bits del puerto d un led a cada uno y a masa...

Bueno, a ver si me podeis iluminar de la tontería que acabo de hacer.... aqui os la dejo:

#pragma chip PIC16f877
#pragma config=0x3f71
#pragma interruptSaveCheck n

// Declaración de prototipos de funciones
#pragma origin 4
unsigned cont;

interrupt puls (void)
{
INTF=0;
cont=cont+1;
PORTD=cont;
}

void main (void)
{
cont=0;
OPTION_REG=0X40;
TRISA=0XC0;
TRISB=0x01;
TRISD=0X00; //puerto d como salidas
GIE=1;
PEIE=1;
INTCON=0x10; //interrupcion externa por rb0

while(1);
}
08/01/2011 #2


hola!!! vendría bien que dijeras en que compilador estas programando ya que cada uno es un mundo.

Un saludo
08/01/2011 #3


Perdoname pero se me ha olvidado decirlo, estoy usando el MPASM de microchip
08/01/2011 #4


eh? eso no puede ser. . . mpasm es de ensamblador y tu estas programando en c. . .

un saludo
08/01/2011 #5


Pues claro..... edito un archivo nuevo y lo guardo con la extensión *.c y la añado a los source files... es muy útil para simular el programa con proteus. De todas formas las directivas del ensamblador están bien, pero lo que me falla es el código fuente.

Da un vistazo al código abierto ver donde puedo fallar...... mira que le estoy dando vueltas al programa.....
08/01/2011 #6
Excluido


Intenta saltarte el proteuss... proteuss NO SIRVE!

estoy leyendo tu codigo y a simple vista... deberia de funcionar.
09/01/2011 #7


es lo que me pasa a mi, por lo que he leído debería funcionar.... pero bueno voyy a dejar aqui la foto del proteus.... deciros que cambie esa fuente de alimentación por la de una batería y todo..... pero nada, el tema sigue igual....


Por cierto..porqueesa negativa al proteus...????... lo pregunto porque soy novato y de momento me ha funcionado bien pero si me aconsejas un programa que sea más estable lo agradezco
09/01/2011 #8


he probado a simularlo con el real pic simulator y me da error

Pablet dijo: Ver Mensaje
eh? eso no puede ser. . . mpasm es de ensamblador y tu estas programando en c. . .

un saludo
JAJAJAJAJA me habíoa confundido hombre perdona jajajaja pero bueno en el MPLAB
09/01/2011 #9
Excluido


No es negativa... El proteuss simplemente no sirve. Simula mal e interpreta los codigos aun peor.
Repito, usa el depurador de mplab. Y si ahi si funciona, implementa directamente el circuito.
10/01/2011 #10


bueno, por lo menos en el mplab no me ha dado fallos al depurar.... ahora mismo la verdad no tento tiempo para crear el circuito pero tarde o temprano lo haré.
Muchas gracias
12/01/2011 #11

Avatar de gzaloprgm

joloso16 dijo: Ver Mensaje
es lo que me pasa a mi, por lo que he leído debería funcionar.... pero bueno voyy a dejar aqui la foto del proteus.... deciros que cambie esa fuente de alimentación por la de una batería y todo..... pero nada, el tema sigue igual....


Por cierto..porqueesa negativa al proteus...????... lo pregunto porque soy novato y de momento me ha funcionado bien pero si me aconsejas un programa que sea más estable lo agradezco
No hagas eso de usar una batería o fuente, usá "GROUND" y "POWER" en el menú de la izquierda en "TERMINALS", porque la alimentación del micro internamente está conectada a esos, y si lo hacés de otra forma vas a tener varios problemas de simulación, y al hacer el impreso no te va a dejar unir las nets.

Estoy casi seguro que ese es el problema, si sabés usar BIEN el proteus no es tan malo, solamente tienen un par de bugs en las simulaciones de núcleos de CPU, pero si los reportas lo arreglan para la siguiente versión seguramente.

Proteus es relativamente malo/lento para simulación de circuitos analógicos, o mezcla.
12/01/2011 #12
Excluido


Persona que se basa en proteuss para simular programas, es persona que termina con problemas de implementacion. Por eso desde un inicio, yo rechazo las pruebas en proteuss.
13/01/2011 #13


si te digo la verdad.... antes de poner esa fuente de alimentación le puse los ground y power que me dices.. pero seguía pasando lo mismo.....me quedo con lo que dice antiworldx
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.