Dijital saati tasarlarken PSpice’da bulunan elektronik bileşenlerden yararlanacağımız için bu devreyi direkle pic ile yapabilirken sayıcı entegreleri ile tasarladık. Burada sayıcı entegresi olarak 74393 entegresini kullandık. 74393 entegresi içinde iki adet mod 16 sayıcı barındırmaktadır. Sayıcı entegreleri sırayla birbirlerine clock palsi üretirler.
Saniyenin ilk dijiti tam 10 olduğu sırada yani QD ve QB 1 oldukların da kendini resetleyip saniyenin onlar basamağı dijitine bir clock palsi verir. Bunu sağlamak için QD ve QB çıkışlarını AND kapısı ile kendisinin reset ucuna saniyenin onlar basamağı dijitinin de clock ucuna uygularız. Bu AND işlemini diğer adımlarda da aynen kullanırız. Saniyenin onlar basamağı dijiti de 6 olduğu anda kendine reset dakika kısmının da birler basamağına clock palsi olarak uygulanır. Bu dijitte tıpkı saniyenin birler basamağında olduğu gibi tam 10 olduğu sırada kendini resetleyip dakikanın onlar basamağı dijitine clock palsi uygular. Dakikanın onlar basamağı dijitide 6 yı göreceği an AND kapısı sayesinde kendine reset saat kısmının birler basamağı dijitine clock palsi uygular.
Saat kısmının birler basamağı dijitide 10 olduğu sırada saatin onlar basamağı dijitine clock palsi uygular. Bu kısmın reset işlemi diğerlerinden biraz farklıdır. Çünkü bu kısım sadece 23 e kadar sayacak 24 olduğu anda sıfırlanacaktır. Bunu sağlamak için saat kısmının birler basamağı dijitine reset ucuna birler basamağı dijitinin QD ve QB uçlarının AND işlemi sonucunu ve birler basamağının 4 onlar basamağının 2 olduğu anı yani birler basamağının QC sini ve onlar basamağının QB uçlarının AND işlemi sonucunu bir OR kapısına uygulayarak çıkışını birler basamağı dijitinin reset ucuna uygularız.
Onlar basamağı dijitinin reset ucuna ise birler basamağının QC’si ve onlar basamağının QB’sini AND kapısına uygulayıp çıkışını uygularız.
Ayrıca saati gerektiğinde ayarlayabilmek için dakika ve saat kısmının birler basamağına gelen clock palslerini direk olarak vermek yerine birer OR kapısının bir girişine uygularız. OR kapılarının diğer girişlerine de birer tane buton bağlarız, bu butonların diğer uçlarını da +5 Volt’a veririz. OR kapılarının çıkışlarını clock palsi olarak uygularız. Bu sayede hem bir önceki sayıcıdan gelen clock palsiyle veya bizim el ile verdiğimiz pals ile sayabilirler. Böylece saati istediğimiz gibi ayarlayabiliriz. Tabi butona basadığımız zaman burası boşta olduğu için devre kararsız çalışabileceği için butonun bu ucunu bir tane 1K’lık direnç ile şaseye verirsek bu sorunu ortadan kaldırmış oluruz.
Devrenin PSpice çizimleri aşağıdaki gibidir. Üstteki kısım saat, alttaki kısım ise saniye ve dakika kısmıdır. Ayrı ayrı olmalarının sebebi ise kullandığımız PSpice programının öğrenci versiyonu olmasından dolayıdır. Çünkü belli bir component ve belirli düğüm sayısından fazlasına program izin vermemektedir.
Sayıcı entegrelerinin displayleri sürebilmeleri için 7448 entegresini kullandım.
Çünkü seçtiğim displayler ortak katot bağlantılı idi. Sayıcının çıkışlarını sırayla 7448 entegresinin girişlerine uyguladım ve 7448 entegresinin çıkışlarını sırasına göre displayin bacaklarına bağladım.
|
Saat Kısmu
|
dijital saat kısmı
Ayrıca devrenin Proteus programında ki çizilmiş hali aşağıdaki gibidir. Proteus da kurmamın nedeni ise her ne kadar PSpice da analiz yapsakta devrenin tam olarak çalıştığından emin olmaktı.
Saniyede bir kez palse üretebilmek için 555 ile kare dalga osilatörü oluşturduk. Burada hesaplanması gereken direnç değerleri vardı. Bunların formülleri ise aşağıda ki gibidir. tH= 0,7×(RA+RB)×C tL=0,7×RB×C T= tH + tL = 0,7×(RA+2RB)×C F=1/T = 1/(0,7x(RA+2RB)xC) RA+RB<3,3MΩ RA>1KΩ Bu hesaplamalardan sonra direnç ve kondansatör değerleri R1=3.9K, R2=68K, C=10u çıktı. Fakat entegrelerin gecikme sürelerinden dolayı tam olarak 1Hz olmadı. Bu sebepten dolayı 68K nın olduğu yere 100K lık pot, 3.9K nın olduğu yere 4.7K lık pot bağladım ve devreye bağlı iken ayarladım böylece tam 1 Hz elde etmiş oldum. Devrenin PSpice da çizilmiş hali aşağıdaki gibidir:
|
|