Geri Git   SanalTahrip Bilişim Forumları > Genel > Programlama

Programlama Delphi,Visual Basic,C/C++,Pascal,Python,Kylix,Lazarus,Glade,Perl,Mono vb yazılımlar hakkında döküman paylaşabileceğiniz ve soru sorabileceğiniz forum alanızımıdır.

Tags: , , , ,

Yeni Konu Gönder Yanıtla
 
LinkBack Konu Araçları
Eski 03-12-2009   #1 (permalink)
Üye
Super Moderator
Avatar
 
ReKoBaa_61 kullanıcısının avatarı
Bilgiler
ReKoBaa_61 ReKoBaa_61 Çevrimdışı
Giriş: Jul 2006
Yaş: 23
Mesaj: 4,711
Konuları: 4589
Karizma
İtibar Gücü: 10
Karizma Puanı : 30
Karizma Seviyesi:
ReKoBaa_61 is on a distinguished road
Level
 Seviye: 50  
Ruh Hali:

Level: 50 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Paylaşım: 247 / 1238
Güç: 1570 / 20236
Tecrübe: 55%

Teşekkür Tablosu

Ettiği Teşekkür: 0
92 Mesajına 139 Kere Teşekkür Edlidi
Varsayılan JalTürk ile PIC 16F628 Saat

Bu Alana Reklam Vermek İstiyorsanız Buraya Tıklayınız






JALTURK programının son versiyonunu indirmek için [Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]      [Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...] adresini tıklayınız.



JalTürk Kaynak Kodları




Kod:
INCLUDE 16F628_GENEL
INCLUDE DS1307
INCLUDE itele
INCLUDE ds18b20
;INCLUDE FORMAT
–PIN AYARLARI—————————————
VAR VOLATILE BIT ust IS Pin_A0
VAR VOLATILE BIT mod IS Pin_A2
Port_A_Yon = Hepsi_Giris

VAR VOLATILE BIT ses IS Pin_B6
Port_B_Yon = Hepsi_Cikis
—————————————————–
—————————————————–
—————————————————–
– DEĞİŞKEN TANIMLAMALARI—————————-
VAR BYTE saat_,dakika_,saniye_,gun_,ay_,yil_,haf_gun_
VAR BYTE saat22,saat11,dakika22,dakika11
VAR BYTE saat_kontrol,dakika_kontrol
—————————————————–

—————————————————–
—————————————————–
—————————————————–
CONST BYTE a_ = 0b_1111_1011 ;disp_de a harfi
CONST BYTE y_ = 0b_0111_0111 ;disp_de y harfi
CONST BYTE r_ = 0b_1000_1101 ;disp_de r harfi

—————————————————–
—————————————————–
—————————————————–
PROCEDURE ses_cik ( BYTE IN kere , BYTE IN frekans , BYTE IN ara)IS

WHILE kere>0 LOOP
FOR 100 LOOP
ses=high
Gecikme_10us(frekans)
ses=low
Gecikme_10us(frekans)
END LOOP
kere=kere-1
Gecikme_10ms(ara)
END LOOP

END PROCEDURE

PROCEDURE seg_yaz IS
disari_it(0,0,dakika11)
disari_it(0,0,dakika22)
disari_it(0,0,saat11)
disari_it(0,0,saat22)
END PROCEDURE
—————————————————–
—————————————————–
—————————————————–
PROCEDURE ayir IS
saat11=( saat_ > 4
saat22= saat_ >> 4
dakika11=( dakika_ > 4
dakika22= dakika_ >> 4
—————————————————–
saat11 = Ortak_Katot_Al( saat11, 0 )
saat22 = Ortak_Katot_Al( saat22, 0 )
dakika11 = Ortak_Katot_Al( dakika11, 0 )
dakika22 = Ortak_Katot_Al( dakika22, 0 )
END PROCEDURE

PROCEDURE ayir2(byte IN x1,byte IN x2,byte IN x3 , BYTE IN x4) IS
x3 = Ortak_Katot_Al( x3, 0 )
x4 = Ortak_Katot_Al( x4, 0 )
x1 = Ortak_Katot_Al( x1, 0 )
x2 = Ortak_Katot_Al( x2, 0 )
disari_it(0,0,x3)
disari_it(0,0,x4)
disari_it(0,0,x1)
disari_it(0,0,x2)
END PROCEDURE

—————————————————–
—————————————————–
—————————————————–
PROCEDURE saat_ayar IS –saat ayarlama
VAR BYTE s_a=0,s_u=0,d_a=0,d_u=0
saat_=0
dakika_=0
disari_it(0,1,r_)
disari_it(0,1,a_)
disari_it(0,1,y_)
disari_it(0,1,a_)
Gecikme_1s(2)

ayir
seg_yaz

—————————————————–
WHILE mod LOOP –saat ayarı
—————————————————–
IF !ust THEN
saat_=saat_+1
s_a=s_a+1
IF s_a==10 THEN
s_a=0
s_u=s_u+1
END IF
Gecikme_100ms(3)
IF saat_==24 THEN saat_=0 END IF
IF s_a==4 & s_u==2 THEN
s_a=0
s_u=0
END IF
ayir2(s_a,s_u,d_a,d_u)
END IF
—————————————————–
END LOOP
—————————————————–
Gecikme_100ms(5)
—————————————————–
WHILE mod LOOP –dakika ayarı
—————————————————–
IF !ust THEN
dakika_=dakika_+1
d_a=d_a+1
IF d_a==10 THEN
d_a=0
d_u=d_u+1
END IF
Gecikme_100ms(3)
IF dakika_==60 THEN dakika_=0 END IF
IF d_a==0 & d_u==6 THEN
d_a=0
d_u=0
END IF
ayir2(s_a,s_u,d_a,d_u)
END IF
END LOOP
—————————————————–
DS1307_Yaz(yil_,ay_,gun_,0,saat_,dakika_,0)
ds1307_oku(yil_,ay_,gun_,haf_gun_,saat_,dakika_,sa niye_)
ayir
seg_yaz
Gecikme_100ms(4)
—————————————————–
END PROCEDURE
—————————————————–
—————————————————–
—————————————————–
PROCEDURE ds_yaz IS
CONST BYTE deg_o = 0b_1100_0111 ;disp_de derecenin noktasi
CONST BYTE deg_c = 0b_1001_1101 ;disp_de C harfi
CONST BYTE tire = 0b_0000_0011 ;disp_de - işareti

VAR BYTE derece , derece_a , derece_u
VAR BIT isaret

ds18B20_oku(derece,isaret)
derece = derece - 1
derece_u = derece / 10
IF derece_a!=0 THEN derece_a = ( derece%10 ) + 1 END IF
IF derece_a==0 THEN derece_a =derece%10 END IF

derece_u = Ortak_Katot_Al( derece_u , 0 )
derece_a = Ortak_Katot_Al( derece_a , 0 )

disari_it(0,1,deg_c)
disari_it(0,1,deg_o)

IF !isaret then
disari_it(0,0,derece_a)
disari_it(0,0,derece_u)
ELSE
disari_it(0,0,derece_a)
disari_it(0,1,tire)
END IF

Gecikme_500ms(10)
—————————————————–
FOR 10 LOOP
ds1307_oku(yil_,ay_,gun_,haf_gun_,saat_,dakika_,sa niye_)
END LOOP
ayir
seg_yaz
END PROCEDURE

—————————————————–
—————————————————–
—————————————————–
;DS1307_Yaz(0,0,0,0,0,0,0)
ds1307_oku(yil_,ay_,gun_,haf_gun_,saat_,dakika_,sa niye_)
ayir
seg_yaz
DS1820_COZUNURLUK_DEGISTIR(9) –ds18b20 10 BIT cozunurluk
—————————————————–
PortA = 0xFF
—————————————————–
—————————————————–
—————————————————–
————ANA PROGRAM BLOĞU————————
—————————————————–
FOREVER LOOP
—————————————————–
IF Mod == 0 THEN saat_ayar END IF –Eğer MOD’a basılırsa ayar moduna geç
—————————————————–
–DS1307 oku
ds1307_oku(yil_,ay_,gun_,haf_gun_,saat_,dakika_,sa niye_)

IF saniye_==0×05 THEN ds_yaz END IF –eğer saniye 5 veya 59 ise
IF saniye_==0×35 THEN ds_yaz END IF — Displeylere sıcaklığı yaz
—————————————————–
IF dakika_kontrol!=dakika_ THEN –Dakika artarsa yapılacaklar
ayir –Gelen zaman verilerini alt ve üst iki nibble’a ayırdık
seg_yaz –Ayrılan Saat ve Dakika verilerini Displaylere yazar
END IF
dakika_kontrol = dakika_
—————————————————–
IF saat_kontrol!=saat_ THEN –Saat artarsa yapılacaklar
ses_cik(2,50,10)
END IF

saat_kontrol = saat_
—————————————————–
END LOOP –Ana program bloğu sonu
—————————————————–
—————————————————–
__________________
!!!FORUMDAKİ ONLİNE FİLMLERİ (DivX) NASIL İZLERİM!!![Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]      [Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...] [Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]      [Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]


[Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]      [Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]

ReKoBaa_61 Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Share on Facebook
Alıntı Yaparak Cevapla
Konuyu Beğendin mi ? O Halde Konuyu Arkadaşınız ile Paylaşın =)
Okumuş Olduğunuz Sayfayı E-Mail ile Arkadaşınız ile Paylaşın !
Yanıtla

Bookmarks


Şu an bu konuyu görüntüleyen kullanıcı sayısı: 1 (0 üye ve 1 misafir)
 
Konu Araçları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Saat 05:55 PM.