Sevgiyle yürek yüreğe...

Ana Sayfa    Murat DERE   Şiir    Radyoçankaya Download    Mp3   İletişim   İskilip    E-Mail

..:: ANA MENÜ ::..

Anasayfa
Murat Dere
Şiir - Yazı
Download
Radyo Çankaya
Mp3
İskilip
Bölüm Tanıtımı
Çankaya Ünivers.
İletişim
E-Mail

ELEKTRONİK

Temel Bilgi
Devre Elemanları
Temel Kanunlar
Temel Semboller
Sayısal Elektronik
Baskı devre çıkar.
Direnç Renk Kod.
Kond. Renk Kod.
Elektroniğin Tarihi
Data Sheet Arşivi

 

 ELEMANLAR

Direnç
Diyot
Kondansatör
Bobin
Transistör
Role
PUT
UJT
Triyak
Diyak
Tristör
Fet
Mosfet
Entegre
Piller

Alış verişin doğru adresi

Elektronik  

Dijital Saat

İlk önce devrenin açıklamasını yapmak istiyorum. Devrenin en önemli kısımlarından birisi saat palsini üreten kısmı. Ben bu saat palsini RTC (Real Time Clock) entegreleri yerine her yerde satılan küçük alarmlı analog saatlerin içinde bulunan elektronik devre ile sağladım. Ayrıca bunun maliyeti diğer pals üreteçlerinden daha ucuz. Piyasada özellikle seyyar satıcılarda yaklaşık olarak 1 yada 1,5 milyon arasında değişen fiyatlarla bulabilirsiniz. Bu elektronik devrenin üzerinde alarmı da bulunduğu için PIC'in bir portu ile röleyi sürerek bu alarmı kullanmam işimi kolaylaştırdı. Bu saat devresinin ürettiği palsin genliği yaklaşık olarak 0-125mV arasında değişiyor. Bunu da direkt olarak PIC'in RB0/INT ucuna bağlayamayacağım için bir adet BC237 transistor ile yükselttim. Yalnız bu elektronik devre iki saniyede bir pals ürettiği için PIC'deki saniye registerini her Interrupt palsinde iki saniye arttırdım. Devrede PIC'den LCD göstergeye veri göndermek için PIC'in sadece iki portunu (RA2 ve RA3) kullandım. Bu portlardan LCD panele paralel 8 bitlik verileri gönderebilmem için 74164 (Serial Input/Paralel Output Shift Register) ile seri bilgileri paralel 8 bit veri haline çevirdim.

Program basit. Yalnız programın boyutu çok büyük olduğu için saatin fonksiyonlarını kısıtlayıp PIC 16F84'e sığdırmak zorunda kaldım. Saatin alarm çalma, alarm çalarken bir cihazı çalıştırma, bir cihazı çalıştırıp başka bir cihazı kapatma ve bir bilgisayarı açma gibi fonksiyonları bulunmaktadır. Bu fonksiyonlardan bazılarını harici anahtarlarla, bazıları ise programın mönülerini kullanarak kontrolü yapılmaktadır. Bu devrenin yük kontrolü de yapması istenirse sadece PIC'in RB4 çıkışından bir role daha sürerek onun normalde açık ve normalde kapalı kontakları ile prizler oluşturulup istenen cihazın buralara bağlanıp zamanı geldiğinde açılıp kapanması sağlanacaktır. PIC'in RB1 girişine bağlanan anahtar kapatıldığı zaman, saatin alarmı çaldığında PIC'in çıkışları, bir butona basma süresi kadar, kısa bir müddet aktif kalır. Bu anahtar, saate bilgisayar bağlamak istendiği zaman aktif yapılır ve PIC'in RB4 çıkışındaki rölenin diğer normalde açık kontağı bilgisayarın power düğmesine paralel olarak bağlanırsa alarm kurulduğunda alarm yerine bilgisayar açılır. Tabi bunu bilgisayarınızda XP yüklü ise kullanmak daha uygun olur. Çünkü XP'nin bilgisayarı hazırda bekleterek kapatma yani bilgisayarınızı hangi durumda hazırda bekletip kapatırsanız bilgisayarınızı bıraktığınız gibi açarsınız. Örneğin saatin alarmını kurup bilgisayar moduna aldıktan sonra, XP yüklü bilgisayarınızı direkt olarak kapatmak yerine Winamp'ı açıp, bir şarkıdan başlattıktan sonra bilgisayarınızı hazırda beklet seçeneği ile kapatırsanız sabahleyin istediğiniz müzikle, istediğiniz ses yüksekliğiyle uyanma şansınız olur.

Program iki saniyede bir gelen pals ile tetiklenip interrupt alt programına dallanır ve PIC'in içinde bulunan SANIYE1 registerini INCF komutunu kullanarak iki kez arttırır ve bütün sayıcılarda olduğu gibi ulaşması gereken sayıya ulaşıp ulaşmadığını kontrol eder ve eğer ulaştıysa bir sonraki register olan SANIYE2 registerini bir arttırır ve onunda istenen sayıya ulaşıp ulaşmadığını kontrol eder. Bu şekilde iki saniyede bir pals geldikçe bütün registerler dahil olmak üzere ki bunlar içinde gün, ay, yıl, saat, dakika registerleri olmak üzere hepsini aynı mantıkla kontrol eder. Kontrollerden sonra ana programa dönerek nerde kaldıysa örneğin siz bir mönüdeyken, bir ayar yaparken veya normal konumundayken kaldığı yere döner ve ilgili registerleri değiştirerek program akışında değişikliklere yol açar. Örneğin alarm çalar veya zaman artarak göstergeyi tazeler. Alarm zamanını kontrol mantığı ise iki saniyede bir gelen zaman ile sürekli olarak ilgili registerlerin birbirine eşit olup olmadığını kontrol eder. Bu da SUBWF komutunu kullanıp STATUS registerinin ikinci bitinin bir olup olmadığının kontrolü ile yapılır. PIC'e iki saniyede bir pals gelmesi de işimi kolaylaştırdı çünkü LCD göstergeye gönderdiğim veriler arasında küçük beklemeler yapmak zorundayım. Bunun sebebi PIC16F84, LCD göstergeden daha hızlı işlem yaptığından dolayı LCD göstergenin veriyi kaydetmesi için ona zaman tanımak.

1- HEX kodu
2-Devre şeması

3-Saat devresi

 

http://www.antrak.org.tr

Murat DERE                                                                                           Devamı...

 

© DERE Design
 

 YAZARLARIMIZ

Murat DERE
Mehmet Arıncı
Özgür Yıldıran
Sabit Yılmaz
Oktay Irmak
Cemal Özalp

 PIC HAKKINDA

Genel Bilgiler
PIC Projeleri
PIC16F84 Bilgi
PIC16F628 Bilgi

ELEKT.PROGRAM

Board Maker 2
Board Maker3
EWB 5.12
Circuit Maker
Pic UP
Ic Prog 1.05
PLC Sim
MPLab 6.50

 PROJELER

Fm Verici
Yürüyen Işık
Digital Saat
Fm Alıcı
Kalem Pil Şarj

MİZAH

Tofas
Ford
Morte
Murder
Zam Talebi
Friseuse
jurannessic
Reklam
typicalmale
Penguin
Şahan Reklamlar
Şahan 1
Şahan 2

Z.DEFTERİ