![]() |
| | #1 (permalink) | |||||||||||||
| 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...] | |||||||||||||
| | |
| 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 ! |
![]() |
| Bookmarks |
| Şu an bu konuyu görüntüleyen kullanıcı sayısı: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | |
| |