0-99 arası çift sayan sayıcı tasarımı
0-99 ARASI ÇİFT SAYI SAYAN SAYICI TASARIMI
Bu sefer ki yazımızda 0-99 arası sayıcı tasarımı yapıp bu sayıcı tasarımında sadece çift olan sayıları saydırmayı size anlatacağım.ilk olarak ön bilgi olarak bu işin iki yolunu söylemek isterim ilk ki 0-99 doğruluk tablosu oluşturmak yada iki adet 0-9 kadar sayıcı tasarlayıp her ikisini senkron olarak çalıştırmak gerekir. fakat ilk yöntem çok uzun olduğu için o yöntemi boş geçtim size ben ikinci yöntemi anlatacağım ilk kısım ola sıfırdan 9 kadar olan sayıcı tasarımını burada anlatmıştım. tasarımın aynı şekilde yapıp devreyi hazırlıyoruz. ikinci kısım ise çift istediğimiz için birler basamağının 0-2-4-6-8 şeklinde sayması gerekir bunu için bu kısmı size tasarlayacağım daha önceden anlatmadığım için..
Eğeri 0-2-4-6 olsa idi 3 bit bizim için yetecekti fakat 8 rakamı bozduğu için 4 bitlik tasarım yapmamız gerekir. aşamalarımız aşağıdaki gibidir
Şekilde görüldüğü gibi 0-2-4-6-8 döngü oluşturduk. Sayıcımız 0-2-4-6-8'e tekrardan sıfıra dönmektedir.
2. aşama sayıcımızın ilk durumlarını yazmak ilk durumda olan ifade sayısını tasarladığımız sayıcının bit sayısına göre yazıyoruz. 4 bitlik sayıcı olduğu için 2 üzeri 4 olduğundan 16 değer olmaktadır ve bu değerlerin tamamı 0-15 kadar olan sayılardır.Bunları sırayla yazarız.Aşağıdan yukarı şeklinde yazarız.
3. aşama son durumları döngüye bakarak yazma aşağıdaki şekilde ilk durumları görüyoruz. ilk durumun birinci satırı 0000(0) değerine döngüden bakarak nereye geçtiğine bakarız. 0000 değeri döngüde 0010(2) gitmekte yani son duruma 0010 yazarız. ikinci satırda ise 0001 değeri döngüde olmadığı için dont caryy yani xxxx yazarız diger değerlerde döngüye bakarak yapılır.
4 aşama ise d flip flop tablosunu oluşturmaktır.Bunu için d flip flop doğruluk tablosuna bakarız.
örneğin ilk durum tablosunda a biti ilk durumu 0 son durumu 0 dır o zaman da flipflop ta 0 olur doğruluk tablosuna göre. B biti ilk durum 2 . satır 0 dır. B biti sonraki durum 2. satır x tir.bundan dolayı Db flip flobu dont caryy olur. yazımız devam edecektir.....
0-99 çift sayan sayıcı |
Bu sefer ki yazımızda 0-99 arası sayıcı tasarımı yapıp bu sayıcı tasarımında sadece çift olan sayıları saydırmayı size anlatacağım.ilk olarak ön bilgi olarak bu işin iki yolunu söylemek isterim ilk ki 0-99 doğruluk tablosu oluşturmak yada iki adet 0-9 kadar sayıcı tasarlayıp her ikisini senkron olarak çalıştırmak gerekir. fakat ilk yöntem çok uzun olduğu için o yöntemi boş geçtim size ben ikinci yöntemi anlatacağım ilk kısım ola sıfırdan 9 kadar olan sayıcı tasarımını burada anlatmıştım. tasarımın aynı şekilde yapıp devreyi hazırlıyoruz. ikinci kısım ise çift istediğimiz için birler basamağının 0-2-4-6-8 şeklinde sayması gerekir bunu için bu kısmı size tasarlayacağım daha önceden anlatmadığım için..
Eğeri 0-2-4-6 olsa idi 3 bit bizim için yetecekti fakat 8 rakamı bozduğu için 4 bitlik tasarım yapmamız gerekir. aşamalarımız aşağıdaki gibidir
1. aşama sayıcı döngüsünü ikili sisteme göre yazma
2. aşama ilk durumları yazma,
3. aşama son durumları döngüye göre yazma
4. aşama d flip flop göre doğruluk tablosu yazma
5,aşama karnof haritası oluşturma
6. aşama kornof sadeleştirme
7. aşama proteus programında devreyi kurma
1. aşama 0-2-4-6-8 kadar sayıcı tasarımı yaptığımız için ilk olarak onluk sistemdeki sayıları ikilik sisteme çevirmek gereklidir.. örneğin; 0 sayısı 4 bitlik sisteme göre 0000, 1 sayısı 0001 dir. Daha sonra döngüyü oluşturalım
2. aşama sayıcımızın ilk durumlarını yazmak ilk durumda olan ifade sayısını tasarladığımız sayıcının bit sayısına göre yazıyoruz. 4 bitlik sayıcı olduğu için 2 üzeri 4 olduğundan 16 değer olmaktadır ve bu değerlerin tamamı 0-15 kadar olan sayılardır.Bunları sırayla yazarız.Aşağıdan yukarı şeklinde yazarız.
3. aşama son durumları döngüye bakarak yazma aşağıdaki şekilde ilk durumları görüyoruz. ilk durumun birinci satırı 0000(0) değerine döngüden bakarak nereye geçtiğine bakarız. 0000 değeri döngüde 0010(2) gitmekte yani son duruma 0010 yazarız. ikinci satırda ise 0001 değeri döngüde olmadığı için dont caryy yani xxxx yazarız diger değerlerde döngüye bakarak yapılır.
4 aşama ise d flip flop tablosunu oluşturmaktır.Bunu için d flip flop doğruluk tablosuna bakarız.
örneğin ilk durum tablosunda a biti ilk durumu 0 son durumu 0 dır o zaman da flipflop ta 0 olur doğruluk tablosuna göre. B biti ilk durum 2 . satır 0 dır. B biti sonraki durum 2. satır x tir.bundan dolayı Db flip flobu dont caryy olur. yazımız devam edecektir.....
5. aşama ise DA-DB-DC-DD flip flopların karnoflarını oluşturmak gerekir. burada işlemimiz kolaylaşması için 1 olduğu durumlarla beraber dont caryleri de karnof haritasına katıyoruz..
6. aşama
Da flip flop karnof haritası yukarıda görüldüğü gibi olur sadeleştirdiğimizde ise bc ifadesini elde ederiz.dont caryy ler bize daha sade bir devre çıkarmaya yardımcı olur.
Db flip flop karnof haritası yukarıda görüldüğü gibi olur sadeleştirdiğimizde ise b*c +bc* ifadesini
elde ederiz.
Dc flip flop karnof haritası yukarıda görüldüğü gibi olur sadeleştirdiğimizde ise A*C* ifadesini elderiz ederiz.
DD flip flop karnof haritası yukarıda görüldüğü gibi olur sadeleştirdiğimizde ise 0 ifadesini elderiz ederiz.Burada sıfır çıkmasının nedeni 1 durumu olmaması bu nedenden dolayı sıfır durumları yazılır.
Şimdi geldi iki durumu birleştirip 0-99 çift sayan sayıcı yapımına burada görüldüğü gibi ilk biz 0-1-2-3-4-5-6-7-8-9 sayıcı ve 0-2-4-6-8 sayıcı tasarladık il sayıcı onlar basamağı ikinci sayıcı birler basamağı olmaktadır. ayrı ayrı çalışırsa bizim işimize yaramayacak bundan dolayı senkron şekilde olması gerekir ilk önce birler basamağı çift şekilde 0-2-4-6-8 artacak her tur bitiminde diğer sayıcı yani 0-1-2-3-4-5-6-7-8-9 bir clok yollaması gerek yani birler basamağındaki 8 sayısı görünce onlar basamağı bir artacak bunu için 8 sayısı 1000 dir diğer 0-2-4-6 sayıların 4, biti sıfır olduğu için 8 sayısı 4. biti bize bir seçicilik sağlar. eğer bu biti diğer sayıcı clock girişine verirsek her 8 gördüğünde 1 clock yollar ama ben ilk denemede direk bağladığımda hata gördüm 8 geldiğinde direk 1 yapıyor bu da kısa süreliğine sayıyı önde gösteriyor bu hatayı gecikme sağlarsak düzelir diye düşündüm bu iki sayıcı arasına bir d flip flop bağladım bu bana gereken gecikmeyi sağladı ve sayıcı 0-99 kadar çift saydı ve geri 0 döndü... proteus devresini kısa zamanda yüklerim....:)
Hiç yorum yok: