ADCIN dan İlk alınan bilgiyi ekranda tutmak.

Başlatan . Kağan, 08 Nisan 2014, 12:35:29

. Kağan

 

main:

  EC_1=0
   
  FOR I=0 TO 59     
   
   ADCIN 5, BILGI   
   PAUSE 16   
   EC_1 =  EC_1 + BILGI
 
   next
 
    EC_1 = bilgi/60
     

  LCDOUT $FE,1
  PAUSE 150
  LCDOUT $FE,$80, "EC_1: "         
  LCDOUT $FE,$86, DEC2 EC_1       
  PAUSE 10

return


Yukarıdaki kodda EC_1  bilgisi sürekli yeni ölçüm yapıldığı için sürekli değişiyor. Ben ilk alınan bilginin ekranda kalmasını istiyorum. Ne yapabilirim?

ete

Sorunuzu iki şekilde algılıyorum.
Birincisi, sistemi ilk çalıştırdığınızda ilk okuma değerini sürekli ekranda tutumak istediğiniz
İkincisi ise her okuma döngüsünde toplamda 60 adet okuma yapılıyor. Bu 60 adet okumadan 1. okuma değerini ekranda tutma isteğiniz.

Şayet birinci alternatife göre hareket edersek,
ILK VAR WORD şeklinde bir değişken tanımlayın. Basla satırından evvel ILK=0 yapın.
Sonra ADCIN satırının altına,
IF ILK=0 THEN ILK=BILGI  şeklinde bir komut ekleyin.
Ekran kısmına ise
LCDOUT $FE,$80, "ILK= ",dec BILGI yazın

Şayet ilk okunan değer değilde İLK ortalama değeri görmek istiyorsanız
o zaman önce programdaki ortalama alma hatasını düzeltin.
Zira,
   EC_1 =  EC_1 + BILGI şeklinde okunanları EC_1 değişkeninde topluyorsunuz ama döngü sonunda
 
    EC_1 = bilgi/60  şeklinde Bilgi değerini 60'a bölüyorsunuz bu yanlış. EC_1=EC_1/60 şeklinde olmalı idi.
Sonra bu satırın altına ; IF ILK=0 then ILK=EC_1 komutunu ilave ederseniz ilk ortalama değeri ekranda gözükür.

Döngünün ilk değerini okumak için ilk verdiğim örnekde iş görür. Yada ;
IF I=0 then ILK=BILGI şeklinde yazabilirsiniz.

Ete

Powered by EzPortal