Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

12 saat on 12 saaf off

Başlatan kemalguler, 15 Şubat 2007, 14:14:58

kemalguler

arkaşlar ,yapmaya çalıştım ama olmadı,12 saat boyunca on, 12 saat boyunca off (12saatlik flaşör)çalışan devre için pbp yazılımı için yardım.

XX_CİHAN_XX

çok basit bir olay sana mantıgını soyleyım cunku pbp den pek anlamıyorum.
Yapıcagın işlem 12 saat lik zaman gecıkmesı yapmak cok hasas degılse ve yapıcagın tek iş basit bi flaşor ise bu gecıkmeyı dongulerle yapabılırsın.
her zaman gecıkmesının bıtımınde cıkısı "1"ile xor larsan cıkısın sureklı konum degıstırır.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

sezgin05

Saat bilgisini pice mi ürettirdiniz.Yoksa RTC mi kullandınız.Eğer çok hassas bir zamanlama olacaksa mutlaka RTC kullanılmalı (DS1302-7veya PCF8583 gibi uygulamalarım oldu.)Ama çok hassas değilse pice saydırılabilir.Ayrıca ekran kullanacakmısınız. Yaptıklarınınzı burada görürsek değişik fikirler üretilir mutlaka.

XX_CİHAN_XX

Basic ten cok anlamam ama ornek kod olması acısından bişiler karalayım
Asagıdakı kodlarla 12 saatte bır portb,0 ın konumu degısır.
Sanırım boyle birşey istiyorsun;
low portb,0
dongu:
for a=1 to 720    '12 saatlık zaman gecıkmesı ( 720 x 1 dakıka = 12saat)
pause 60000       ' 1 dakıkalık zaman gecıkmesı
next a
#asm
movlw 0x01
xorwf  portb,0    ;portb,0 ın konumunu degıstır
#endasm
goto dongu

basic te xor işlemı nasıl yapılıyor bılmıyorum o yuzden asm ye gecıp yaptım :)
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

POWER

Tam istediğiniz gibi bir proğram ilk 12 boyunca on,diğer 12 saattede off konumunda portb.2    Hemde LCD ekranlı.LCD ekranı takmasanda olur.
http://rapidshare.com/files/16638333/ON-OFF.rar.html
TB6BKG

kemalguler

sevgili power hocam,devreyi kurdum ancak 12 ssat değil 11 saat 30 dkda değişim yapıyor.yarım saatlik bir hata var.nasıl düzeltebilirim

mustafacan

basla:
           LOW PORTX.X
           pause 720000      
           high PORTX.X
           pause 720000
           goto basla
end

gibi bişi işini görmezmi?
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

kemalguler

mustafacan hocam, işimi görür ama 720000 ifadesi picbasicpro kabul etmiyor.hata mesajı veriyor.

POWER

@kemalguler
öncelikle denemenizi isistemi yaptınız, gerçek devremi kurdunuz?
IF  saat<=zaman then
   portb.2=1
   else
   portb.2=0
   endif
zaman karşılaştırması bu satırlarla yapılıyor.Dolayısıyle senin dediğin gibi 11:30 da degişmesi imkansız gibi.Tekrar kontrol et istersen.
TB6BKG

kemalguler

denemeyi lcd kullanmadan gerçek devre olarak kurdum.portb.2den çıkış aldım.xtal kullanmadım.ıcprogta hex dosyasını açtım.konfigurasyonda herhangi bir değişiklik yapmadan 628 e gönderdim.sonuç dediğim gibi.

POWER

@kemalguler
Devreyi ben kurmadım isiste problem yok.Devreyi kurup deneyeceğim.Tam 11.30 damı konum değiştiriyor?
TB6BKG

kayatech

Buyur kardeşim. İşini görecek program.Kolay gelsin.



'Progam by: Kayatech
'12 saat içinde porta.1 portu açık :12 saat sonra kapalı programı.
'Osc 4 mhz
'PIC 16f628


cmcon=7
TRISA.1=0     'ÇIKIŞ  PORTU A.1
Low PORTA.1
'KA
DAKIKA VAR WORD
DAKIKA=0
BEKLE VAR BYTE
BEKLE=0
DEGER VAR BYTE
DEGER=0
'YA
option_reg =$55
INTCON =$A0


ON INTERRUPT GoTo SURE


BASLA:

'TE
IF DAKIKA < 720 Then High PORTA.1    ' 12 SAATTEN ÖNCE KAPALI
IF DAKIKA >=720 Then Low PORTA.1     ' 12 SAAT SONRA AÇIK
IF DAKIKA = 1440 Then DAKIKA=0        '12 SAAT SONRA KAPALI
GoTo BASLA

Disable ' KESME YORDAMI
SURE:

BEKLE=BEKLE+1
IF BEKLE<61 Then GoTo SON         '61X16.38ms = YAKLAŞIK 1 SN
BEKLE=0
DEGER=DEGER+1
'ch
IF DEGER >= 60 Then
DEGER=0
DAKIKA=DAKIKA+1
EndIF

SON:

INTCON.2=0
Resume

End