Bonjour à tous,
voilà : je dois utiliser un PIC16F887 et un LCD. Mais j'ai un LCD.h que j'inclus dans mon projet, qui est le suivant :
Je travail en test avec Easy Pic6, et RS est en RB4, E en RB5 et le LCD en PORTB.Code:#define RS RB4 #define E RB5 #define LCD PORTB // Clear Display #define CLS 0x01 // Display & Cursor Home #define HOME 0x02 // EntryMode #define CURSOR_DEC 0x04 #define CURSOR_INC 0x06 #define DISP_SHIFT_ON 0x05 #define DISP_SHIFT_OFF 0x04 // LCD_Display #define DISPLAY_ON 0x0C #define DISPLAY_OFF 0x08 #define CURSOR_ON 0x0A #define CURSOR_OFF 0x08 #define BLINK_ON 0x09 #define BLINK_OFF 0x08 // LCD_FonctionSet #define MODE_8BIT 0x30 #define MODE_4BIT 0x20 #define MODE_2LINE 0x28 #define MODE_1LINE 0x20 #define FONT_5x7 0x20 #define FONT_5x10 0x24 // LCD_ModeSelection #define COMMAND_MODE 0 #define DATA_MODE 1 //=========================================================== void Set_Enable(); void Lcd_SendCommand(unsigned char Command); void Lcd_SendData(unsigned char Data); //=========================================================== void Lcd_SendCommand(unsigned char Command) { RS = COMMAND_MODE ; LCD = Command; Set_Enable(); } //=========================================================== void Lcd_SendData(unsigned char Data) { RS = DATA_MODE ; LCD = Data; Set_Enable(); } //=========================================================== void Set_Enable() { unsigned char i; E = 1; for (i=0;i<200;i++); E = 0; for (i=0;i<200;i++); } //=========================================================== void Lcd_Init() { Lcd_SendCommand (MODE_8BIT | MODE_2LINE | FONT_5x7); Lcd_SendCommand (MODE_4BIT | MODE_2LINE | FONT_5x7); Lcd_SendCommand(DISPLAY_ON | CURSOR_OFF | BLINK_OFF); Lcd_SendCommand(CURSOR_INC | DISP_SHIFT_OFF) ; Lcd_SendCommand(CLS ); } //=========================================================== void Lcd_LigneColonne(unsigned char Ligne, unsigned char Colonne) { Lcd_SendCommand(DISPLAY_ON | CURSOR_OFF | BLINK_OFF); // if(Ligne==1) Lcd_SendCommand (0x80+Colonne); // if(Ligne==2) Lcd_SendCommand (0xC0+Colonne); } //===========================================================
Mon code, comme simple test, est le suivant :
Sous MPLAB IDE 8.76.Code:#include <pic.h> #include <LCD.h> char T[]="Coucou"; void main() { Set_Enable(); //Lcd_SendCommand (); Lcd_Init (); Lcd_LigneColonne(1,1); Lcd_SendData(T); }
Mais rien ne s'affiche...
Ce code est un simple code que j'ai écrit pour le test, car de mon programme principal, rien ne venait sur l'écran.
Je débute, je suis en deuxième année à l'Unif, et on doit programmé en C, donc je vous avoue que je suis dans mes débuts...
Quelqu'un à une idée pour moi ??
Merci à vous...
-----