Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

help me 'Control device for public lighting and temperature measurement PIC 16F877'

Status
Not open for further replies.

lolo2013

Newbie level 4
Joined
Mar 21, 2013
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,352
I want to help in this program there are some mistakes I did not know how to fix them thank you in advance

View attachment programme-eclairage.zip

PHP:
program pfe;

var  //declaration de variable
kp : byte;
x,j,u: LONGINT;
label temp,seuil,lum ,lampe,start;
Procedure lam();
       begin
       J:=adc_read(1);
       u:=adc_read(2);
       if j>u then
       begin
       DELAY_ms(250);
       portd.0:=1;
       end
       else
       begin
       portd.0:=0;
       kp := Keypad_Released();
       end ;
       end;
Procedure ADC(x:integer);
      var ch: byte;//declaration de variable
      tlong,t: longint;
      begin
      lcd_cmd(lcd_cursor_off);//etiendre le clavier
      tlong := (x*5000);
      t    := longint(tlong shr 10);
      ch:= t div 100000;
      lcd_chr(2,3,48+ch);
      ch:= integer(t div 10000)mod 10;
      lcd_chr(2,4,48+ch);
      ch:= integer(t div 1000)mod 10;
      lcd_chr(2,5,48+ch);
      lcd_chr(2,6,'.');
      ch:= integer(t div 100)mod 10;
      lcd_chr(2,7,48+ch);
      ch:= integer(t div 100) mod 10;
      lcd_chr(2,8,48+ch);
      ch:= integer(t div 10) mod 10;
      end;
begin
lcd_init(portb);//initialisation de l'afficheur LCDsur le portB
trisa:=$EF;//toute les broches de portA en sortie sauf  RA4
trisc:=$7F;// toute les broches de portC en sortie sauf  RA7
ADCON1:=$80;  //déclaration pour le CAN ,extrait de datasheet du Pic
Trisd:=$00;//initialisation de portd
lcd_cmd(lcd_cursor_off);//etiendre le curseur de l'afficheur LCD
Keypad_Init(PORTC);//initialiser le clavier sur le port C
Lcd_Cmd(LCD_CLEAR);// effacer le contenu de l'afficheur
lcd_out(1,1,'projet fin d"etude');//afficher sur la 1 er  ligne et la 1 er colnne de LCD "projet fin d"etude"
portd.0:=0; //  initialiser  le pin RD0
repeat
start:
portc :=$00;//initialisation de portc
begin
kp := 0;//initialisation de kp
while kp = 0 do
kp := Keypad_Released();//lecture de clavier

// structure du clavier;
if (kp = 1) then kp := '1';
if (kp = 2) then kp := '4';
if (kp = 3) then kp := '7';
if (kp = 4) then kp := '*';
if (kp = 5) then kp := '2';
if (kp = 6) then kp := '5';
if (kp = 7) then kp := '8';
if (kp = 8) then kp := '0';
if (kp = 9) then kp := '3';
if (kp = 10) then kp := '6';
if (kp = 11) then kp := '9';
if (kp = 12) then kp := '=';
       LCD_chr(2,5,kp);
    Lcd_Cmd(LCD_CLEAR); //effacer le contenu de l'afficheur
    if kp ='1' then goto temp  ;
    if kp ='2' then goto seuil ;
    if kp ='3' then goto lampe ;
    if kp ='4' then goto lum   ;
    lcd_out(1,1,'1-temp 2-seuil');//afficher sur la 1 er  ligne et la 1 er colnne de LCD "1-temp 2-seuil"
    lcd_out(2,1,'3-lampe 4-lum');//afficher sur la 2 eme  ligne et la 2 eme colnne de LCD "3-lampe 4-lum"
       lam();
 goto start ;
temp:
    begin
         DELAY_ms(50);//
         kp := Keypad_Released();//lecture de clavier

         while kp=0 do
         begin
         x:=adc_read(0);
         lcd_out(1,1,'1-Temperature:');//afficher sur la 1 er  ligne et la 1 er colnne de LCD "1-Temperature:"
         lcd_out(2,10,' (Degre)');//afficher sur la 2 eme ligne et la 10 eme colnne de LCD " (Degre)"
         lam();
         adc(x);//
         kp := Keypad_Released();//lecture de clavier

         end ;
         goto start ;//
     end ;
seuil:
    begin
         DELAY_ms(50);//
         kp := Keypad_Released();//lecture de clavier

         while kp=0 do
         begin
         J:=adc_read(1);//
         lcd_out(1,1,'1-Reglage Seuil:');//afficher sur la 1 er  ligne et la 1 er colnne de LCD "1-Reglage Seuil:"
         lam();//
         adc(J);//
         kp := Keypad_Released();//lecture de clavier

         end ;
         goto start ;//
     end ;
lampe:
  begin
        DELAY_ms(50);//
        kp := Keypad_Released();//
        while kp=0 do//
        begin
        J:=adc_read(1);//
        u:=adc_read(2);//
        if j>u then //
        begin
        DELAY_ms(250);//
        portd.0:=1;//
        lcd_out(1,3,'lampe allume');//afficher sur la 1 er  ligne et la 3 eme colnne de LCD "lampe allume"
        end
        else
        begin
        portd.0:=0;//
        lcd_out(1,3,'lampe eteint');//afficher sur la 1 er  ligne et la 3 eme colnne de LCD "lampe eteint"
        end ;
        kp := Keypad_Released();////lecture de clavier

        end;
        goto start ;
  end ;
lum:
  begin
        DELAY_ms(50);
        kp := Keypad_Released();
        while kp=0 do
        begin
        u:=adc_read(2);
        lcd_out(1,1,'4-Lumiere:');//afficher sur la 1 er ligne et la 1er  colnne de LCD "4-Lumiere:"
        lcd_out(2,10,' Lum'); //afficher sur la 1 er ligne et la  10 eme colonne de LCD "Lum"
        adc(u);//
        lam(); //
        kp := Keypad_Released(); //lecture de clavier

        end;
        goto start ;
        end ;
end ;
until FALSE ;
end.
 

help me.....................................
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top