Bonsoir,
nous sommes en train de programmer un PIC16F877 et un afficheur lcd en mikro C.
le problème c'est queje veux une instructiondu delay avec le mikro c pour que l'afficheur m'affiche pendant un delai précis.
aidez moi svp.
merci .
En français, ça donne quoi ???
Blague mise à part, je n'ai rien compris à ce que tu veux...
Tu veux afficher quel "delay" ???, ou pendant un temps donné ???....
Je connais très bien mikroC, je développe dessus...
Je sais comment fonctionne le Delay_ms...
le temps en ms, c'est toi qui le définie, par conséquent tu peux l'afficher très facilement.
Lcd_Out ('Line','Column', "'Tontemps") ;
Après peut être faudrait il caster le temps pour l'avoir en seconde...
PS... sans vouloir être pénible, une explication plus longue que simplement l'instruction delay aurait été plus agréable...
Si tu veux afficher pendant un temps donné, c'est facile, tu affiche les caractères voulus puis tu lance ton attente (delay_ms(XXX))...
Si tu veux afficher un temps, là tu ne peux pas utiliser le delay_ms(), l'instruction delay_ms occupe le micro à ne rien faire si ce n'est attendre la fin de l'instruction. C'est pratique pour une base de temps, mais pour un comptage ou une tempo en parallèle, c'est inutilisable...
Si tu veux plus d'info, moi j'ai besoin que tu détail EXACTEMENT (au mieux en tout cas) ce que tu veux faire, je n'ai toujours pas compris ce que tu veux afficher, et qu'elle est l'utilisation du delay_ms que tu projette..., par conséquent, je ne peux pas t'aider efficacement...
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D7 at RB5_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D7_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB2_bit;
char i;
void main()
{
lcd_init() ;
lcd_cmd(_lcd_cursor_off);
while(1)
{
lcd_out(1, 1, "ecri ici"); delay_ms(1000);
lcd_cmd(_lcd_clear);
i = 66 ;
Lcd_Chr(2, 2,i);
}
}
remarque:attentio au patte de pic sur le branchement du lcd RS au RB0 et EN au RB1 et D7 au RB5 .........(voir sur les sbit dans le program)
en mikroc le temps est programmer comme suite :aprés chaque lcd_out ou lcd_chr bien sur si vous utiliser do{.....for...}, voir exemple:
do{
lcd_out(1,1,"texte");
delay_ms(500);
....ect..