Programme PIC 16F877

Fermé
Mohamed04445 Messages postés 8 Date d'inscription jeudi 14 mai 2015 Statut Membre Dernière intervention 6 novembre 2016 - Modifié par Mohamed04445 le 14/05/2015 à 13:55
NHenry Messages postés 15161 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 14 octobre 2024 - 15 mai 2015 à 15:50
Bonjour à tous,

j'ai vraiment besoin d'aide C'EST URGENT :
il me faut un programme microcontrôleur 16f877 pour calculer la durée d'un changement d'état d'un signal de 0 v à 2 v sachant que la durée en question ne dépasse pas 0.5 s,si quelqu'un peut me faire ce programme je lui serai éternellement reconnaissant.
le prog se fait sur MicroC for PIC
merci.
A voir également:

1 réponse

NHenry Messages postés 15161 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 14 octobre 2024 337
14 mai 2015 à 13:43
Selon le théorème de CCM, toute demande d'aide au devoir finit implacablement plongée dans les profondeurs des messages hors sujets.
Sur ce, je vous invite à prendre connaissance de cette information concernant vos demandes de devoirs.
2
Mohamed04445 Messages postés 8 Date d'inscription jeudi 14 mai 2015 Statut Membre Dernière intervention 6 novembre 2016
14 mai 2015 à 13:45
j'ai pas compris ce que vous avez dit???
0
Mohamed04445 Messages postés 8 Date d'inscription jeudi 14 mai 2015 Statut Membre Dernière intervention 6 novembre 2016
14 mai 2015 à 13:50
le programme ce fait sur MicroC for PIC
0
NHenry Messages postés 15161 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 14 octobre 2024 337
14 mai 2015 à 13:56
On ne fera pas ce programme à votre place.
0
Mohamed04445 Messages postés 8 Date d'inscription jeudi 14 mai 2015 Statut Membre Dernière intervention 6 novembre 2016
14 mai 2015 à 14:27
pourquoi
0
Mohamed04445 Messages postés 8 Date d'inscription jeudi 14 mai 2015 Statut Membre Dernière intervention 6 novembre 2016
Modifié par NHenry le 14/05/2015 à 15:48
alors je vais vous envoyer ce qu'on a fait ici et vous vous corrigerez les problemes
somme nous d'accord maintenant??
unsigned long val=0;
unsigned short count=0;
unsigned short cm=0;
unsigned int count1=0;
char txt[12];
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D7 at RB4_bit;
sbit LCD_D6 at RB5_bit;
sbit LCD_D5 at RB6_bit;
sbit LCD_D4 at RB7_bit;


sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB7_bit;

void interrupt(){
if(intcon.INTF==1){
tmr1l=0;
tmr1h=0;
t1con.rb0=1;
intcon.INTF=0;
}
else if(pir1.tmr1if==1){
count=count++;

  pir1.tmr1if=0;
}

}

void main() {
TRISB=0X01;
portb=0x00;
intcon.inte=1;
intcon.rb6=1;
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
//Lcd_Cmd(_LCD_CURSOR_OFF);
 lcd_out(1,1,"distance:");
pie1.rb0=1;
pir1.rb0=0;
intcon.gie=1;
option_reg=0b11000000;
t1con=0b00000000;

for(;;){
if(portb.rb0==0){
t1con.rb0=0;
 count1=tmr1h;
 count1=count1<<8;
 count1=count1|tmr1l;
 val=count*65536;
 val=val+count1;
 val=val/1000;
 val=val/1000;
 val=val/1000;
 val=val/1000;
 val=val*122.5;
 LongToStr(val, txt);
 lcd_out(2,1,txt);


EDIT: Ajout de la coloration syntaxique.
0