Pic ile Akü Ölçmek

Başlatan outlaw57, 21 Ekim 2011, 10:25:12

est32

IF A=1 THEN B=2:C=3:D=4...
Gibi de yazılabiliyo,hatta endıf ile sonlandırmadan eeprom okuma/yazma bile yapıyorum,aynı satıra yazıldıkça sorun olmuyor.

ete

#16
EST32,
BU komutlarda dikkat etmen gereken bir husus var.

IF A=1 THEN B=2:C=3:D=4...  satırında A=1 ise B=2 yapılır ve ardından C=3 ve D=4 yapılır.
Ancak A=1 değil ise C ve D ye hiç dokunulmaz. BU nedenle C ve D eşitliklerini alt satıra yazmak daima en emniyetli olanıdır.

Ete

est32

tabii ki hocam ben sadece yan yana yazılabildiğine dair aklıma başka örnek gelmediğinden yazmıştım bunu,maksat sadece bu şekilde de yazılabildiğini göstermekti.
Madem ben de kendi saatimden bir örnek vereyim,burada harici 1hz osilatör ile kesme ve zaman hesaplaması yapılıyor(tabii arada alarm ve erteleme ile ilgili kısımlar da var).Şartlar yani IF 'ler aynı satıra yazıldığından kodlar daha kısa gibi görünüyor ve benim programlama mantığıma daha uygun olduğu için daha kolay anlamamı sağlıyor.Alarm ve erteleme konusunda arkadaşlara da fikir verebilir belki

DISABLE
KESME:         
          SN=SN+1
          toggle LED'SANİYEYİ 1 ARTIR,LAMBAYI YAK SÖNDÜR
          IF ALR=1 THEN HIGH LED'ALARM AYARLANIRKEN LEDİ SÖNDÜR
          IF mesgul=1 THEN HIGH LED'DERECE GÖSTERİRKEN LEDİ SÖNDÜR
          IF SN>59 THEN SN=0 : DK=DK+1 
          IF DK>59 THEN SA=SA+1 : DK=0
          IF SA>23 THEN SA=0 
         
          IF ALR=0 THEN READ 0,E_H : READ 1,ALR_SA : READ 2,ALR_DK
          IF ALARM_ERTELE>0 THEN ALARM_CAL=ALARM_CAL+1
          IF BUZZER=1 THEN ALARM_SUS=ALARM_SUS+1
          IF ALARM_SUS>600 THEN BUZZER=0 : ALARM_SUS=0'10DK ALARM ÇAL,SONRA SUS
          IF ALARM_CAL=ALARM_ERTELE THEN HIGH BUZZER : ALARM_ERTELE=0 : ALARM_CAL=65535
          ANA_EKRAN=ANA_EKRAN+1
          SAAT_SURESI=SAAT_SURESI+1
          DERECE_SURESI=DERECE_SURESI+1
          INTCON.1=0'KESME BAYRAĞINI SIFIRLA
          RESUME'GELDİĞİN YERE DÖN
          ENABLE'KESMELER YENİDEN AKTİF

zoptrik

#18
Alıntı yapılan: ete - 04 Aralık 2011, 19:38:02
If komutu içerisinde şart doğru ise ve buna karşılık birden fazla komut vereceksiniz komutları verip endif ile if komut çevrimini sonlandırmanız gerekir.
Örnek;
IF A=1 THEN
   PortB.0=1
   C=1
ENDIF

Ama if komutunda şert doğru ise buna karşılık tek komut verecekseniz endif'e gerek yoktur.
Örnek;
IF A=1 THEN C=1

Anlayacağın konunun Gosub ile alakası yok. Tek komut Gosub olduğu için o şekilde yazdım.

Ete
Ayrıntılı cevaplar için teşekkür ederim.
iyi forumlar...
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

outlaw57

Multi-metrenin problarını içindeki pilin kutuplarına dokundurduğumda ölçüm yapmıyor neden? Yani multi-metreyi çalıştıran pilin voltajını ölçemiyorum. Nedenini bilen var mı?

gogoce

Ben olsam söyle yapardım,

öncelikle devre beslemesi için + - gerekeceğinden ters polarite koruması olarak bu 2 probu köprü diyota bağlar diyotun çıkışlarını da 7805 ile regüle eder pici beslerdim .

analog ölçüm için bir prob çıkarır bu proba 3 k ile 1 k direnci seri bağlar tam ortalarından analog pine girerdim . 1 k nın diğer ucu gnd yaparım . toplam 16v akü gerilimi olsa bile 1k lık direnç üzerinde 4v oluşacağından pice daha fazla gerilim gelip analog portun yanmasını önlemiş olurdum . 3 prob olabilir fakat problar yanlış takılmaya karşı korumalı bir devreye ait olacaklardır . Şöyleki + ve - problar yanlış ta takılsa pic polariteden etkilenmeyerek doğru çalışacak , test probu - kutuba takılırsa devre ölçüm yapamayacak ki bu da devre çalıştığı için akünün boş olma ihtimalini uyandırmayıp sadece probun yanlış takıldığını işaret edecektir .

besleme problarını aynı renk (kutup farketmeyeceği için ) test probunu da pozitif gerilim ölçeceğim için kırmızı yapardım

devreyi yapmadım denemedim sadece şu anda fikirlerimi söyledim , her yazılana saygım vardır sadece fikrimi söyledim ben olsam böyle yapardım .


saygılar
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

sinancnc

Alıntı yapılan: gogoce - 06 Şubat 2013, 15:30:59
Ben olsam söyle yapardım,

öncelikle devre beslemesi için + - gerekeceğinden ters polarite koruması olarak bu 2 probu köprü diyota bağlar diyotun çıkışlarını da 7805 ile regüle eder pici beslerdim .

Ben sadece + kutpunu 1n4001 ile bağlıyorum ters bile bağlansa birinden voltaj gitmeyeceği için sıkıntı olmaz diye düşünüyorum doğrumudur yoksa iki kutbuda korumaya almak gerekirmi
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

gogoce

Alıntı yapılan: sinancnc - 06 Şubat 2013, 18:46:44
Ben sadece + kutpunu 1n4001 ile bağlıyorum ters bile bağlansa birinden voltaj gitmeyeceği için sıkıntı olmaz diye düşünüyorum doğrumudur yoksa iki kutbuda korumaya almak gerekirmi

düşük ihtimal olarak diyotun delinmesi oluşabilir diye düşünmüştüm . Ama seninki de olmayacak bir çözüm değil kardeş .

saygılar
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

Powered by EzPortal