Autor Tema: PROBLEMAS CON PUERTO A  (Leído 1478 veces)

0 Usuarios y 1 Visitante están viendo este tema.

marco_recargado

  • Visitante
PROBLEMAS CON PUERTO A
« en: 10 de Octubre de 2006, 21:20:24 »
ESTOY TRABAJANDO CON EL PIC16F877

AL TRABAJAR CON UN CONTADOR EN EL CUAL USO PUERTO A PUERTO D Y PUERTO E
AL SIMULARLO TODO SALE PERFECTAMENTE ES DECIR SE GENERA UN CONTADOR
PERO AL PONERLO EN LA PRACTICA NO ME RESULTA
EL PROGRAMA ES EL SIGUIENTE

#include <16f877.h>
#fuses hs,nowdt,noprotect,nolvp,nobrownout
#byte porta=5
#byte portb=6
#byte portc=7
#byte portd=8
#byte porte=9
#use delay(clock=20000000)
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
#use fast_io(D)
#use fast_io(E)
void main ()
{
///se hacen las configuraciones de todos los puertos///////////
set_tris_a(0x00);
set_tris_b(0x00);
set_tris_c(0xff);
set_tris_d(0x00);
set_tris_e(0x00);
disable_interrupts(GLOBAL);
//////////inicio del programa en general/////////////////
portb=0;
for (porte=0;porte<=1;porte++)
{
for (porta=0;porta<=62;porta++)
{
for (portd=0;portd<=254;portd++)
{
if (portc<255)
{
portb=portc;
while(1)
{}
}
else
{
portb = portb+1;
delay_ms(1);
}
}
}
}
while(1)
{
porta=0xff;
}
}

EN GENERAL LO QUE DEBE HACER ESTE PROGRAMA ES DECIRME CUANDO LA ENTRADA DE PUERTO C ES DIFERENCTE DE FF. CUANDO LA PUERTO C ES IGUAL A FF MANDO A PUERTO B UNA SEÑAL DE UN CONTEO (PARA DARME CUENTA QUE EL PROGRAMA FUNCIONA) PERO SI UNA ENTRADA ES DIFERENTE DE 0 MANDO A PUERTO B LO QUE HAY EN PUERTO C
PORTB=PORTC.

AHORA MI PROBLEMA ES QUE EL CONTEO ME LO REALIZA BIEN HASTA QUE LLEGA CON PUERTO A4 EN OTRAS PALABRAS EL CONTEO DE PUERTO D ES BUENO EL CONTEO DE PUERTO A TAMBIEN HASTA QUE LLEGA A4  EN A4 NO HAY CAMBIO ASI COMO EN A5 NI EN E0 Y POR LO TANTO EL PROGRAMA SE QUEDA EN UN BUCLE INFINITO COMO SI AL INCREMENTAR  PUERTOA NUNCA LLEGARA A CERO

 ESTO LO HAGO PARA LEER UNA MEMORIA Y VERIFICAR QUE REALMENTE ESTE EN BLANCO PARA ESTE PROPOSITO UTILIZO 15 PINES PARA DIRECCIONES PUESTO QUE LA MEMORIA QUE UTILIZO ES LA 27C256.

CUANDO SIMULO EL PROGRAMA LA SIMULACION ME ARROJA EL PROPOSITO QUE QUIERO PERO EN LA REALIDAD SALE OTRA COSA.

OJALA ALGUIEN PUEDA VER MI ERROR, ESTUVE LEYENDO EL MANUAL DEL PIC Y DICE QUE EL PIC POR DEFAULT TIENE A PUERTOA COMO ENTRADAS ANALOGICAS (COMO NO LE NO ENCONTRE SOLUCION EN C LO PASE EN ENSAMBLADOR PERO EL RESULTADO ES EL MISMO).
GRACIAS


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: PROBLEMAS CON PUERTO A
« Respuesta #1 en: 11 de Octubre de 2006, 01:16:05 »
El pin RA4 es de colector abierto y para poder utilizarlo debes ponerle una resistencia de pull-up.

marco_recargado

  • Visitante
Re: PROBLEMAS CON PUERTO A
« Respuesta #2 en: 11 de Octubre de 2006, 11:46:34 »
MUCHAS GRACIAS NOCTURNO ESTUVE REVISANDO SU MANUAL Y JURABA NO HABER LEIDO EN NINGUNA PARTE ESO DE COLECTOR ABIERTO ,Y ES QUE EN EL MANUAL VIENE COMO OPEN-DRIVE Y NO OPEN-COLECTOR Y PUES NO LE TOME IMPORTANCIA. PERO EL PORBLEMA YA SE RESOLVIO.

LA PROXIMA VEZ VOY A LEER CON MAS DETENIMIENTO :mrgreen: GRACIAS

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: PROBLEMAS CON PUERTO A
« Respuesta #3 en: 11 de Octubre de 2006, 17:52:00 »
No te preocupes, creo que todos hemos pasado por ese problema alguna vez.
Me alegro que lo hayas resuelto.


 

anything