Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Pic 18f4550 - PIC 18F4550 e PORTD o LATD


Messaggi consigliati

Inserito:

Buongiorno a tutti, vorrei sottoporvi un problema banale ma a me incompresibile, stò utilizzando un PIC 18F4550 per scrivere su di un display LCD a 2 righe, il problema è che compaiono dei caratteri strani sul display come se la porta dati non funzionasse correttamente.

Allora ho creato il seguente codice di test ed effettivamente

dati PORTD non mi si aggiorna correttamente ( almeno vedendo il valore del registro nella watch table" ) ed effettuando i dovuti refresh della stessa:

#include <htc.h>

__CONFIG (1,XT);
__CONFIG (2,WDTDIS);
__CONFIG (3,LVPEN);
__CONFIG (4,PBADDIS);

#include "delay.h"
#include "set_reset.h"

#define DXTAL_FREQ=4MHZ;

void
main(void)
	{

	PORTA = 0x0;
	PORTB = 0x0;
	PORTC = 0x0;
	PORTD = 0x0;
	PORTE = 0x0;

	TRISA = 0b00000011;
	TRISB = 0b00000000;
	TRISC = 0b00000000;
	TRISD = 0b00000000;
	TRISE = 0b00000111;
	ADCON1 = 0b00001111;
	LED1 =1;
	DelayMs(250);
	LED1 = (LED1^1);
	lcd_init();
	ciclo_main();
	}

void
ciclo_main(void)
{
	LATD=0b00111100;//init_value;
	while(1)
	{
	}
}

Ho utilizzato il solito codice sorgente con le opportune modifiche, su di un PIC 16F877A e funziona correttamente il display con il solito Hardware, inoltre ho provato a sostituire il PIC con un altro 18F4550 ma niente. Ciao a tutti.


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...