Autor Tema: Problemas al utilizar Puerto !  (Leído 1670 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado PicKetero

  • PIC12
  • **
  • Mensajes: 80
Problemas al utilizar Puerto !
« en: 20 de Julio de 2004, 05:08:00 »
   Hola a todos !!!
    Antes que nada quería decirles que soy nuevo en el mundo del "C" para PIC.
   
    Bueno, paso a contar sobre mi primer programa de prueba en el que simplemente lo que quiero hacer es configurar puertos (del 16F628) y poner valores en ellos.
    Los problemas que tengo son :
   1º- Tengo que estar definiendo cada registro de mi PIC ( #byte PORTA=5 ), aparentemente cuando uno crea un nuevo proyecto con CCS (Pic wizard) coloco que tipo de pic estoy utiliazando. No debería ahí el compilador llamar a la librería 16f628.h donde estan todas las definiciones de registros ?
   2º- En el 16f628 para utilizar el puerto A todo digital hay que dar de baja el comparador que trae, colocandole el valor 0x07 al registro CMCON.....  lo raro es que al poner todas los pines del puerto A a 1 solo coloca  11110000.   ¿Qué pasa con PIN_A0-3 ?

  Aquí dejo mi programita para que lo vean.  
  Desde ya muchas gracias !!!


//----------------------------------------------------------------------------


#include "C:Piccecono.h"

#byte PORTA=5
#byte PORTB=6
#byte CMCON=0X0B

#int_RTCC
RTCC_isr() {

}

#int_RB
RB_isr() {

}



void main() {

   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_vref(FALSE);
   setup_comparator(FALSE);
   enable_interrupts(INT_RTCC);
   enable_interrupts(INT_RB);
   enable_interrupts(global);

   CMCON=0X07;

   set_tris_a(0x00);
   set_tris_b(0xf0);

   output_high(PIN_A1);
   delay_cycles(7);
   output_low(PIN_A1);

   PORTB=0XFF;
   PORTA=0XFF;


}

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Problemas al utilizar Puerto !
« Respuesta #1 en: 20 de Julio de 2004, 06:40:00 »
El programa tal cual lo tienes funciona, ahora bien hay muchas cosas que sobran. Los pines A0..A3 se encienden, el A4 no porque hay que meterle una pull-up para que lo haga.

¿Esto para qué: #include "C:Piccecono.h" ? Métele solo el include del 628.

¿Esto para qué: output_high(PIN_A1); delay_cycles(7); output_low(PIN_A1); si luego tienes: PORTA=0XFF; ?

Olvidate del ensamblador y mírate las funciones del manual de CCS.

No hay que programar inicialmente ningún registro.

Desconectado PicKetero

  • PIC12
  • **
  • Mensajes: 80
RE: Problemas al utilizar Puerto !
« Respuesta #2 en: 21 de Julio de 2004, 22:23:00 »
   Hola Pocher, te agradezco por tu ayuda.
   Mira, este programa no tiene un proposito mas que de provar las directivas del CCS ya que nunca lo había utilizado.
    Luego de mirar el programita me di cuenta que tenia mal la dirección del registro CMCON, luego de esto todo anduvo bien.
    De nuevo,.. muchas gracias.