ffaaffii
Messages postés1Date d'inscriptionmercredi 6 mai 2009StatutMembreDernière intervention15 mai 2009
-
12 mai 2009 à 22:26
azkar -
17 nov. 2022 à 10:06
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 .
A voir également:
Programmation de pic 16f877 en mikroc
Programmer un afficheur lcd avec pic 16f877 pdf - Meilleures réponses
Programmation pic 16f877 mikroc pdf - Meilleures réponses
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 15 juin 2009 à 21:28
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é ???....
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 23 juin 2009 à 10:51
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...
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 29 juin 2009 à 12:46
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)
ilsab
Messages postés2Date d'inscriptiondimanche 27 novembre 2011StatutMembreDernière intervention 7 janvier 2012 7 janv. 2012 à 17:31
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..