Bonjour,
Je débute le PIC avec le PICDEM FSUSB Demo board qui contient un pic18f4550(Quartz=20MHz). Après avoir amusé à allumer les LEDs, maintenant, j'aimerais afficher les caractères sur l'afficheur LCD 16x2. Du coup, je suis allé sur le site de microchip qui donne un exemple de code pour l'afficheur externe avec un "PicDem2+ demo board with PIC18F4685 controller". J'ai modifié un peu les codes pour que celui ci soit adapté au mien. Ceci compile sans erreurs mais ca donne rien du tout sur mon afficheur. Est ce que quelqu'un pourra m'aider?? Merci
PS: Je utilise MPLAB IDE, C18, et je programme le PIC avec PDFSUSB qui charge le fichier .hex généré par le compilateur
Voici les fichiers correspondants:
http://ww1.microchip.com/downloads/e...ternal_LCD.zip
J'ai modifié dans "xlcd.h" :
- décommantant #define BIT8 comme je vais utiliser les 8 broches des données car je voulais pas trop m'embrouiller avec upper ou lower nibble.
- #define DATA_PORT PORTB
#define TRIS_DATA_PORT TRISB
car Je n'ai pas de PORTD connecteur sur ma carte.
- Rem : J'ai laissé telle quelle #define MEM_MODEL far car je sais pas trop si ma mémoire est en "far" ou "near"
J'ai modifé dans "delay_xlcd.c" en tenant compte de mon Quartz(20MHz):
-
void DelayXLCD(void)
{
Delay10KTCYx(3); //delai de 6ms
}
void DelayFor18TCY(void)
{
for(i=0;i<17;i++) //18 Tcys
Nop();
}
void DelayPORXLCD(void)
{
Delay10KTCYx(8); //delai de 16ms
}
Dans le code principal "xcld.c":
Il y a ces lignes au dessous "peut etre" à configurer mais je vois pas trop comment... Sinon dans les commantaires de Microchip il demande pas d'autre choses à modifier.
#if defined(__18F4685) //If the selected device if PIC18F4685, then apply below settings else user will have to set
#pragma config FOSC=HS, FCMEN=ON, WDT=OFF, IESO=ON, XINST=OFF, LVP=OFF
#endif
-----