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

Temas similares

30/03/2015 #1


Realizar preguntas y respuestas en un PIC18F4550
Buenas noches. Saludos desde Colombia.
Antes de mencionar mi problema, aclaro los componentes que estoy utilizando:
* Memoria EEPROM AT28C64B
* PIC18F4550
* Cristal de 4 MHz. (Oscilador externo)
* LEDs. (Visualización)

El inconveniente es con la programación del micro, ya que debo guardar una pregunta en la memoria EEPROM externa y luego visualizarla mediante 8 LEDs, luego dependiendo del tamaño de la pregunta, señalo la siguiente dirección para guardar la respuesta, pero al momento de ver lo guardado sólo me arroja la pregunta, y lo que se supone que es la respuesta, me arroja incoherencias.

Utilizo ASCII en binario para decodificar la visualización.
Estoy utilizando PIC C de CCS y PICkit 2 para programar dicho PIC.

Este es el código que utilizo:
Código PHP:
#INCLUDE <18F4550.h>           

#FUSES XT,NOMCLR,CPUDIV1,NOWDT,NOPROTECT,NOLVP

#USE DELAY (CLOCK=4M)            //SE CONFIGURA LA FUNCION DELAY PARA UNA VELOCIDAD DE 4Mhz

CHAR CONT;
CONST 
CHAR MENSAJE[]={"HOLA BIEN HOLA"};
CONST 
CHAR RTA[]={" si"};

VOID MAIN (VOID)
{
int8 i,j;

OUTPUT_HIGH (PIN_C6);
for (
i=0;i<=13;i++){
OUTPUT_D (i);
OUTPUT_B (MENSAJE[i]);
OUTPUT_A (i);
OUTPUT_LOW (PIN_C7);
delay_ms(10);
OUTPUT_HIGH(PIN_C7);
delay_ms(10);

}
OUTPUT_HIGH (PIN_C6);
for (
i=14;i<=16;i++){
OUTPUT_D (i);
OUTPUT_B (RTA[i]);
OUTPUT_A (i);
OUTPUT_LOW (PIN_C7);
delay_ms(10);
OUTPUT_HIGH(PIN_C7);
delay_ms(10);



for (
i=0;i<=16;i++){
OUTPUT_HIGH (PIN_C7);
OUTPUT_D (i);
OUTPUT_LOW (PIN_C6);
DELAY_MS(10);
CONT=INPUT_B();
OUTPUT_A(CONT);
if (
input_state(pin_b6)==1OUTPUT_HIGH (PIN_C0);
else 
OUTPUT_low (PIN_C0);
if (
input_state(pin_b7)==1OUTPUT_HIGH (PIN_C1);
else 
OUTPUT_low (PIN_C1);
OUTPUT_HIGH (PIN_C6);
delay_ms(1000);
}
}

Espero que alguno me pueda ayudar y de ante mano, gracias.
31/03/2015 #2
Moderador

Avatar de D@rkbytes

La palabra que estás utilizando para que el CPU trabaje a 4MHz, no es correcta.
Prueba utilizando esta otra que si es la adecuada para Fosc = 4MHz, usando cristal.
Código:
#fuses   NOMCLR, NOFCMEN, NOVREGEN
#use     delay (crystal = 4MHz)
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.