شكرا على الرد بسرعة
المشكلة في في تحديد الاعدادات الاولية لهذا البيك لاني نزلت فيه البرنامج بس ما اشتغل
هذا هو البرنامج :
كود:
program COMPTEUR;
Var compteur : integer; // déclaration de la variable de comptage : entier.
nombre : string[12]; // déclaration d'une chaine de caractère pour l'affichage.
procedure interrupt; // sous programme d'interruption.
begin
intcon:=$90; // validation de l'interruption RB0 et mise à zéro de son drapeau le bit INTF
compteur:=compteur+1; // incrémentation du compteur.
end;
procedure marche;
begin
if (compteur >= 6) then porta.1:=1;
if (compteur >= 20) then porta.2:=1;
if (compteur >= 30) then porta.3:=1;
end;
begin
lcd_config(portb,1,3,2,7,6,5,4); //configuration de l'LCD doit toujours être avant la
//configuration des registres TRISx
// lcd_config(le port, RS, E, RW, D7, D6, D5, D4)
lcd_cmd(lcd_cursor_off); // éteindre le curseur de l'afficheur LCD
TrisA:=$01; //portA entrée
TrisB:=$01; // RB0 : entrée ; les autres broches : sorties pour l'LCD
intcon:=$90; // activation de l'interruption externe RB0/INT
compteur:=0; // initialisation du compteur.
lcd_out(1,1,'N.P ='); //afficher sur la 1ere ligne et la 1ere colonne de l'LCD " N.P= ".
while (1=1) do // boucle infinie.
begin
inttostr(compteur,nombre); // changement de la variable " compteur "
//en une chaine de caractère qui est " nombre ".
lcd_out(1,6,nombre); //afficher sur la 1ere ligne
marche;
//et la 6emme colonne de l'LCD :" nombre ".
if (porta.0=1) then compteur:=0; // l'appui sur le bouton RZ initialise le compteur.
end;
end.