Autor Tema: 877A no trabaja bien  (Leído 1851 veces)

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

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
877A no trabaja bien
« en: 08 de Octubre de 2005, 18:20:00 »
Hola

Hice un programa para checar la salida de los pines IO del 877A.

Programé como entrada el puerto B y lo que lea en él, saldrá en los demás puertos.

Conecté a RB0 una Resistencia a GND para asegurar el cero lógico. A RC0 conecté un LED que va a indicar el estado de RB0.

Pero el PIC no lo hace como debe ser.

¿Podrían revisar mi programa por favor?

#include "16f877.h"
#use delay(clock=8000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect
#use standard_io (a)
#use standard_io (b)
#use standard_io (c)
#use standard_io (d)
#use standard_io (e)

void main(void)
{
int valor;
SETUP_ADC_PORTS(NO_ANALOGS);
SETUP_ADC(ADC_OFF);

set_tris_a(0x00);
set_tris_b(0xff); //B salida
set_tris_c(0x00); //C salida
set_tris_d(0x00);
set_tris_e(0x00);

while(1){
valor=input_b();
output_a(valor);
output_c(valor);
output_d(valor);
output_e(valor);
}

}


Espero que esté bien, si no, mi programador ya anda fallando.

Gracias

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: 877A no trabaja bien
« Respuesta #1 en: 09 de Octubre de 2005, 04:48:00 »
Si programas los puertos con la función set_trix_x, usa #use fast_io. Prueba y me cuentas.

Por cierto .. valor = input_b() ¿?¿ eso existe en CCS?
Si juegas contra el mejor, pierdes como los demás.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: 877A no trabaja bien
« Respuesta #2 en: 09 de Octubre de 2005, 12:22:00 »
Según la ayuda de CCS:



INPUT_x()
 
Syntax:
 value = input_a()
value = input_b()
value = input_c()
value = input_d()
value = input_e()

 Parameters:
 None

Returns:
 An 8 bit int  representing the port input data.

Function:
 Inputs an entire byte from a port. The direction register is changed in accordance with the last specified #USE *_IO directive. By default with standard I/O before the input is done the data direction is set to input.

Availability:
 All devices.

Requires
 Nothing

Examples:
 data = input_b();

Example Files:
 ex_psp.c

Also See:
 input(), output_x(), #USE xxxx_IO

 



Ya lo intenté, pero hace lo mismo.

¿Qué usarías  en vez de valor=input_b(); ?

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: 877A no trabaja bien
« Respuesta #3 en: 09 de Octubre de 2005, 13:58:00 »
Ya sé que pasó... la falla está en el xtal de 8MHz, le puse uno de 4 y ya funcionó Ardiendo

Gracias radon Avergonzado

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: 877A no trabaja bien
« Respuesta #4 en: 10 de Octubre de 2005, 00:01:00 »
Ah, claro, no me había dado cuenta antes. No puedes trabajar a 8 MHz con el fuse XT, tendrías que haber puesto HS.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: 877A no trabaja bien
« Respuesta #5 en: 10 de Octubre de 2005, 19:41:00 »
No te imaginas que frustrado estaba por no poder echar a andar un programa tan bobo... Muchas risas

Voy a ponerle HS ahora sí Rebotado

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: 877A no trabaja bien
« Respuesta #6 en: 11 de Octubre de 2005, 08:45:00 »
Escrito originalmente por nocturno66
Ah, claro, no me había dado cuenta antes. No puedes trabajar a 8 MHz con el fuse XT, tendrías que haber puesto HS.


Se puede usar XT hasta 10 Mhz sin problemas.
Si juegas contra el mejor, pierdes como los demás.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: 877A no trabaja bien
« Respuesta #7 en: 11 de Octubre de 2005, 12:40:00 »
Puede que funcione sin problemas hasta 10MHz, pero la data dice que el XT hasta 4MHz y de ahí p"arriba el HS. De todas formas, no creo que sea crítico.


 

anything