با سلام
لطفا از دوستان کسی این برنامه رو برام کامپایل کنه و فایل هگزشو بزاره
دانلود فایل

لطفا از دوستان کسی این برنامه رو برام کامپایل کنه و فایل هگزشو بزاره
کد:
@ DEVICE pic16F648A 'ilemci 16F648A @ DEVICE pic16F648A, PROTECT_OFF 'Kod Protek kapal @ DEVICE pic16F648A, CPD_ON @ DEVICE pic16F648A, WDT_OFF 'Watch Dog timer kapal @ DEVICE pic16F648A, INTRC_OSC_NOCLKOUT 'Dahili osilatِr kullanlacak @ DEVICE pic16F648A, MCLR_off 'MCLR pini kullanlmyor. @ DEVICE pic16F648A, LVP_OFF @ DEVICE pic16F648A, BOD_OFF @ DEVICE pic16F648A, PWRT_ON 'Power on timer a�k '------------------------------------------------------------------------- DEFINE OSC 4 OPTION_REG=%10000101 'Pull up diren�leri فPTAL- Bِlme oran 1/64. CMCON=7 PORTA=0 PORTB=0 TRISB=0 TRISA=%11110001 '---------------------------------------------------------------------------- HAM VAR WORD 56 ' Sensِr HAM okuma deًeri ISI VAR BYTE 58 ' Hesaplanm ISI deًeri Float VAR WORD 59 ' Holds remainder for + temp C display X VAR BYTE 61 Y VAR BYTE 62 SAYI VAR BYTE 63 SAYAC VAR BYTE 64 ESKI VAR BYTE 'ِnceki s deًeri temp var byte SIGN VAR BYTE ' ISI deًeri i�in +/- iaret SN VAR BYTE DAK VAR BYTE SAAT VAR BYTE GUN VAR BYTE AY VAR BYTE YIL VAR BYTE MEM var byte EKRAN_ZAM var byte SUM VAR BYTE EKRAN_ISI VAR BYTE ONLAR VAR BYTE BIRLER VAR BYTE ESN VAR BYTE ANIM var byte 70 I var word Busy VAR BIT ' Busy Status-Bit POZ VAR BIT Z VAR BIT W VAR BIT U VAR BIT T VAR BIT YENI VAR BIT SIGN_BITI VAR HAM.Bit11 ' +/- scaklk فaret biti, 1 = olursa eksi scaklk NEGAT_ISI CON 1 ' Negatif_Cold = 1 Deg CON 223 ' � iareti ADAK VAR BYTE ASAAT VAR BYTE S var word FA VAR BYTE FAH VAR BYTE K VAR BYTE M VAR BYTE '--------------------------------------------- SYMBOL RTC_DTA=PORTA.0 SYMBOL RTC_CLK=PORTA.1 SYMBOL RTC_RST=PORTA.2 symbol TUS_ANIM=PORTA.4 symbol SEC =PORTA.5 SYMBOL ASAGI =PORTA.6 SYMBOL YUKARI=PORTA.7 SYMBOL DTA=PortB.0 SYMBOL CLK=PORTB.1 symbol ST =PORTB.2 SYMBOL BUZZER = PORTB.3 symbol Comm_Pin=PORTB.4 ' One-wire Data-Pin "DQ" PortB.0 da SYMBOL ALARM=PORTB.5 SYMBOL SHCP =PORTB.5 symbol DS =PORTB.6 SYMBOL MR =PORTB.7 '''''''''''''''''''''''''''''''NOTALAR''''''''''''''''''''''''''''' P con 0 P1 con 0 P2 con 0 P3 con 0 C0 con 60 'DO CX0 con 61 D0 con 62 'RE DX0 con 63 E0 con 64 'MI F0 con 65 'FA FX0 con 66 G0 con 67 'SOL GX0 con 68 'SOL C1 con 82 'DO. CX1 con 85 D1 con 87 'RE DX1 con 89 E1 con 92 'MI F1 con 94 'FA FX1 con 95 G1 con 97 'SOL GX1 con 99 'SOL A1 con 101 'LA AX1 con 102 'ladiyezsibemol B1 con 104 'si BX1 con 105 h1 con 104 C2 con 105 CX2 con 106 D2 con 108 DX2 con 109 E2 con 110 F2 con 111 FX2 con 112 G2 con 113 GX2 con 114 A2 con 115 AX2 con 116 B2 con 117 BX2 con 118 h2 con 117 '----------------------------------------------------------------------------- PAUSE 500 CLEAR 't�m deًikenler sfrland SN=0 READ 01,ALARM READ 02,ASAAT READ 03,ADAK READ 10,EKRAN_ZAM IF EKRAN_ZAM=255 then ekran_ZAM=25 'saat EKRANDA KALMA SـRESف READ 11,EKRAN_ISI IF EKRAN_ISI=255 then EKRAN_ISI=5 'scaklk EKRANDA KALMA SـRESف READ 12,ANIM IF sec=0 then ZAM_AYAR 'MOD tuuna baslrsa,saati ayarla '----------------------------------------------------------------------------- ILK: SUM=EKRAN_ZAM+EKRAN_ISI gosub sensoryaz gosub sensoroku low RTC_RST low RTC_CLK GOSUB GECIKME GOSUB ANIM_BIR ANIM=0 ON INTERRUPT GoTo KESME 'kesme oluursa KESME adl etikete git. INTCON=%10100000 'Kesmeler aktif ve TMR0 kesmesi aktif TMR0=0 HIGH PORTA.3 gosub ZAMAN_OKU:esn=SN '''''''''''''''''''''''''''''''ANA PROGRAM''''''''''''''''''''''''''''' BASLA: GOSUB ZAMAN_OKU IF SAYAC=35 THEN LOW PORTA.3 IF Y=SUM THEN Y=0 INTCON=%10100000 ENDIF IF Y>(EKRAN_ZAM) THEN if y=(EKRAN_ZAM+1) then INTCON=0 LOW PORTA.3 ' displey orta ledleri sِnd� GOSUB SENSOROKU endif GOSUB EKRAN1 ' derece ekranda ENDIF if esn=sn then atla Y=Y+1:ESN=SN:SAYAC=0 GOSUB ANIMAS IF Y<=EKRAN_ZAM THEN HIGH PORTA.3 ' displey orta ledleri yand GOSUB EKRAN0 ' saat ekranda ENDIF IF SAAT>7 AND SAAT<21 THEN ' Saat 08-21 aras,Saat balarnda uyar sesi i�in IF DAK=0 AND SN=0 THEN GOSUB SES1:gosub ses1 ' Saat balarnda �alan uyar sesi ENDIF ENDIF IF SAAT>7 AND SAAT<23 THEN ' Saat 08-23 aras,animasyon deًiimi i�in IF DAK=>0 AND SN=59 THEN ' 1 dak.bir,animasyon deًiimi i�in GOSUB EKRAN4:GOSUB GECIKME:GOSUB GECIKME:GOSUB EKRAN4:GOSUB GECIKME:GOSUB EKRAN4 'displey animas.Dikdِretgen ANIM=ANIM+1:YENI=1 IF ANIM=9 THEN ANIM=0 ENDIF ENDIF IF SAAT=23 OR SAAT<8 AND DAK=>0 AND SN=0 THEN ' Saat 23-08 aras ,tek led yanan ANفM.1 devrede ANIM=1:YENI=1 ENDIF IF ALARM=1 THEN IF SAAT=ASAAT AND DAK=ADAK AND SN=0 THEN GOTO ALM ENDIF ENDIF IF YUKARI=0 THEN ' Alarm AاIK/KAPALI toggle ALARM WRITE 01,ALARM WHILE YUKARI=0:WEND ENDIF '----------------------------------------------------------------------------- ATLA: if SEC=0 THEN AYAR 'MOD TUقUNA BASILMIق فSE AYAR'A GفT if ASAGI=0 THEN AYAR1 'ASAGI TUقUNA BASILMIق فSE AYAR1'e GفT,ALARMI AYARLA IF TUS_ANIM=0 THEN 'Kumanda veya Buton ile,animasyon deًiimi i�in ANIM=ANIM+1:YENI=1 IF ANIM=9 THEN ANIM=0 WHILE TUS_ANIM=0:WEND ENDIF GOTO BASLA '''''''''''''''''''''''''''''''ALARM VE ZفL AYARLARI''''''''''''''''''''''''''''' ALM: GOSUB ZAMAN_OKU gosub EKRAN2 GOSUB ZIL gosub delay GOTO BASLA ZIL: FOR I=1 TO 3 ' Alarm s�resi GOSUB SES4 ' Melodi - Ada sahillerinde GOSUB SES5 ' Melodi - Aًlama deymez hayat NEXT I RETURN '''''''''''''''''''''''''''''''ANفMASYONLAR''''''''''''''''''''''''''''' ANIMAS: SELECT CASE ANIM CASE 0,1 IF YENI=1 THEN GOSUB ANIM_BIR IF SN=0 then MR=0:PULSOUT SHCP,5 ' ANفM.1 Ledler birer eklenerek yanyor IF ANIM=0 then MR=1:PULSOUT SHCP,5 ELSE DS=1:MR=1:PULSOUT SHCP,5:ds=0 ' ANفM.2 Ledler tektek yanyor ENDIF ENDIF PULSOUT SHCP,5 M=0 ' CASE 2 deki, M deًerini sfrlamak i�in '********* CASE 2 ' Yanan 60 led,eklenerek sِn�yor.FLASH sz.(IF kullanmazsak,yani arta baًlamazsak,sِn�k ledler flash yapyor) IF m=0 OR SN=0 THEN YAK ' قayet M =0 veya SN=0 ise yani 60 Led de yanmyor veya SN=0 ise YAK etiketine git.60 ledi ayn anda YAK.(SN=0 dan sonra,YAK etiketine prog.gitmiyor) MR=1:DS=0 ' SN de bir, 60 ledin 1.sini SضNDـR. ............SN de bir, 60 ledin 60.sn SضNDـR. PULSOUT SHCP,1 '********* CASE 3 ' Ledler ِnce 1 sِn�k-1 yank,sonra 2 sِn�k,1 yank.......... aralkl hzl dِn�p,duruyor.Orta ledler flash yapyor. IF SN=0 then MR=0:PULSOUT SHCP,1 IF DAK=>0 AND SN=0 THEN FA=FA+1 if FA=12 then FA=1 DS=1 for MEM=1 to FA PULSOUT SHCP,1 DS=0 for ham=0 to 950:next 'Hz ayar next PULSOUT SHCP,1 MR=1 '********* CASE 4 'Ledler ِnce, 5 yank-5 sِn�k.Sonra 10 yank.10 sِn�k...... ...... IF SN=0 then MR=0:PULSOUT SHCP,1 IF DAK=>0 AND SN=0 THEN FAH=FAH+5 if FAH=65 then FAH=5 DS=1 for MEM=1 to FAH PULSOUT SHCP,1 for ham=0 to 170:next '170 b�y�rse,hareket yavalyor next for MEM=1 to FAH DS=0 PULSOUT SHCP,1 for ham=0 to 170:next '170 b�y�rse,hareket yavalyor next MR=1 '********* CASE 5 ' Her SN, 1.LED ten balayarak,kuyruklu FLASH yaparak,son tarafta yanmayan lede doًru,�akyor. 60.led yanyor,59.led eklenerek yanyor.... GOSUB GOR for K=SN to 59 DS=0 PULSOUT SHCP,1 PAUSE 10 NEXT '********* CASE 6 ' 60 led yanyor.Her SN,1. LED ten balayarak,kuyruklu FLASH yaparak, 1.led sِn�yor, 2.led eklenerek sِn�yor...... GOSUB GOR DS=0 for K=0 to SN PULSOUT SHCP,1 PAUSE 10 NEXT '********* CASE 7 ' SN �ift rakam ise 60 led(30+30),eklenerek yanyor.SN tek rakam ise 60 led(30+30),eklenerek sِn�yor IF SN//2=0 THEN MR=1:DS=1' SN �ift rakam ise IF SN//2=1 THEN MR=1:DS=0' SN tek rakam ise ' فlk, 30 led yanacak for K=0 to 30 ' 30 led,eklenerek yanyor. PULSOUT SHCP,5 PAUSE 5 ' 30 ledin ardarda yanma s�resi next ' Devamnda,ikinci 30 led yanacak for K=0 to 30 '30 led,eklenerek yanyor.(�stteki kodlarda TO 30 yerine,TO 60 yazlsa idi,alttaki kodlar yazlmayacakt,ama ortadaki SN ledleri flash yapmyordu) PULSOUT SHCP,5 PAUSE 5 ' 30 ledin ardarda yanma s�resi next '********* CASE 8 ' SN ler �ift ise,فlk 30 ledi,SN ler tek ise,son 30 ledi ayn anda yak IF SN//2=0 THEN GOSUB YAK1 ' SN ler �ift ise,فlk 30 ledi ayn anda yak IF SN//2=1 THEN GOSUB YAK1 ' SN ler tek ise,فlk 30 ledi ayn anda yak,ardndan IF SN//2=1 THEN GOSUB YAK2 ' yanan ilk 30 ledi 30 kere kaydr.Yani son 30 ledi yak. '********* CASE 7 ' 60 Adet led,SN de bir,flash yapyor. GOSUB GOR for K=0 to 60 DS=0 PULSOUT SHCP,50 NEXT '********* CASE 2 ' 60 led,eklenerek yanyor. GOSUB ZAMAN_OKU ' Ka�nc SN de ise okadar led yakmak i�in. MR=1:DS=1 PULSOUT SHCP,1 '********* CASE 4 ' ledler,tek tek yanyor. IF SN=0 THEN MR=0:PULSOUT SHCP,1 ' SN=0 iken,b�t�n ledler sِnd�r�ld� GOSUB ZAMAN_OKU ' Ka�nc SN de ise okadar led yakmak i�in. MR=1:DS=1 ' SN=0 iken,ledlerin yanmas i�in, PULSOUT SHCP,1 ' bir clock pals verildi ENDIF ' IF komutu sonu DS=0 ' tek led yanmas i�in PULSOUT SHCP,1 ' bir clock pals verildi '********* END SELECT WRITE 12,ANIM RETURN '-------------------------------------- ANIM_BIR: MR=0:PULSOUT SHCP,5 ' Yanan ledlerin hepsini sِnd�r DS=1:MR=1 PULSOUT SHCP,5 DS=1 IF ANIM=1 THEN DS=0 ' Yeni animasyona ge�ince,DS=0 yap,ZAMAN_OKU GOSUB ZAMAN_OKU ' FOR MEM=1 to SN ' SN debir,batan itibaren ledleri srasyla yakarak ilerle PULSOUT SHCP,5 NEXT YENI=0 RETURN '-------------------------------------- YAK: MR=1:DS=1 for M=0 to 60 ' M=0 Yani 60 led de sِn�k ise veya SN=0 ise,60 led i ayn anda yak PULSOUT SHCP,1 NEXT MEM=SN:DS=0 ' SN=0 haricinde kumanda ile animasyon deًitirilirse,yanan 60 led den ,ge�en SN kadar led sِnd�rmek i�in. for M=0 to MEM PULSOUT SHCP,1 NEXT RETURN '-------------------------------------- YAK1: MR=1:DS=1 for K=0 to 30 ' فlk 30 ledi ayn anda yak PULSOUT SHCP,1 NEXT RETURN '-------------------------------------- YAK2: MR=1:DS=0 for K=0 to 30 ' Yanan ilk 30 ledi ayn anda sِnd�r PULSOUT SHCP,1 NEXT RETURN '-------------------------------------- GOR: MR=1:DS=1 for K=0 to 60 ' 60 ledi ayn anda yak PULSOUT SHCP,1 NEXT RETURN '-------------------------------------- AKTAR: SHIFTOUT DTA,CLK,1,[SAYI] RETURN '-------------------------------------- BAK_0: GOSUB AL IF Z=1 AND W=1 THEN SAYI=0 RETURN '-------------------------------------- BAK_1: GOSUB AL IF Z=1 AND U=1 THEN SAYI=0 RETURN '-------------------------------------- BAK_2: GOSUB AL IF Z=1 AND T=1 THEN SAYI=0 RETURN '''''''''''''''''''''''''''''''EKRAN AYARLARI''''''''''''''''''''''''''''' EKRAN0: X= DAK DIG 0:GOSUB BAK_1:GOSUB AKTAR X= DAK DIG 1:GOSUB BAK_1:GOSUB AKTAR u=0 X= SAAT DIG 0:GOSUB BAK_0:GOSUB AKTAR X= SAAT DIG 1:GOSUB BAK_0:GOSUB AKTAR w=0 PULSOUT st,5 RETURN '-------------------------------------- AL: LOOKUP X,[63,6,91,79,102,109,125,7,127,111,99,57,64],SAYI :RETURN '-------------------------------------- EKRAN1: 'EKRAN1 ve GIT:satrlarn aktif edersek,derece 21.0^ 21.1^ gibi 0.1 fark ile gِsteriyor(derecede nokta yanyor) X=10:GOSUB AL:GOSUB AKTAR if ESKI<>ISI THEN RETURN if SIGN="-" then IF ISI<10 then LOW PORTB.3 x=(float DIG 0):GOSUB AL:GOSUB AKTAR X=fLOAT DIG 1:GOSUB al:SAYI=SAYI+128:GOSUB AKTAR SAYI=64:GOSUB AKTAR GOTO GIT ELSE HIGH PORTB.3 ENDIF ENDIF x=(float DIG 0):GOSUB AL:GOSUB AKTAR x=(FLOAT DIG 1):GOSUB AL:SAYI=SAYI+128 GOSUB AKTAR x=fLOAT DIG 2:GOSUB AL IF ISI<10 THEN SAYI=0 GOSUB AKTAR '-------------------------------------- GIT: HIGH st:PAUSEUS 2:LOW st RETURN '-------------------------------------- EKRAN1: ' EKRAN1: satrn aktif edersek,derece 21^C 22^C gibi,1 derece fark ile gِsteriyor LOW PORTA.3 X=11:GOSUB AL:GOSUB AKTAR X=10:GOSUB AL:GOSUB AKTAR x=(ISI DIG 0):GOSUB AL:GOSUB AKTAR x=(ISI DIG 1):GOSUB AL:GOSUB AKTAR HIGH st:PAUSEUS 2:LOW st PULSOUT st,5 RETURN '-------------------------------------- EKRAN2: X= ADAK DIG 0:GOSUB BAK_1:GOSUB AKTAR X= ADAK DIG 1:GOSUB BAK_1:GOSUB AKTAR u=0 X= ASAAT DIG 0:GOSUB BAK_0:GOSUB AKTAR X= ASAAT DIG 1:GOSUB BAK_0:GOSUB AKTAR w=0 PULSOUT st,5 RETURN '-------------------------------------- EKRAN_3: X= SN DIG 0:GOSUB BAK_1:GOSUB AKTAR X= SN DIG 1:GOSUB BAK_1:GOSUB AKTAR u=0 SAYI=0 :GOSUB AKTAR SAYI=SUM:GOSUB AKTAR w=0 PULSOUT st,5 RETURN '-------------------------------------- EKRAN4: ' saat 8-21 aras saat balarnda displey anim.Dikdِrtgen LOW PORTA.3 SAYI=15:GOSUB AKTAR SAYI=9 :GOSUB AKTAR SAYI=9 :GOSUB AKTAR SAYI=57:GOSUB AKTAR GOTO GIT '-------------------------------------- EKRAN5: LOW PORTA.3 SAYI=120:GOSUB AKTAR ' T Displey anim.SAAt SAYI=119 :GOSUB AKTAR ' A SAYI=119 :GOSUB AKTAR ' A SAYI=109:GOSUB AKTAR ' S GOTO GIT '''''''''''''''''''''''''''''''ZAMAN AYARLARI''''''''''''''''''''''''''''' ZAM_AYAR: LOW PORTA.3:SN=0:POZ=1:SUM=6 SN=EKRAN_ZAM:GOSUB EKRAN_3 WHILE SEC=0:WEND '''''''''''''''''''''''''''''''SAAT AYARI''''''''''''''''''''''''''''' AYAR: LOW PORTA.3:SN=0:POZ=1 gosub ekran0 WHILE SEC=0:WEND HOUR: W=1 LOW PORTA.3 IF SEC=0 THEN MINBIR IF YUKARI=0 THEN IF Z=0 THEN SAAT=SAAT+1 IF SAAT=24 THEN SAAT=0 ENDIF IF ASAGI=0 THEN IF Z=0 THEN SAAT=SAAT-1 IF SAAT=255 THEN SAAT=23 ENDIF Z=1-Z GOSUB EKRAN0 GOSUB GECIKME GOTO HOUR MINBIR: W=0:Z=0 GOSUB EKRAN0 WHILE SEC=0:WEND MINUTE: U=1 LOW PORTA.3 IF SEC=0 THEN ara IF YUKARI=0 THEN IF Z=0 THEN DAK=DAK+1 IF DAK=60 THEN DAK=0 ENDIF IF ASAGI=0 THEN IF Z=0 THEN DAK=DAK-1 IF DAK=255 THEN DAK=59 ENDIF Z=Z-1 GOSUB EKRAN0 GOSUB GECIKME GOTO MINUTE SECBIR: WHILE SEC=0:WEND U=0 GECIKME: FOR I=0 TO 3000 PAUSEUS 5 NEXT RETURN DELAY: FOR X=0 TO 1900 PAUSEUS 10 NEXT RETURN ARA: W=0:u=0:T=0:Z=0 GOSUB FLASH Gosub EKRAN0 HIGH PORTA.3 WHILE SEC=0:wend MEM=SN:GOSUB TERSCEVIR:SN=SAYI MEM=DAK:GOSUB TERSCEVIR:DAK=SAYI MEM=SAAT:GOSUB TERSCEVIR:SAAT=SAYI MEM=GUN:GOSUB TERSCEVIR:GUN=SAYI MEM=AY:GOSUB TERSCEVIR:AY=SAYI MEM=YIL:GOSUB TERSCEVIR:YIL=SAYI GOSUB ZAMAN_YAZ GOSUB ZAMAN_OKU y=0:POZ=0 goto BASLA FLASH: TOGGLE PORTA.3:GOSUB DELAY:TOGGLE PORTA.3:GOSUB DELAY return '''''''''''''''''''''''''''''''ALARM SAATI AYARI''''''''''''''''''''''''''''' AYAR1: LOW PORTA.3:SN=0:POZ=1 gosub ekran2 WHILE ASAGI=0:WEND HOUR1: W=1 LOW PORTA.3 IF SEC=0 THEN MINBIR1 IF YUKARI=0 THEN IF Z=0 THEN ASAAT=ASAAT+1 IF ASAAT=24 THEN ASAAT=0 ENDIF IF ASAGI=0 THEN IF Z=0 THEN aSAAT=aSAAT-1 IF aSAAT=255 THEN aSAAT=23 ENDIF Z=1-Z GOSUB EKRAN2 GOSUB GECIKME WRITE 02,ASAAT GOTO HOUR1 MINBIR1: W=0:Z=0 GOSUB EKRAN2 WHILE SEC=0:WEND MINUTE1: U=1 LOW PORTA.3 IF SEC=0 THEN ara1 IF YUKARI=0 THEN IF Z=0 THEN ADAK=ADAK+1 IF ADAK=60 THEN ADAK=0 ENDIF IF ASAGI=0 THEN IF Z=0 THEN ADAK=ADAK-1 IF ADAK=255 THEN ADAK=59 ENDIF Z=Z-1 GOSUB EKRAN2 GOSUB GECIKME WRITE 03,ADAK GOTO MINUTE1 ARA1: W=0:u=0:T=0:Z=0 GOSUB FLASH Gosub EKRAN2 HIGH PORTA.3 WHILE SEC=0:wend y=0:POZ=0 goto BASLA '------------------------------- ISI SENSضR OKUMA BضLـMـ -------------------------------- SENSOROKU: OWOUT Comm_Pin, 1, [$CC, $44]' ISI deًerini �evir Bekle: OWIN Comm_Pin, 4, [Busy] ' Busy deًerini oku IF Busy = 0 THEN Bekle ' hala megulm�? , evet ise goto Bekle..! OWOUT Comm_Pin, 1, [$CC, $BE]' scratchpad memory oku OWIN Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte]' فki byte oku ve okumay bitir. GOSUB Hesapla RETURN SENSORYAZ: OWOUT Comm_Pin, 1, [$CC, $4E, $FF,$FF,%00011111] 'Bu satr aktif olursa derece 0.0 0.5 k�s�rat gِsterir OWOUT Comm_Pin, 1, [$CC, $4E, $FF,$FF,%00111111] 'Bu satr aktif olursa derece 0.0 0.2 0.5 0.7 k�s�rat gِsterir OWOUT Comm_Pin, 1, [$CC, $4E, $FF,$FF,%01111111] 'Bu satr aktif olursa derece 0.0 0.1 0.2 0.3 .......k�s�rat gِsterir '%01111111 aktif edilirse,derece ekranda iken,animasyon hz deًiiyor OWOUT Comm_Pin, 1, [$48,$B8,$BE] OWIn Comm_Pin, 0, [HAM.Lowbyte, HAM.Highbyte] return Hesapla: ' Ham deًerden Santigrat derece hesab Sign = "+" IF SIGN_BITI = NEGAT_ISI THEN Sign = "-" ham=~ham+2 endif HAM=HAM-(16*1) '1 derece fazla gِsteriyorsa,bu satr aktif edilecek float = (HAM*10)/16 eski=ISI ISI=FLOAT/10 ISI=ISI-1/2 ' veya,bu satr aktif edilirse,scaklk 1/2 derece azalr RETURN '''''''''''''''''''''''''''''''DS1302 OKUMA BضLـMـ''''''''''''''''''''''''''''' ZAMAN_OKU: high RTC_RST:OUTPUT rtc_dta shiftout RTC_DTA, RTC_CLK, 0, [$BF]:INPUT RTC_DTA SHIFTIN RTC_DTA, RTC_CLK, 1, [SN, DAK, SAAT,GUN , AY, MEM, YIL, MEM] 'OKU MEM=SN:GOSUB CEVIR:SN=SAYI MEM=DAK:GOSUB CEVIR:DAK=SAYI MEM=SAAT:GOSUB CEVIR:SAAT=SAYI MEM=GUN:GOSUB CEVIR:GUN=SAYI MEM=AY:GOSUB CEVIR:AY=SAYI MEM=YIL:GOSUB CEVIR:YIL=SAYI low RTC_RST return ZAMAN_YAZ: high RTC_RST:OUTPUT RTC_DTA SHIFTOUT RTC_DTA, RTC_CLK, 0, [$8E, 0] 'WRT Protek a�ld low RTC_RST:PAUSEUS 10 high RTC_RST SHIFTOUT RTC_DTA, RTC_CLK, 0, [$BE, SN, DAK, SAAT,GUN , AY, 0, YIL, 128] 'YAZ low RTC_RST PAUSEUS 10 return CEVIR: ONLAR=MEM & %01110000 ONLAR=ONLAR>>4 BIRLER=MEM & %00001111 SAYI=ONLAR*10+BIRLER RETURN TERSCEVIR: ONLAR=MEM DIG 1 ONLAR=ONLAR<<4 BIRLER=MEM DIG 0 SAYI=ONLAR+BIRLER RETURN DISABLE KESME: IF POZ=1 then CIK SAYAC=SAYAC+1 'kesme sayac 1 sn= 61(sayac) x 256 (Tmr0) x 64 (bِlme) CIK: INTCON.2=0 'TMR0 Kesme bayraً sfrlanyor RESUME ENABLE '''''''''''''''''''''''''''''''BفP VE MELODف''''''''''''''''''''''''''''' SES1: SOUND BUZZER,[112,12]:pause 130:RETURN SES2: SOUND BUZZER,[95,12] :pause 130:RETURN SES4: Sound BUZZER,[c2,17,d2,17,d2,34,d2,34,c2,_ 'Ada sahillerinde 17,d2,9,e2,9,d2,17,c2,17,ax1,17,ax1,9,A1,_ 9,c2,17,c2,9,ax1,9,A1,34,A1,17,ax1,17,c2,_ 17,d2,17,c2,17,ax1,17,A1,17,ax1,17,A1,17,_ ax1,17,A1,17,ax1,17,d2,9,c2,9,ax1,9,A1,9,g1,34] return SES5:Sound BUZZER,[c2,32,h1,16,A1,16,gx1,16,_ 'Aًlama deymez hayat A1,16,gx1,16,A1,16,fx1,16,d1,32,e1,8,fx1,_ 8,g1,32,p1,32,fx1,16,e1,47,d1,32,cx1,16,_ e1,16,d1,24,e1,24,fx1,16,g1,24,A1,24,h1,_ 16,c2,32,h1,16,A1,16,gx1,16,A1,16,gx1,16,_ A1,16,fx1,16,d1,32,e1,8,fx1,8,g1,32,p1,_ 32,fx1,16,e1,47,d1,32,cx1,16,e1,16,d1,32] return END

دیدگاه