Saat ile ilgili bir ödev

Başlatan rayman, 02 Nisan 2017, 23:34:30

rayman

Arkadaşlar bir arkadaşımın çocuğu için istenilen bir ödev var. Ve şöyle :
Her saat başı bir element tanıtacak. Sesli anlatım olacak. 24 saat olduğu için 24 farklı element sesi kaydedilecek. Ve araştırma yaptım saat devresi buldum. Ancak geri kalanı Flash disk e kayıt edip saatle haberleştirebilirmiyiz?  Yoksa farklı bir entegre sda entegreleri var ondan mı almak lazım ? Yada Mp3 playere 24 bölüm kouşma kaydetsek tek kontak ile bu iş olur mu ?  https://320volt.com/alarmli-saat-projesi-pic16f628-ds1307-assembly/
İletiyi düzenle

ds01

#1
Alıntı yapılan: rayman - 02 Nisan 2017, 23:34:30
Arkadaşlar bir arkadaşımın çocuğu için istenilen bir ödev var. Ve şöyle :
Her saat başı bir element tanıtacak. Sesli anlatım olacak. 24 saat olduğu için 24 farklı element sesi kaydedilecek. Ve araştırma yaptım saat devresi buldum. Ancak geri kalanı Flash disk e kayıt edip saatle haberleştirebilirmiyiz?  Yoksa farklı bir entegre sda entegreleri var ondan mı almak lazım ? Yada Mp3 playere 24 bölüm kouşma kaydetsek tek kontak ile bu iş olur mu ?  https://320volt.com/alarmli-saat-projesi-pic16f628-ds1307-assembly/
İletiyi düzenle

https://youtu.be/XgKXwTjAgXM
Açıklama bölümünde kaynak kodlarını vermiş
Bir sd kart modülüne wav ses dosyaları kaydedilip  çalınabiliyor. Birde rtc ds1307 modülü gerekli. Saat için 

rayman

#2
Hocam çok teşekkürler. Zira şu olabilir mi ?  Kod ları bilmiyorum ama , örneğin her saat alarm kontağından çıkış alsak , Ardunio vede Sd kart komple sistemin çalışmasına müdehale etsek ve örneğin bir şarkı , parça butona basınca diğer şarkıya geçse mesela bu olur gibi değil mi ? Ve bu linkte 3 tane versiyon var. Ardunio hiç programlamadım yani bilmiyorum açıkcası. Tamamen bana Block diyagramı çizebilirmisin yada nasıl yapacağımı anlatabilirmisin ?

ds01

Alıntı yapılan: rayman - 03 Nisan 2017, 09:12:06
Hocam çok teşekkürler. Zira şu olabilir mi ?  Kod ları bilmiyorum ama , örneğin her saat alarm kontağından çıkış alsak , Ardunio vede Sd kart komple sistemin çalışmasına müdehale etsek ve örneğin bir şarkı , parça butona basınca diğer şarkıya geçse mesela bu olur gibi değil mi ? Ve bu linkte 3 tane versiyon var. Ardunio hiç programlamadım yani bilmiyorum açıkcası. Tamamen bana Block diyagramı çizebilirmisin yada nasıl yapacağımı anlatabilirmisin ?

İstediğin gibi müdahale edebilirsin. Alarm konağının ucunu arduinoya bağlarsın kontak çıkış verdiği zaman da sd  kartı kontrol edebilirsin. Butona basıp diğer parçaya geçebilirsin. SD kartın ve rtc ds1307 kütüphaneleri mevcut arduino için onları kullanırsın . Hangi arduino yu kullandığının pek önemi yok "uno" işini görür.


RaMu


Sadece mp3 çalar kullanarak çözülebilir aslında.

Arkadaşın çocuğu ne bölüm okuyor?
Bu ödevin amacını anlamak adına aklıma takıldı.
Birde zaten elektronik ile ilgili bir bölüm okumuyorsa
böyle bir ödevi yapamaz yada böyle bir ödev verilmemeli.


Bütün element anlatımları tam saat başlarına denk gelecek şekilde,
element anlatımı ve ardına boşluk (sessiz kayıt) ekleyerek,
bir .mp3 veya .wav dosyası oluşturun,
24 saatlik tek bir şarkınız var artık,
bir mp3 çalara yükleyin replay modunda çalsın dursun.


Veya,
her bir element kaydı tam 1 saate denk gelecek şekilde
24 tane parça .mp3 veya .wav dosyası oluşturun,
24 parçayı bir mp3 çalara 1-2-3...24 sıralı isimleri ile yükleyin,
bütün parçaları alfabetik sıralı ve bitince baştan tekrar modunda çalsın dursun,
bu sayede mp3 çaların ileri tuşuna basarak
mp3 çaların çalmaya başlatıldığı saate denk gelen element kaydınada ilerlenebilir,
ekranlı bir mp3 çalar kullanılırsa şu anki saat dakikayada ilerlenebilir vs.


Ses dosyası oluşturmak için
Audacity adlı ücretsiz programı kullanabilirsiniz,
ücretsiz ve gayet profesyoneldir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

kimlenbu

Programlama bilginiz varsa arduino ile bir rtc, bir de mp3 shield kullanarak bir gün içinde projeyi ayağa kaldırabilirsiniz. Ötesi için uğraşmak ödev için çok zahmetli, dönem projesi kadar ağır olur.

Arduino'da bütün kütüphaneler hazır, tak çalıştır desek yeridir.

crazy

#6
Bu sitedeki http://nuneno.cocolog-nifty.com/blog/arm/index.html   Rtc saat örneği STM32F103C8  ile çalışıyor.Serial port yazdırdığı saat dakika saniye bilgisi string deger   int değere  çevirip   swich case bloguna alıp
            switch (saat1)
            {
                case 010000: //saat 01:00 ise
                    {
                        calis();
                    }

                    break;
                case 020000: // saat 02:00 ise
                    {
                        calis();
                    }
                    break;
sd karttaki ses dosyasını  okuyabilirsin. Yada bir timer kurup aynı şekilde yapabilir.Sd kart yerine 24 tane ayrı dizi tanımlayıp içine ses dosyalarını hex çevirip saat başı o dizideki ses dosyasını okunabilir.Basit midi player gibi bir şey :)

rayman

#7
Alıntı yapılan: RaMu - 03 Nisan 2017, 18:52:48
Sadece mp3 çalar kullanarak çözülebilir aslında.

Arkadaşın çocuğu ne bölüm okuyor?
Bu ödevin amacını anlamak adına aklıma takıldı.
Birde zaten elektronik ile ilgili bir bölüm okumuyorsa
böyle bir ödevi yapamaz yada böyle bir ödev verilmemeli.


Bütün element anlatımları tam saat başlarına denk gelecek şekilde,
element anlatımı ve ardına boşluk (sessiz kayıt) ekleyerek,
bir .mp3 veya .wav dosyası oluşturun,
24 saatlik tek bir şarkınız var artık,
bir mp3 çalara yükleyin replay modunda çalsın dursun.


Veya,
her bir element kaydı tam 1 saate denk gelecek şekilde
24 tane parça .mp3 veya .wav dosyası oluşturun,
24 parçayı bir mp3 çalara 1-2-3...24 sıralı isimleri ile yükleyin,
bütün parçaları alfabetik sıralı ve bitince baştan tekrar modunda çalsın dursun,
bu sayede mp3 çaların ileri tuşuna basarak
mp3 çaların çalmaya başlatıldığı saate denk gelen element kaydınada ilerlenebilir,
ekranlı bir mp3 çalar kullanılırsa şu anki saat dakikayada ilerlenebilir vs.


Ses dosyası oluşturmak için
Audacity adlı ücretsiz programı kullanabilirsiniz,
ücretsiz ve gayet profesyoneldir.

Ramu hocam teşekkürler. Aslında dediğin mantıklı bende öyle düşündüm. Ancak Replay modunda mp3 playere bir röle yardımı ile çektirebilirsek süper olur.... Sadece iş Mp3 playerin özelliğine bakıyor. İleri tuşuna basınca diğer şarkıya geçecek böyle birşey işte. Ve son 24 . parça bittikten sonra tekrar başa dönmesi lazım.... Böyle bir özellikte Mp3 player ne kadardır ? Marka model ne olabilir ? Ayrıca saat devresindede her saat başı alarm çalışması lazım....

rayman

#8
;********************************************************************************************************
;13 MAYIS 2007
;ALARMLI SAAT PROJESİ
;YAZAN : CİHAN YILDIRIM
;********************************************************************************************************
		LIST		P=16F628
		INCLUDE		"P16F628.INC"
		__CONFIG	_INTRC_OSC_NOCLKOUT & _WDT_OFF & _CP_OFF & _LVP_OFF & _MCLRE_OFF
		ERRORLEVEL	-302
		ERRORLEVEL	-306
;********************************************************************************************************
		CBLOCK		0x20
		BUTONSAYAC,AY10,GUN10,YIL10,SAAT10,DAKIKA10,SANIYE10,FLAG,LCD_SAYAC,REG1,REG2,REG3
		DELAY_DATA,DELAY_DATA2,LCD_REG,LCD_TEMP,AY1,GUN1,YIL1,SAAT1,DAKIKA1,SANIYE1
		I2C_VERI,I2C_RETURN,I2C_ADRESLOW,BUFFER_VERI,SANIYE,DAKIKA,SAAT,AY,GUN,YIL
		ALARM_AY10,ALARM_GUN10,ALARM_YIL10,ALARM_SAAT10,ALARM_DAKIKA10,ALARM_SANIYE10,VERIREG
		ALARM_AY1,ALARM_GUN1,ALARM_YIL1,ALARM_SAAT1,ALARM_DAKIKA1,ALARM_SANIYE1,ALARM_SAYAC,SAYAC
		DOT1,DOT2,DOT3,DOT4,DOT5,DOT6,DOT7,DOT8,DOT9,DOT10,DOT11,DOT12,DOT13,DOT14,DOT15,DOT16
		ENDC
;********************************************************************************************************
		CBLOCK		0x70
		SAVE_W
		SAVE_STATUS
		DELAY_DATAX
		DELAY_DATA2X
		ENDC
;********************************************************************************************************		
#DEFINE	LCD_DATA	PORTB
#DEFINE	RS			PORTB,4
#DEFINE	E			PORTB,5		
#DEFINE	I2C_PORT	PORTA
#DEFINE	I2C_TRIS	TRISA
#DEFINE	BUZZER		PORTA,4
#DEFINE	UP			PORTA,0
#DEFINE	DOWN		PORTA,3
#DEFINE	MOD			PORTB,7
#DEFINE	ALARM		PORTB,6
#DEFINE	STOP		PORTA,5
#DEFINE	IPTAL		PORTA,6
#DEFINE	ALARM2		PORTA,7
;*****************************************
SCL		EQU			.1
SDA		EQU			.2
;*****************************************
		ORG			0x00
		GOTO		SETUP
;*****************************************
		ORG			0x04
		GOTO		INT_VEKTOR
;*****************************************
INTRO
		ADDWF		PCL,F
		DT			"SAKARYA UNiVERSiTESi ENDUSTRiYEL ELEKTRONiK BOLUMU iYi GUNLER DiLER...",0x00
;*****************************************
YAZCIHAN
		ADDWF		PCL,F
		DT			"*CiHAN YILDIRIM*",0x00
;*****************************************
SAAT_AYARLANDI
		ADDWF		PCL,F
		DT			"SAAT AYARLANDI",0x00
;*****************************************
YAZIYIGUNLER
		ADDWF		PCL,F
		DT			".:.iYi GUNLER.:.",0x00
;*****************************************
YAZ_ALARM_AYARLANDI
		ADDWF		PCL,F
		DT			"ALARM AYARLANDI",0x00
;*****************************************
ALARM_ACILDI
		ADDWF		PCL,F
		DT			"ALARM ACILDI",0x00
;*****************************************
ALARM_KAPANDI
		ADDWF		PCL,F
		DT			"ALARM KAPANDI",0x00
;*****************************************
ALARM_GUNLUK
		ADDWF		PCL,F
		DT			"ALM. TURU:GUNLUK",0x00
;*****************************************
ALARM_AYLIK
		ADDWF		PCL,F
		DT			"ALARM TURU:AYLIK",0x00
;*****************************************
INT_VEKTOR
		MOVWF		SAVE_W
		SWAPF		STATUS,W
		MOVWF		SAVE_STATUS
		CLRF		STATUS
		MOVF		DELAY_DATA,W
		MOVWF		DELAY_DATAX
		MOVF		DELAY_DATA2,W
		MOVWF		DELAY_DATA2X
		MOVF		PORTB,W
		BSF			FLAG,1
;*****************************************		
		BTFSC		MOD
		GOTO		$+6
		BTFSC		FLAG,2		
		CLRF		BUTONSAYAC		
		BCF			FLAG,2
		BTFSS		MOD
		GOTO		$-1
		MOVLW		.1
		MOVWF		DELAY_DATA
		CALL		DELAY_MS0
		BTFSS		MOD
		GOTO		$-4
;*****************************************						
		BTFSC		ALARM
		GOTO		EXIT
		BTFSS		FLAG,2		
		CALL		SETBTSAYAC
		BSF			FLAG,2
		BTFSS		ALARM
		GOTO		$-1
		MOVLW		.1
		MOVWF		DELAY_DATA
		CALL		DELAY_MS0
		BTFSS		ALARM
		GOTO		$-4
;*****************************************				
EXIT
		MOVF		DELAY_DATAX,W
		MOVWF		DELAY_DATA
		MOVF		DELAY_DATA2X,W
		MOVWF		DELAY_DATA2
		SWAPF		SAVE_STATUS,W
		MOVWF		STATUS
		SWAPF		SAVE_W,F
		SWAPF		SAVE_W,W
		BCF			INTCON,RBIF
		RETFIE		
;*****************************************
SETBTSAYAC
		CLRF		BUTONSAYAC
		MOVLW		.3
		BTFSC		FLAG,4
		MOVWF		BUTONSAYAC
		RETURN
;*****************************************
SETUP	
		CLRF		PORTA
		CLRF		PORTB				
		MOVLW		0x07
		MOVWF		CMCON		
		BSF			STATUS,5
		MOVLW		0xEF
		MOVWF		TRISA
		MOVLW		0xC0
		MOVWF		TRISB
		BCF			STATUS,5
		CLRF		BUTONSAYAC
		CLRF		FLAG
;*****************************************	
		CLRF		ALARM_AY10
		CLRF		ALARM_GUN10
		CLRF		ALARM_YIL10
		CLRF		ALARM_SAAT10
		CLRF		ALARM_DAKIKA10
		CLRF		ALARM_SANIYE10
		CLRF		ALARM_YIL1
		CLRF		ALARM_SAAT1
		CLRF		ALARM_DAKIKA1
		CLRF		ALARM_SANIYE1
		MOVLW		.1
		MOVWF		ALARM_AY1
		MOVWF		ALARM_GUN1
;*****************************************	
		MOVLW		.200
		CALL		DELAY_MS
		CALL    	LCD_INIT
;*****************************************	
		CALL		DS1307_INIT			;DS1307 SAYMA BITI ENABLE
		CALL		DS1307_SQWE_ON		;KAREDALGA CIKISI AKTIF
;*****************************************			
		CLRF		INTCON
		BSF			INTCON,GIE
		BSF			INTCON,RBIE
;*****************************************			
		CALL		ANIMASYON
;*****************************************			
MAIN									;ANA DONGU BASLANGICI
		CALL		LCD_SHOW			;SAAT VE TARIHI EKRANA YAZ				
		CALL		BUTON_SOR			;BUTONLARI SOR
		MOVLW		.3
		CALL		DELAY_MS			;YAKLASIK 3MS KADAR BEKLE
		GOTO		MAIN				;REFRESH
;*****************************************		
YAZGUNLUK
		CLRF		LCD_SAYAC
		MOVF		LCD_SAYAC,W
		CALL		ALARM_GUNLUK
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		BEKLE
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		$-7
		GOTO		BEKLE
;*****************************************		
GUNLUKALARM
		BTFSS		ALARM2
		GOTO		GUNLUKALARM
		CALL		MESAJ_YAZ
		BTFSS		FLAG,2
		RETURN
		MOVLW		.1
		MOVWF		BUTONSAYAC
		MOVLW		.4
		BTFSC		FLAG,4
		MOVWF		BUTONSAYAC		
		RETURN
;*****************************************		
MESAJ_YAZ
		MOVLW		0x01
		CALL		SEND_CMD
		MOVLW		0x10
		XORWF		FLAG,F
		BTFSC		FLAG,4
		GOTO		YAZGUNLUK
;*****************************************		
YAZAYLIK
		CLRF		LCD_SAYAC
		MOVF		LCD_SAYAC,W
		CALL		ALARM_AYLIK
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		BEKLE
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		$-7
		GOTO		BEKLE
;*****************************************		
BUTON_SOR
		BTFSS		IPTAL
		GOTO		TEMIZLE

		BTFSS		STOP
		GOTO		ALARM_IPTAL
		
		BTFSS		ALARM2
		GOTO		GUNLUKALARM

		BTFSC		FLAG,1
		GOTO		DEGISTIR				

		CALL		SET_CURSOR

		BTFSS		UP
		GOTO		ARTIR
		BTFSS		DOWN
		GOTO		EKSILT

		BTFSC		FLAG,0
		GOTO		BUTON_SOR

		RETURN
;*****************************************		
TEMIZLE
		BTFSS		IPTAL
		GOTO		TEMIZLE
		MOVLW		0x0C
		CALL		SEND_CMD
		MOVLW		B'00011000'
		ANDWF		FLAG,F
		CLRF		BUTONSAYAC
		CALL		DS1307_INIT
		GOTO		GERI_YUKLE
;*****************************************		
ALARMIAC
		BSF			FLAG,3
		MOVLW		.1
		CALL		SEND_CMD
		CLRF		LCD_SAYAC
;*****************************************
LOOP3
		MOVF		LCD_SAYAC,W
		CALL		ALARM_ACILDI
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		$+4
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		LOOP3
		GOTO		BEKLE
;******************************************	
BEKLE
		MOVLW		.255
		CALL		DELAY_MS
		MOVLW		.255
		CALL		DELAY_MS
;******************************************	
GERI_YUKLE
		MOVLW		.2
		CALL		SEND_CMD
		MOVLW		'T'
		CALL		SEND_CHAR
		MOVLW		'a'
		CALL		SEND_CHAR
		MOVLW		'r'
		CALL		SEND_CHAR
		MOVLW		'i'
		CALL		SEND_CHAR
		MOVLW		'h'
		CALL		SEND_CHAR
		MOVLW		':'
		CALL		SEND_CHAR
		MOVLW		' '
		CALL		SEND_CHAR		

		CALL		TARIHI_YAZ

		MOVLW		0xC0
		CALL		SEND_CMD				
		MOVLW		'S'
		CALL		SEND_CHAR
		MOVLW		'a'
		CALL		SEND_CHAR
		MOVLW		'a'
		CALL		SEND_CHAR
		MOVLW		't'
		CALL		SEND_CHAR
		MOVLW		' '
		CALL		SEND_CHAR
		MOVLW		':'
		CALL		SEND_CHAR
		MOVLW		' '
		CALL		SEND_CHAR
		
		GOTO		SAATI_YAZ
;******************************************	
ALARM_IPTAL
		BTFSS		STOP
		GOTO		ALARM_IPTAL

		MOVLW		0x0C
		CALL		SEND_CMD

		BTFSS		FLAG,3
		GOTO		ALARMIAC

		BCF			FLAG,3
		MOVLW		.1
		CALL		SEND_CMD
		CLRF		LCD_SAYAC
;*****************************************
LOOP4
		MOVF		LCD_SAYAC,W
		CALL		ALARM_KAPANDI
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		$+4
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		LOOP4
		GOTO		BEKLE
;******************************************	
CURSOR1
		MOVLW		.136
		CALL		SEND_CMD		
		MOVLW		0x0E
		GOTO		SEND_CMD		
;*****************************************		
CURSOR2
		MOVLW		.139
		CALL		SEND_CMD		
		MOVLW		0x0E
		GOTO		SEND_CMD		
;*****************************************		
CURSOR3
		MOVLW		.142
		CALL		SEND_CMD		
		MOVLW		0x0E
		GOTO		SEND_CMD		
;*****************************************		
CURSOR4
		MOVLW		.200
		CALL		SEND_CMD		
		MOVLW		0x0E
		GOTO		SEND_CMD		
;*****************************************		
CURSOR5
		MOVLW		.203
		CALL		SEND_CMD		
		MOVLW		0x0E
		GOTO		SEND_CMD		
;*****************************************		
CURSOR6
		MOVLW		.206
		CALL		SEND_CMD		
		MOVLW		0x0E
		GOTO		SEND_CMD		
;*****************************************		
SET_CURSOR
		MOVLW		.1
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR1		

		MOVLW		.2
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR2
		MOVLW		.3
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR3		
		MOVLW		.4
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR4		
		MOVLW		.5
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR5		
		MOVLW		.6
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR6		
		RETURN
;*****************************************				
DS1307_STOPX
		BTFSC		FLAG,2
		GOTO		DS1307_INIT
		GOTO		DS1307_STOP
;*****************************************
DEGISTIR
		BTFSS		MOD
		GOTO		DEGISTIR
		MOVLW		.1
		MOVWF		DELAY_DATA
		CALL		DELAY_MS0
		BTFSS		MOD
		GOTO		DEGISTIR
;*****************************************
		BTFSS		ALARM
		GOTO		$-1
		MOVLW		.1
		MOVWF		DELAY_DATA
		CALL		DELAY_MS0
		BTFSS		ALARM
		GOTO		$-4
;*****************************************
		BSF			FLAG,0
		BCF			FLAG,1		
				
		INCF		BUTONSAYAC,F
		MOVLW		.7
		SUBWF		BUTONSAYAC,W
		BTFSS		STATUS,Z
		GOTO		DS1307_STOPX
		CLRF		BUTONSAYAC
		BCF			FLAG,0
		CALL		DS1307_INIT
;*****************************************		
		MOVLW		0x0C
		CALL		SEND_CMD

		BTFSC		FLAG,2
		GOTO		ALARM_AYARLANDI
		CLRF		I2C_ADRESLOW
		SWAPF		SANIYE10,W
		ADDWF		SANIYE1,W
		MOVWF		SANIYE
		CALL		DS1307_WRITE
		INCF		I2C_ADRESLOW,F
		SWAPF		DAKIKA10,W
		ADDWF		DAKIKA1,W
		MOVWF		DAKIKA
		CALL		DS1307_WRITE
		INCF		I2C_ADRESLOW,F
		SWAPF		SAAT10,W
		ADDWF		SAAT1,W
		MOVWF		SAAT
		CALL		DS1307_WRITE
		MOVLW		.4
		MOVWF		I2C_ADRESLOW				
		SWAPF		GUN10,W
		ADDWF		GUN1,W
		MOVWF		GUN
		CALL		DS1307_WRITE
		INCF		I2C_ADRESLOW,F
		SWAPF		AY10,W
		ADDWF		AY1,W
		MOVWF		AY
		CALL		DS1307_WRITE
		INCF		I2C_ADRESLOW,F		
		SWAPF		YIL10,W
		ADDWF		YIL1,W
		MOVWF		YIL
		CALL		DS1307_WRITE
;*****************************************
		MOVLW		.1
		CALL		SEND_CMD
		CLRF		LCD_SAYAC
;*****************************************
LOOP1
		MOVF		LCD_SAYAC,W
		CALL		SAAT_AYARLANDI
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		RELOAD
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		LOOP1
;*****************************************						
ALARM_AYARLANDI

		BTFSC		FLAG,2
		BSF			FLAG,3
		BCF			FLAG,2

		MOVLW		.1
		CALL		SEND_CMD
		CLRF		LCD_SAYAC
;*****************************************
LOOP2
		MOVF		LCD_SAYAC,W
		CALL		YAZ_ALARM_AYARLANDI
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		RELOAD
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		LOOP2
;*****************************************		
RELOAD
		MOVLW		0xC0
		CALL		SEND_CMD
		MOVLW		.16
		MOVWF		LCD_SAYAC
		MOVLW		0xFF
		CALL		SEND_CHAR
		MOVLW		.40
		CALL		DELAY_MS
		DECFSZ		LCD_SAYAC,F
		GOTO		$-5
		GOTO		GERI_YUKLE
;*****************************************						
ARTIR
		BTFSS		UP
		GOTO		ARTIR
		
		MOVLW		.1
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		UPGUN
		
		MOVLW		.2
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		UPAY

		MOVLW		.3
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		UPYIL
		
		MOVLW		.4
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		UPSAAT
		
		MOVLW		.5
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		UPDAKIKA
		
		MOVLW		.6
		SUBWF		BUTONSAYAC,W
		BTFSS		STATUS,Z
		RETURN
UPSANIYE
		BTFSC		FLAG,2
		GOTO		ALARM_UPSANIYE
		INCF		SANIYE1,F
		MOVLW		.10
		SUBWF		SANIYE1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		SANIYE1
		INCF		SANIYE10,F
		MOVLW		.6
		SUBWF		SANIYE10,W
		BTFSC		STATUS,Z
		CLRF		SANIYE10
		GOTO		LCD_SHOW
;*****************************************		
UPDAKIKA
		BTFSC		FLAG,2
		GOTO		ALARM_UPDAKIKA
		INCF		DAKIKA1,F
		MOVLW		.10
		SUBWF		DAKIKA1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		DAKIKA1
		INCF		DAKIKA10,F
		MOVLW		.6
		SUBWF		DAKIKA10,W
		BTFSC		STATUS,Z
		CLRF		DAKIKA10
		GOTO		LCD_SHOW	
;*****************************************		
UPSAAT
		BTFSC		FLAG,2
		GOTO		ALARM_UPSAAT
		MOVLW		.2
		SUBWF		SAAT10,W
		BTFSS		STATUS,Z
		GOTO		SAAT_2
		INCF		SAAT1,F
		MOVLW		.4
		SUBWF		SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		SAAT1
		CLRF		SAAT10
		GOTO		LCD_SHOW
SAAT_2
		INCF		SAAT1,F
		MOVLW		.10
		SUBWF		SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		SAAT1
		INCF		SAAT10,F
		GOTO		LCD_SHOW
;*****************************************		
UPGUN
		BTFSC		FLAG,2
		GOTO		ALARM_UPGUN
		MOVLW		.3
		SUBWF		GUN10,W
		BTFSS		STATUS,Z
		GOTO		GUN_2
		INCF		GUN1,F
		MOVLW		.2
		SUBWF		GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.1
		MOVWF		GUN1
		CLRF		GUN10
		GOTO		LCD_SHOW
GUN_2
		INCF		GUN1,F
		MOVLW		.10
		SUBWF		GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		GUN1
		INCF		GUN10,F
		GOTO		LCD_SHOW

;*****************************************		
UPAY
		BTFSC		FLAG,2
		GOTO		ALARM_UPAY
		MOVLW		.1
		SUBWF		AY10,W
		BTFSS		STATUS,Z
		GOTO		AY_2
		INCF		AY1,F
		MOVLW		.3
		SUBWF		AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.1
		MOVWF		AY1
		CLRF		AY10
		GOTO		LCD_SHOW
AY_2
		INCF		AY1,F
		MOVLW		.10
		SUBWF		AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		AY1
		INCF		AY10,F
		GOTO		LCD_SHOW

;*****************************************		
UPYIL
		BTFSC		FLAG,2
		GOTO		ALARM_UPYIL
		INCF		YIL1,F
		MOVLW		.10
		SUBWF		YIL1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		YIL1
		INCF		YIL10,F
		MOVLW		.10
		SUBWF		YIL10,W
		BTFSC		STATUS,Z
		CLRF		YIL10
		GOTO		LCD_SHOW	
;*****************************************		

ALARM_UPSANIYE
		INCF		ALARM_SANIYE1,F
		MOVLW		.10
		SUBWF		ALARM_SANIYE1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_SANIYE1
		INCF		ALARM_SANIYE10,F
		MOVLW		.6
		SUBWF		ALARM_SANIYE10,W
		BTFSC		STATUS,Z
		CLRF		ALARM_SANIYE10
		GOTO		LCD_SHOW
;*****************************************		
ALARM_UPDAKIKA
		INCF		ALARM_DAKIKA1,F
		MOVLW		.10
		SUBWF		ALARM_DAKIKA1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_DAKIKA1
		INCF		ALARM_DAKIKA10,F
		MOVLW		.6
		SUBWF		ALARM_DAKIKA10,W
		BTFSC		STATUS,Z
		CLRF		ALARM_DAKIKA10
		GOTO		LCD_SHOW	
;*****************************************		
ALARM_UPSAAT
		MOVLW		.2
		SUBWF		ALARM_SAAT10,W
		BTFSS		STATUS,Z
		GOTO		ALARM_SAAT_2
		INCF		ALARM_SAAT1,F
		MOVLW		.4
		SUBWF		ALARM_SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_SAAT1
		CLRF		ALARM_SAAT10
		GOTO		LCD_SHOW
ALARM_SAAT_2
		INCF		ALARM_SAAT1,F
		MOVLW		.10
		SUBWF		ALARM_SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_SAAT1
		INCF		ALARM_SAAT10,F
		GOTO		LCD_SHOW
;*****************************************		
ALARM_UPGUN
		MOVLW		.3
		SUBWF		ALARM_GUN10,W
		BTFSS		STATUS,Z
		GOTO		ALARM_GUN_2
		INCF		ALARM_GUN1,F
		MOVLW		.2
		SUBWF		ALARM_GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.1
		MOVWF		ALARM_GUN1
		CLRF		ALARM_GUN10
		GOTO		LCD_SHOW
ALARM_GUN_2
		INCF		ALARM_GUN1,F
		MOVLW		.10
		SUBWF		ALARM_GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_GUN1
		INCF		ALARM_GUN10,F
		GOTO		LCD_SHOW

;*****************************************		
ALARM_UPAY
		MOVLW		.1
		SUBWF		ALARM_AY10,W
		BTFSS		STATUS,Z
		GOTO		ALARM_AY_2
		INCF		ALARM_AY1,F
		MOVLW		.3
		SUBWF		ALARM_AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.1
		MOVWF		ALARM_AY1
		CLRF		ALARM_AY10
		GOTO		LCD_SHOW
ALARM_AY_2
		INCF		ALARM_AY1,F
		MOVLW		.10
		SUBWF		ALARM_AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_AY1
		INCF		ALARM_AY10,F
		GOTO		LCD_SHOW

;*****************************************		
ALARM_UPYIL
		INCF		ALARM_YIL1,F
		MOVLW		.10
		SUBWF		ALARM_YIL1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		CLRF		ALARM_YIL1
		INCF		ALARM_YIL10,F
		MOVLW		.10
		SUBWF		ALARM_YIL10,W
		BTFSC		STATUS,Z
		CLRF		ALARM_YIL10
		GOTO		LCD_SHOW	
;*****************************************		
DECODE
		MOVLW		0xF0
		ANDWF		SANIYE,W
		MOVWF		SANIYE10
		BCF			SANIYE10,7
		SWAPF		SANIYE10,F
;*****************************************		
		MOVLW		0x0F
		ANDWF		SANIYE,W
		MOVWF		SANIYE1
;*****************************************		
		MOVLW		0xF0
		ANDWF		DAKIKA,W
		MOVWF		DAKIKA10
		SWAPF		DAKIKA10,F
;*****************************************		
		MOVLW		0x0F
		ANDWF		DAKIKA,W
		MOVWF		DAKIKA1
;*****************************************		
		MOVLW		0xF0
		ANDWF		SAAT,W
		MOVWF		SAAT10
		SWAPF		SAAT10,F
;*****************************************		
		MOVLW		0x0F
		ANDWF		SAAT,W
		MOVWF		SAAT1
;*****************************************		
		MOVLW		0xF0
		ANDWF		AY,W
		MOVWF		AY10
		SWAPF		AY10,F
;*****************************************		
		MOVLW		0x0F
		ANDWF		AY,W
		MOVWF		AY1
;*****************************************		
		MOVLW		0xF0
		ANDWF		YIL,W
		MOVWF		YIL10
		SWAPF		YIL10,F
;*****************************************		
		MOVLW		0x0F
		ANDWF		YIL,W
		MOVWF		YIL1
;*****************************************		
		MOVLW		0xF0
		ANDWF		GUN,W
		MOVWF		GUN10
		SWAPF		GUN10,F
;*****************************************		
		MOVLW		0x0F
		ANDWF		GUN,W
		MOVWF		GUN1
;*****************************************		
		BTFSS		FLAG,3		;ALARM KURULU MU
		RETURN					;KURULU DEGILSE CIK
;*****************************************		
		MOVF		ALARM_SANIYE1,W
		SUBWF		SANIYE1,W
		BTFSS		STATUS,Z
		RETURN
		
		MOVF		ALARM_DAKIKA1,W
		SUBWF		DAKIKA1,W
		BTFSS		STATUS,Z
		RETURN		
		
		MOVF		ALARM_SAAT1,W
		SUBWF		SAAT1,W
		BTFSS		STATUS,Z
		RETURN		

		MOVF		ALARM_SANIYE10,W
		SUBWF		SANIYE10,W
		BTFSS		STATUS,Z
		RETURN
		
		MOVF		ALARM_DAKIKA10,W
		SUBWF		DAKIKA10,W
		BTFSS		STATUS,Z
		RETURN		
		
		MOVF		ALARM_SAAT10,W
		SUBWF		SAAT10,W
		BTFSS		STATUS,Z
		RETURN		

		BTFSC		FLAG,4
		GOTO		ZAMAN_DOLDU
		
		MOVF		ALARM_AY1,W
		SUBWF		AY1,W
		BTFSS		STATUS,Z
		RETURN				

		MOVF		ALARM_GUN1,W
		SUBWF		GUN1,W
		BTFSS		STATUS,Z
		RETURN				

		MOVF		ALARM_YIL1,W
		SUBWF		YIL1,W
		BTFSS		STATUS,Z
		RETURN				

		MOVF		ALARM_AY10,W
		SUBWF		AY10,W
		BTFSS		STATUS,Z
		RETURN				

		MOVF		ALARM_GUN10,W
		SUBWF		GUN10,W
		BTFSS		STATUS,Z
		RETURN				

		MOVF		ALARM_YIL10,W
		SUBWF		YIL10,W
		BTFSS		STATUS,Z
		RETURN				

ZAMAN_DOLDU
;ZAMAN DOLDU ALARM CALIYIYOR
		MOVLW		.1
		CALL		SEND_CMD
		CLRF		LCD_SAYAC
;*****************************************
LOOP1X
		MOVF		LCD_SAYAC,W
		CALL		YAZIYIGUNLER
		ANDLW		0xFF
		BTFSC		STATUS,Z
		GOTO		PASGEC
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		LOOP1X
;*****************************************
PASGEC
		MOVLW		.64
		MOVWF		ALARM_SAYAC
		MOVLW		.4
		MOVWF		LCD_SAYAC
		MOVLW		0xC0
		CALL		SEND_CMD
;*****************************************
ALARM_CAL
		BTFSS		IPTAL
		GOTO		MUTE		
		BSF			BUZZER
		CALL		WAIT
		BCF			BUZZER
		CALL		WAIT
;*****************************************				
		DECFSZ		LCD_SAYAC,F
		GOTO		PASGECX
		MOVLW		0xFF
		CALL		SEND_CHAR
		MOVLW		.4
		MOVWF		LCD_SAYAC
;*****************************************				
PASGECX
		DECFSZ		ALARM_SAYAC,F
		GOTO		ALARM_CAL
MUTE
		BCF			BUZZER
		GOTO		GERI_YUKLE
;*****************************************				
EKSILT
		BTFSS		DOWN
		GOTO		EKSILT
		
		MOVLW		.1
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		DOWNGUN
		
		MOVLW		.2
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		DOWNAY

		MOVLW		.3
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		DOWNYIL
		
		MOVLW		.4
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		DOWNSAAT
		
		MOVLW		.5
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		DOWNDAKIKA
		
		MOVLW		.6
		SUBWF		BUTONSAYAC,W
		BTFSS		STATUS,Z
		RETURN
DOWNSANIYE
		BTFSC		FLAG,2
		GOTO		ALARM_DOWNSANIYE
		DECF		SANIYE1,F
		MOVLW		.255
		SUBWF		SANIYE1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		SANIYE1
		DECF		SANIYE10,F
		MOVLW		.255
		SUBWF		SANIYE10,W
		MOVLW		.5
		BTFSC		STATUS,Z
		MOVWF		SANIYE10
		GOTO		LCD_SHOW
;*****************************************	
DOWNGUN
		BTFSC		FLAG,2
		GOTO		ALARM_DOWNGUN
		MOVLW		.0
		SUBWF		GUN10,W
		BTFSS		STATUS,Z
		GOTO		GUN_2D
		DECF		GUN1,F
		MOVLW		.0
		SUBWF		GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.1
		MOVWF		GUN1
		MOVLW		.3
		MOVWF		GUN10
		GOTO		LCD_SHOW
GUN_2D
		DECF		GUN1,F
		MOVLW		.255
		SUBWF		GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		GUN1
		DECF		GUN10,F
		MOVLW		.255
		SUBWF		GUN10,W
		MOVLW		.0
		BTFSC		STATUS,Z
		MOVWF		GUN10
		GOTO		LCD_SHOW
;*****************************************	
DOWNAY
		BTFSC		FLAG,2
		GOTO		ALARM_DOWNAY
		MOVLW		.0
		SUBWF		AY10,W
		BTFSS		STATUS,Z
		GOTO		AY_2D
		DECF		AY1,F
		MOVLW		.0
		SUBWF		AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.2
		MOVWF		AY1
		MOVLW		.1
		MOVWF		AY10
		GOTO		LCD_SHOW
AY_2D
		DECF		AY1,F
		MOVLW		.255
		SUBWF		AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		AY1
		DECF		AY10,F
		MOVLW		.255
		SUBWF		AY10,W
		MOVLW		.0
		BTFSC		STATUS,Z
		MOVWF		AY10
		GOTO		LCD_SHOW
;*****************************************	
DOWNYIL
		BTFSC		FLAG,2
		GOTO		ALARM_DOWNYIL
		DECF		YIL1,F
		MOVLW		.255
		SUBWF		YIL1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		YIL1
		DECF		YIL10,F
		MOVLW		.255
		SUBWF		YIL10,W
		MOVLW		.9
		BTFSC		STATUS,Z
		MOVWF		YIL10
		GOTO		LCD_SHOW
;*****************************************	
DOWNDAKIKA
		BTFSC		FLAG,2
		GOTO		ALARM_DOWNDAKIKA
		DECF		DAKIKA1,F
		MOVLW		.255
		SUBWF		DAKIKA1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		DAKIKA1
		DECF		DAKIKA10,F
		MOVLW		.255
		SUBWF		DAKIKA10,W
		MOVLW		.5
		BTFSC		STATUS,Z
		MOVWF		DAKIKA10
		GOTO		LCD_SHOW
;*****************************************	
DOWNSAAT
		BTFSC		FLAG,2
		GOTO		ALARM_DOWNSAAT
		MOVLW		.0
		SUBWF		SAAT10,W
		BTFSS		STATUS,Z
		GOTO		SAAT_2D
		DECF		SAAT1,F
		MOVLW		.255
		SUBWF		SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.3
		MOVWF		SAAT1
		MOVLW		.2
		MOVWF		SAAT10
		GOTO		LCD_SHOW
SAAT_2D
		DECF		SAAT1,F
		MOVLW		.255
		SUBWF		SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		SAAT1
		DECF		SAAT10,F
		MOVLW		.255
		SUBWF		SAAT10,W
		MOVLW		.0
		BTFSC		STATUS,Z
		MOVWF		SAAT10
		GOTO		LCD_SHOW
;*****************************************	

ALARM_DOWNSANIYE
		DECF		ALARM_SANIYE1,F
		MOVLW		.255
		SUBWF		ALARM_SANIYE1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		ALARM_SANIYE1
		DECF		ALARM_SANIYE10,F
		MOVLW		.255
		SUBWF		ALARM_SANIYE10,W
		MOVLW		.5
		BTFSC		STATUS,Z
		MOVWF		ALARM_SANIYE10
		GOTO		LCD_SHOW
;*****************************************	
ALARM_DOWNGUN
		MOVLW		.0
		SUBWF		ALARM_GUN10,W
		BTFSS		STATUS,Z
		GOTO		ALARM_GUN_2D
		DECF		ALARM_GUN1,F
		MOVLW		.0
		SUBWF		ALARM_GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.1
		MOVWF		ALARM_GUN1
		MOVLW		.3
		MOVWF		ALARM_GUN10
		GOTO		LCD_SHOW
ALARM_GUN_2D
		DECF		ALARM_GUN1,F
		MOVLW		.255
		SUBWF		ALARM_GUN1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		ALARM_GUN1
		DECF		ALARM_GUN10,F
		MOVLW		.255
		SUBWF		ALARM_GUN10,W
		MOVLW		.0
		BTFSC		STATUS,Z
		MOVWF		ALARM_GUN10
		GOTO		LCD_SHOW
;*****************************************	
ALARM_DOWNAY
		MOVLW		.0
		SUBWF		ALARM_AY10,W
		BTFSS		STATUS,Z
		GOTO		ALARM_AY_2D
		DECF		ALARM_AY1,F
		MOVLW		.0
		SUBWF		ALARM_AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.2
		MOVWF		ALARM_AY1
		MOVLW		.1
		MOVWF		ALARM_AY10
		GOTO		LCD_SHOW
ALARM_AY_2D
		DECF		ALARM_AY1,F
		MOVLW		.255
		SUBWF		ALARM_AY1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		ALARM_AY1
		DECF		ALARM_AY10,F
		MOVLW		.255
		SUBWF		ALARM_AY10,W
		MOVLW		.0
		BTFSC		STATUS,Z
		MOVWF		ALARM_AY10
		GOTO		LCD_SHOW
;*****************************************	
ALARM_DOWNYIL
		DECF		ALARM_YIL1,F
		MOVLW		.255
		SUBWF		ALARM_YIL1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		ALARM_YIL1
		DECF		ALARM_YIL10,F
		MOVLW		.255
		SUBWF		ALARM_YIL10,W
		MOVLW		.9
		BTFSC		STATUS,Z
		MOVWF		ALARM_YIL10
		GOTO		LCD_SHOW
;*****************************************	
ALARM_DOWNDAKIKA
		DECF		ALARM_DAKIKA1,F
		MOVLW		.255
		SUBWF		ALARM_DAKIKA1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		ALARM_DAKIKA1
		DECF		ALARM_DAKIKA10,F
		MOVLW		.255
		SUBWF		ALARM_DAKIKA10,W
		MOVLW		.5
		BTFSC		STATUS,Z
		MOVWF		ALARM_DAKIKA10
		GOTO		LCD_SHOW
;*****************************************	
ALARM_DOWNSAAT
		MOVLW		.0
		SUBWF		ALARM_SAAT10,W
		BTFSS		STATUS,Z
		GOTO		ALARM_SAAT_2D
		DECF		ALARM_SAAT1,F
		MOVLW		.255
		SUBWF		ALARM_SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.3
		MOVWF		ALARM_SAAT1
		MOVLW		.2
		MOVWF		ALARM_SAAT10
		GOTO		LCD_SHOW
ALARM_SAAT_2D
		DECF		ALARM_SAAT1,F
		MOVLW		.255
		SUBWF		ALARM_SAAT1,W
		BTFSS		STATUS,Z
		GOTO		LCD_SHOW
		MOVLW		.9
		MOVWF		ALARM_SAAT1
		DECF		ALARM_SAAT10,F
		MOVLW		.255
		SUBWF		ALARM_SAAT10,W
		MOVLW		.0
		BTFSC		STATUS,Z
		MOVWF		ALARM_SAAT10
		GOTO		LCD_SHOW
;*****************************************	
CURSOR1X
		MOVLW		.135
		CALL		SEND_CMD
		BTFSC		FLAG,2
		CALL		ALARM_TARIHI_YAZ		
		BTFSS		FLAG,2
		CALL		TARIHI_YAZ
		MOVLW		.199
		CALL		SEND_CMD
		BTFSC		FLAG,2
		GOTO		ALARM_SAATI_YAZ
		GOTO		SAATI_YAZ
;*****************************************		
CURSOR2X
		MOVLW		.138
		CALL		SEND_CMD		
		BTFSC		FLAG,2
		GOTO		AAYIYAZ
		GOTO		AYIYAZ
;*****************************************		
CURSOR3X
		MOVLW		.141
		CALL		SEND_CMD
		BTFSC		FLAG,2
		GOTO		AYILIYAZ		
		GOTO		YILIYAZ
;*****************************************		
CURSOR4X
		MOVLW		.199
		CALL		SEND_CMD
		BTFSC		FLAG,2
		GOTO		ALARM_SAATI_YAZ
		GOTO		SAATI_YAZ
;*****************************************		
CURSOR5X
		MOVLW		.202
		CALL		SEND_CMD		
		BTFSC		FLAG,2
		GOTO		ADAKIKAYIYAZ
		GOTO		DAKIKAYIYAZ
;*****************************************		
CURSOR6X
		MOVLW		.205
		CALL		SEND_CMD		
		BTFSC		FLAG,2
		GOTO		ASANIYEYIYAZ
		GOTO		SANIYEYIYAZ
;*****************************************		
LCD_SHOWX
		MOVLW		.1
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR1X		
		MOVLW		.2
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR2X
		MOVLW		.3
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR3X	
		MOVLW		.4
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR4X		
		MOVLW		.5
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR5X		
		MOVLW		.6
		SUBWF		BUTONSAYAC,W
		BTFSC		STATUS,Z
		GOTO		CURSOR6X		
		RETURN
;*****************************************	
LCD_SHOW
		MOVLW		0x0C
		CALL		SEND_CMD
		
		BCF			INTCON,GIE		
		CALL		DSFULLREAD
		BSF			INTCON,GIE
		
		BTFSC		FLAG,0
		GOTO		LCD_SHOWX
		
		CALL		DECODE
		
		BTFSC		FLAG,1
		RETURN		
		BTFSS		IPTAL
		RETURN

		MOVLW		.2
		CALL		SEND_CMD
		MOVLW		'T'
		CALL		SEND_CHAR
		MOVLW		'a'
		CALL		SEND_CHAR
		MOVLW		'r'
		CALL		SEND_CHAR
		MOVLW		'i'
		CALL		SEND_CHAR
		MOVLW		'h'
		CALL		SEND_CHAR
		MOVLW		':'
		CALL		SEND_CHAR
		MOVLW		' '
		CALL		SEND_CHAR		

		BTFSC		FLAG,1
		RETURN
		BTFSS		IPTAL
		RETURN

		CALL		TARIHI_YAZ

		BTFSC		FLAG,1
		RETURN
		BTFSS		IPTAL
		RETURN

		MOVLW		0xC0
		CALL		SEND_CMD				
		MOVLW		'S'
		CALL		SEND_CHAR
		MOVLW		'a'
		CALL		SEND_CHAR
		MOVLW		'a'
		CALL		SEND_CHAR
		MOVLW		't'
		CALL		SEND_CHAR
		MOVLW		' '
		CALL		SEND_CHAR
		MOVLW		':'
		CALL		SEND_CHAR
		MOVLW		' '
		CALL		SEND_CHAR
		
		BTFSC		FLAG,1
		RETURN
		BTFSS		IPTAL
		RETURN

		CALL		SAATI_YAZ

;		MOVLW		.5
;		GOTO		DELAY_MS

		RETURN
;*****************************************		
SAATIYAZ		
		MOVF		SAAT10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		SAAT1,W
		ADDLW		0x30
		GOTO		SEND_CHAR
;*****************************************				
DAKIKAYIYAZ
		MOVF		DAKIKA10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		DAKIKA1,W
		ADDLW		0x30
		GOTO		SEND_CHAR						
;*****************************************		
SAATI_YAZ
		BTFSC		FLAG,2
		GOTO		ALARM_SAATI_YAZ

		CALL		SAATIYAZ
		MOVLW		':'
		CALL		SEND_CHAR						

		CALL		DAKIKAYIYAZ
		MOVLW		':'
		CALL		SEND_CHAR						
SANIYEYIYAZ		
		MOVF		SANIYE10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		SANIYE1,W
		ADDLW		0x30
		CALL		SEND_CHAR		

		MOVLW		' '
		GOTO		SEND_CHAR	
;*****************************************				
ASAATIYAZ
		MOVF		ALARM_SAAT10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		ALARM_SAAT1,W
		ADDLW		0x30
		GOTO		SEND_CHAR		
;*****************************************				
ADAKIKAYIYAZ
		MOVF		ALARM_DAKIKA10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		ALARM_DAKIKA1,W
		ADDLW		0x30
		GOTO		SEND_CHAR		
;*****************************************				
ALARM_SAATI_YAZ
		CALL		ASAATIYAZ
		MOVLW		':'
		CALL		SEND_CHAR						

		CALL		ADAKIKAYIYAZ
		MOVLW		':'
		CALL		SEND_CHAR						
		
ASANIYEYIYAZ
		MOVF		ALARM_SANIYE10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		ALARM_SANIYE1,W
		ADDLW		0x30
		CALL		SEND_CHAR		

		MOVLW		'A'
		GOTO		SEND_CHAR	
;*****************************************			
GUNUYAZ
		MOVF		GUN10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		GUN1,W
		ADDLW		0x30
		GOTO		SEND_CHAR		
;*****************************************					
AYIYAZ
		MOVF		AY10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		AY1,W
		ADDLW		0x30
		GOTO		SEND_CHAR		
;*****************************************					
TARIHI_YAZ
		BTFSC		FLAG,2
		GOTO		ALARM_TARIHI_YAZ
		
		CALL		GUNUYAZ
		MOVLW		'.'
		CALL		SEND_CHAR

		CALL		AYIYAZ
		MOVLW		'.'
		CALL		SEND_CHAR
YILIYAZ
		MOVF		YIL10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		YIL1,W
		ADDLW		0x30
		CALL		SEND_CHAR		

		MOVLW		' '
		GOTO		SEND_CHAR	
;*****************************************				
AGUNUYAZ
		MOVF		ALARM_GUN10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		ALARM_GUN1,W
		ADDLW		0x30
		GOTO		SEND_CHAR		
;*****************************************				
AAYIYAZ
		MOVF		ALARM_AY10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		ALARM_AY1,W
		ADDLW		0x30
		GOTO		SEND_CHAR		
;*****************************************				
ALARM_TARIHI_YAZ
		CALL		AGUNUYAZ
		MOVLW		'.'
		CALL		SEND_CHAR

		CALL		AAYIYAZ
		MOVLW		'.'
		CALL		SEND_CHAR
AYILIYAZ
		MOVF		ALARM_YIL10,W
		ADDLW		0x30
		CALL		SEND_CHAR
		MOVF		ALARM_YIL1,W
		ADDLW		0x30
		CALL		SEND_CHAR		

		MOVLW		'A'
		GOTO		SEND_CHAR		
;*****************************************				
DSFULLREAD
		MOVLW		.4
		MOVWF		I2C_ADRESLOW	
		CALL		DS1307_READ		
		MOVWF		GUN

		INCF		I2C_ADRESLOW,F
		CALL		DS1307_READ		
		MOVWF		AY

		INCF		I2C_ADRESLOW,F
		CALL		DS1307_READ		
		MOVWF		YIL

		MOVLW		.2
		MOVWF		I2C_ADRESLOW	
		CALL		DS1307_READ		
		MOVWF		SAAT

		DECF		I2C_ADRESLOW,F	
		CALL		DS1307_READ		
		MOVWF		DAKIKA

		DECF		I2C_ADRESLOW,F
		CALL		DS1307_READ		
		MOVWF		SANIYE
		RETURN
;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
;MMMMMMMMMMMMMM  LCD  KONTROL BOLUMU  MMMMMMMMMMMMMMMM 
;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
LCD_INIT
		MOVLW		0x33
		CALL		SEND_CMD
		MOVLW		0x32
		CALL		SEND_CMD
		MOVLW		0x28
		CALL		SEND_CMD
		MOVLW		0x01
		CALL		SEND_CMD
		MOVLW		0x06
		CALL		SEND_CMD
		MOVLW		0x0C
;-------------------------------------------------
SEND_CMD	
		BTFSC		FLAG,1
		RETURN

		MOVWF		LCD_REG
		ANDLW		0xF0
		MOVWF		LCD_TEMP
		SWAPF		LCD_TEMP,W
		CALL		SEND_LCD
		MOVLW		0x0F
		ANDWF		LCD_REG,W
		GOTO		SEND_LCD
;+++++++++++++++++++++++++++++++++++++++++++++++++
SEND_CHAR	
		BTFSC		FLAG,1
		RETURN
		MOVWF		LCD_REG
		ANDLW		0xF0
		MOVWF		LCD_TEMP
		SWAPF		LCD_TEMP,F
		BSF			LCD_TEMP,4
		MOVF		LCD_TEMP,W
		CALL		SEND_LCD
		MOVLW		0x0F
		ANDWF		LCD_REG,F
		BSF			LCD_REG,4
		MOVF		LCD_REG,W
;+++++++++++++++++++++++++++++++++++++++++++++++++
SEND_LCD
		MOVWF		LCD_DATA
		BSF			E
		MOVLW		.3
		MOVWF		DELAY_DATA
		BCF			E
;-------------------------------------------------
DELAY_MS0
		MOVLW		.150
		MOVWF		DELAY_DATA2
DELAY_MS1
		NOP
		DECFSZ		DELAY_DATA2,F
		GOTO		DELAY_MS1
		DECFSZ		DELAY_DATA,F
		GOTO		DELAY_MS0
		RETURN
;-------------------------------------------------
DELAY_MS
		MOVWF		DELAY_DATA
DELAY_MS0X
		MOVLW		.255
		MOVWF		DELAY_DATA2
DELAY_MS1X
		BTFSC		FLAG,1
		RETURN
		BTFSS		STOP
		RETURN
		BTFSS		IPTAL
		RETURN
		DECFSZ		DELAY_DATA2,F
		GOTO		DELAY_MS1X
		DECFSZ		DELAY_DATA,F
		GOTO		DELAY_MS0X
		RETURN
;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
;MMMMMMMMMMMMMM  I2C  KONTROL BOLUMU  MMMMMMMMMMMMMMMM 
;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
I2CSTART
		BCF			I2C_PORT,SDA
		BCF			I2C_PORT,SCL
		BSF			STATUS,5
		BSF			I2C_TRIS,SDA
		BSF			I2C_TRIS,SCL
		NOP
		NOP
		BCF			STATUS,5
		BCF			I2C_PORT,SDA
		BSF			STATUS,5
		BCF			I2C_TRIS,SDA
		NOP
		NOP
		BCF			STATUS,5
		BCF			I2C_PORT,SCL
		BSF			STATUS,5
		BCF			I2C_TRIS,SCL
		BCF			STATUS,5
		RETURN
;-------------------------------------
I2CSTOP
		BCF			I2C_PORT,SDA
		BSF			STATUS,5
		BCF			I2C_TRIS,SDA
		BSF			I2C_TRIS,SCL
		NOP
		NOP
		BSF			I2C_TRIS,SDA
		BCF			STATUS,5
		RETURN
;-------------------------------------
SEND_I2C
		MOVWF		I2C_VERI
		BSF			STATUS,C
SEND_1
		RLF			I2C_VERI,F
		MOVF		I2C_VERI,F
		BTFSS		STATUS,Z
		CALL		BITOUT
		BTFSS		STATUS,Z
		GOTO		SEND_1
;-------------------------------------
BITIN
		BSF			STATUS,5
		BSF			I2C_TRIS,SDA
		BSF			I2C_TRIS,SCL
		NOP
		NOP
		BCF			STATUS,5
		BCF			I2C_RETURN,0
		BTFSC		I2C_PORT,SDA
		BSF			I2C_RETURN,0
		BCF			I2C_PORT,SCL
		BSF			STATUS,5
		BCF			I2C_TRIS,SCL
		BCF			STATUS,5
		RETURN
;-------------------------------------
GET_I2C
		MOVLW		.1
		MOVWF		I2C_RETURN
RX_1
		RLF			I2C_RETURN,F
		CALL		BITIN
		BTFSS		STATUS,C
		GOTO		RX_1
		MOVF		I2C_RETURN,W
		RETURN
;-------------------------------------
ACK
		BCF			STATUS,C
BITOUT
		BCF			I2C_PORT,SDA
		BSF			STATUS,5
		BTFSS		STATUS,C
		BCF			I2C_TRIS,SDA
		BTFSC		STATUS,C
		BSF			I2C_TRIS,SDA
;-------------------------------------
		BSF			I2C_TRIS,SCL
		NOP
		NOP
		BCF			STATUS,5
		BCF			I2C_PORT,SCL
		BSF			STATUS,5
		BCF			I2C_TRIS,SCL
		BCF			STATUS,C
		BCF			STATUS,5
		RETURN
;-------------------------------------
NACK
		BSF			STATUS,C
		GOTO		BITOUT
;-------------------------------------
DS1307_INIT
		CLRF		I2C_ADRESLOW
		CALL		DS1307_READ
;-------------------------------------
		BCF			I2C_RETURN,7
;-------------------------------------
		MOVF		I2C_RETURN,W
		CALL		DS1307_WRITE
		RETURN
;-------------------------------------
DS1307_STOP
		CLRF		I2C_ADRESLOW
		CALL		DS1307_READ
;-------------------------------------
		BSF			I2C_RETURN,7
;-------------------------------------
		MOVF		I2C_RETURN,W
		CALL		DS1307_WRITE
		RETURN
;-------------------------------------
DS1307_READ
		CALL		I2CSTART
		MOVLW		0xD0
		CALL		SEND_I2C
		MOVF		I2C_ADRESLOW,W
		CALL		SEND_I2C
		CALL		I2CSTART
		MOVLW		0xD1
		CALL		SEND_I2C
		CALL		GET_I2C
		CALL		NACK
		CALL		I2CSTOP
		RETURN
;-------------------------------------
DS1307_WRITE
		MOVWF		BUFFER_VERI
		CALL		I2CSTART
		MOVLW		0xD0
		CALL		SEND_I2C
		MOVF		I2C_ADRESLOW,W
		CALL		SEND_I2C
		MOVF		BUFFER_VERI,W
		CALL		SEND_I2C
		CALL		I2CSTOP
		RETURN
;-------------------------------------
DS1307_SQWE_ON
		MOVLW		0x07
		MOVWF		I2C_ADRESLOW
		MOVLW		0x90
		CALL		DS1307_WRITE
		RETURN
;-------------------------------------		
DS1307_SQWE_OFF
		MOVLW		0x07
		MOVWF		I2C_ADRESLOW
		MOVLW		0x80
		CALL		DS1307_WRITE
		RETURN
;-------------------------------------		
DS1307_SQWE_2
		MOVLW		0x07
		MOVWF		I2C_ADRESLOW
		MOVLW		0x91
		CALL		DS1307_WRITE
		RETURN
;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
;MMMMMMMMMMMMMM  I2C  KONTROL BOLUMU  MMMMMMMMMMMMMMMM 
;MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WAIT
		MOVLW		.1
		MOVWF		REG1
DONGU1
		MOVLW		.255
		MOVWF		REG2
DONGU2
		MOVLW		.255
		MOVWF		REG3
DONGU3
		DECFSZ		REG3,F
		GOTO		DONGU3
		DECFSZ		REG2,F
		GOTO		DONGU2
		DECFSZ		REG1,F
		GOTO		DONGU1
		RETURN
;-------------------------------------	
ANIMASYON
		MOVLW		.1
		CALL		SEND_CMD
		CALL		CIHAN
		CALL		DOTCLEAR
		CLRF		SAYAC
;-------------------------------------	
KAY
		BTFSS		IPTAL
		RETURN
		MOVF		SAYAC,W
		CALL		INTRO	
		MOVWF		VERIREG
		MOVF		VERIREG,W
		BTFSC		STATUS,Z
		GOTO		YAZI_SONU			
		MOVWF		DOT16
		CALL		SHOWSCREEN
		CALL		SHIFTSCREEN		
		MOVLW		.75
		CALL		DELAY_MS
		INCF		SAYAC,F
		GOTO		KAY
;-------------------------------------	
YAZI_SONU
		MOVLW		.16
		MOVWF		SAYAC
		BTFSS		IPTAL
		RETURN
		CALL		SHOWSCREEN
		CALL		SHIFTSCREEN		
		MOVLW		.75
		CALL		DELAY_MS
		DECFSZ		SAYAC,F
		GOTO		$-7
		RETURN
;-------------------------------------	
SHOWSCREEN
		MOVLW		.8
		CALL		SEND_CMD
		MOVLW		.2
		CALL		SEND_CMD
		MOVF		DOT1,W
		CALL		SEND_CHAR
		MOVF		DOT2,W
		CALL		SEND_CHAR
		MOVF		DOT3,W
		CALL		SEND_CHAR
		MOVF		DOT4,W
		CALL		SEND_CHAR
		MOVF		DOT5,W
		CALL		SEND_CHAR
		MOVF		DOT6,W
		CALL		SEND_CHAR
		MOVF		DOT7,W
		CALL		SEND_CHAR
		MOVF		DOT8,W
		CALL		SEND_CHAR
		MOVF		DOT9,W
		CALL		SEND_CHAR
		MOVF		DOT10,W
		CALL		SEND_CHAR
		MOVF		DOT11,W
		CALL		SEND_CHAR
		MOVF		DOT12,W
		CALL		SEND_CHAR
		MOVF		DOT13,W
		CALL		SEND_CHAR
		MOVF		DOT14,W
		CALL		SEND_CHAR
		MOVF		DOT15,W
		CALL		SEND_CHAR
		MOVF		DOT16,W
		CALL		SEND_CHAR
		MOVLW		.1
		CALL		DELAY_MS
		MOVLW		.12
		GOTO		SEND_CMD
;-------------------------------------	
DOTCLEAR
		MOVLW		' '
		MOVWF		DOT1
		MOVWF		DOT2
		MOVWF		DOT3 
		MOVWF		DOT4
		MOVWF		DOT5
		MOVWF		DOT6
		MOVWF		DOT7
		MOVWF		DOT8
		MOVWF		DOT9
		MOVWF		DOT10
		MOVWF		DOT11
		MOVWF		DOT12
		MOVWF		DOT13
		MOVWF		DOT14
		MOVWF		DOT15
		MOVWF		DOT16
		RETURN
;-------------------------------------	
SHIFTSCREEN
		MOVF		DOT2,W
		MOVWF		DOT1
		MOVF		DOT3,W
		MOVWF		DOT2
		MOVF		DOT4,W
		MOVWF		DOT3
		MOVF		DOT5,W
		MOVWF		DOT4
		MOVF		DOT6,W
		MOVWF		DOT5
		MOVF		DOT7,W
		MOVWF		DOT6
		MOVF		DOT8,W
		MOVWF		DOT7
		MOVF		DOT9,W
		MOVWF		DOT8
		MOVF		DOT10,W
		MOVWF		DOT9
		MOVF		DOT11,W
		MOVWF		DOT10
		MOVF		DOT12,W
		MOVWF		DOT11
		MOVF		DOT13,W
		MOVWF		DOT12
		MOVF		DOT14,W
		MOVWF		DOT13
		MOVF		DOT15,W
		MOVWF		DOT14
		MOVF		DOT16,W
		MOVWF		DOT15
		MOVLW		' '
		MOVWF		DOT16
		RETURN
;-------------------------------------	
CIHAN
		MOVLW		0xC0
		CALL		SEND_CMD
		CLRF		LCD_SAYAC
;*****************************************
ROUTINE
		MOVF		LCD_SAYAC,W
		CALL		YAZCIHAN
		ANDLW		0xFF
		BTFSC		STATUS,Z
		RETURN
		CALL		SEND_CHAR
		INCF		LCD_SAYAC,F
		GOTO		ROUTINE
;*****************************************						
		END

mehmet

@rayman kodlarınızı mesajınıza eklerken
"KOD" butonunu kullaniniz.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

rayman

Bastım ama olmadı. Nasıl düzeltiriz bunu ?

mehmet

#11
İlla mcu ile mi olmalı?

555 ile bir pals üretici yapılır, 60 dakikada 10ms.
açık kalır örneğin. Bu da bir mp3 okuyucu, çalma
düğmesine bağlanır. Mp3 okuyucu tek çal modu olan
bir şey seçilir. Böylece her pals gelince bir parça çalınır.

http://tinyurl.com/lbmvofj

100nF kondansatör ve 1M5 direnç ile oynayarak zaman
uzatabilirsiniz. 1K direnç de puls zamanı...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

rayman

#12
Evet olabilir....Buda mantıklı ...1saat te zamanlayıcı nasıl ayarlayacaksak ? Ve birde ödevi teslim ederken 1 saat beklemek olmaz. Dijital programlayıcıda istediğin zamanda alarmı kuurup zamanlayıcı olarakta çalıştırılabilir.

rayman

http://dosya.co/ymsq4vrl8miw/okul_zili_sema.rar.html
Burada 60 farklı alarm kaydetme özelliği olan devre var. Ancak çalıştıramadıklarını söylüyorlar forumda... Şimdi bu devreyi isis te denedim çalışıyor ama , yinede gözüm yemedi bir sorun olabilir ..... Emek boşa gitmesin diye... Sizde göz atabilirmisiniz?