Eşzamanlı Sayaçlar Bir eşzamanlı sayacın çıktı bit'leri, eşzamansız sayacın aksine, dalgacıklanma olmadan anlık durum değiştirirler. J-K ikidurumluluardan böyle bir sayaç devresi yapmanın tek yolu bütün saat girdilerini birlikte bağlamaktır, böylece her bir ve tüm ikidurumlular aynı doğru saat darbesini aynı doğru zamanda alırlar: Şu anda sorumuz, "J ve K girdileri ile ne yapacağız?" dır. Biliyoruz ki biz hala, bir ikili dizide sayma yapmak için, aynı ikiye-böl frekans biçim düzenini korumak zorundayız ve bu biçim düzeni en iyi, ikidurumlunun "geçiş" modundan faydalanarak başarılıyor. Burada J ve K girdilerinin her ikisinin de "yüksek" olması açık olan bir gerçektir. Bununla birlikte, bir eşzamansız devrede de yaptığımız gibi, eğer basitçe bütün J ve K girdilerini bir güç kaynağının pozitif yoluna bağlarsak, bu kesinlikle çalışmayacaktır çünkü bütün ikidurumlular aynı zamanda geçiş yapacaklardır: her bir ve her saat darbesinde! Dört-bit ikili sayma dizisini tekrar inceleyip bir bit'in geçiş sürecini tahmin edebilen başka biçim düzenleri olup olmadığına bakalım. Eşzamansız sayaç devresi tasarımı her bir bit geçişinin aynı zaman içinde olması ve bir önceki bitin "yüksekten" "düşüğe" (1'den 0'a) geçiş yapması gerçeği üzerine kuruludur. Bir eşzamansız sayaç devresinde, bir önceki bit'in geçiş süreci üzerine kurulmuş bir bit geçiş durumunu sinyalleyemeyeceğimiz için (bunu yapmak bir dalgacıklanma etkisi
yaratırdı), sayma dizisi içinde, bir bit geçişini tetiklemek için kullanılabilecek, bazı diğer biçim düzenleri bulmak zorundayız: Dört-bit ikili sayma dizisini incelediğimizde, bir başka tahmin edici biçim düzeni görülebilir. Bir bit geçiş yapmadan az önce, bütün bir önceki bitlerin "yüksek" olduğuna dikkat ediniz: Bu biçim düzeni de bir sayaç devresi tasarlarken kullanacağımız bir şeydir. Eğer her bir J-K ikidurumlusunu, bütün bir önceki ikidurumlu çıktılarının (Q) "yüksek" olması temeline bağlı ya da bağlı olmadan geçiş yapması için etkin kılarsak, eşzamansız devrede olduğu gibi dalgacıklanma etkisi olmadan aynı sayma dizisini elde edebiliriz. Bu devredeki her bir ikidurumlusu tam olarak aynı zamanda sinyallenecektir:
Sonuç, bir dört-bit eşzamanlı "yukarı" sayacıdır. Yüksek-dereceli ikidurumluların her biri (hem J hem de K girdileri "yüksek") eğer daha önceki bütün ikidurumlular "yüksek" ise geçiş yapmak için hazırlandı. Aksi takdirde, onu "mandal" moduna sokarak, bir sonraki saat darbesinde o anki çıktı durumunda devam etmesini sürdürerek, söz konusu ikidurumlu için J ve K girdilerinin her ikisi de "düşük" olacaktır. İlk (LSB) ikidurumlu her saat darbesinde geçiş yapmak zorunda olduğundan, J ve K girdileri de her zaman "yüksek" olacak olan V cc ya da V dd 'e bağlanırlar. Bir sonraki ikidurumlu sadece, ilk ikidurumlunun Q çıktısı, geçiş için hazır hale getirilmesi için yüksek olduğunu "hatırlaması" yeterlidir ve burada AND geçidi gerekli değildir. Bununla beraber, kalan ikidurumlular sadece, bütün düşük-dereceli çıktı bitleri "yüksek" olduğunda geçiş için hazır hale getirilmelidirler, bu da AND geçitlerini gerektirir. Eşzamanlı "aşağı" bir sayaç yapmak için, aşağı doğru sayarken her bir geçiş durumunu tahmin eden uygun bit biçim düzenlerini hatırlayacak devreyi kurmaya ihtiyacımız vardır. Dört-bit sayma dizisini incelediğimizde, bütün önce gelen bitlerin geçiş öncesinde "düşük" olması şaşırtıcı değildir. (diziyi alttan üste doğru takip ederler): Her bir J-K ikidurumlusu hem Q' hem de Q çıktıları ile donatıldıklarından dolayı, Q' çıktılarını her bir takip eden ikidurumlu üzerinde geçiş modunu etkin kılmak için kullanabiliriz. Her bir Q' "yüksek" olurken kendi Q'su ise "düşük" olur:
Bu fikri bir adım öteye götürerek, sırasıyla bir "yukarı" ve bir "aşağı" sayma dizisi için uygun bit koşullarını belirleyen çift hatlı AND geçitlerine sahip olarak "yukarı" ve "aşağı" sayma modları arasında seçilebilir bir sayaç devresi kurabiliriz ve sonra da AND geçidi çıktılarını her takip eden ikidurumlunun J ve K girdilerine bağlamak için OR geçitleri kullanırız. Bu devre ilk göründüğü kadar karmaşık değildir. Yukarı/Aşağı kontrol girdi hattı basitçe, AND geçitlerinin ya üst dizgi ya da alt dizgisini Q/Q' çıktılarını ikidurumluların takip eden seviyelerine geçirmek için etkin kılarlar. Eğer Yukarı/Aşağı kontrol hattı "yüksek" ise, üst AND geçitleri etkin kılınır ve devre fonksiyonları bu bölümde gösterilmiş olan ilk ("yukarı") eşzamanlı sayaç devresindekiler ile tam olarak aynıdır. Eğer Yukarı/Aşağı kontrol hattı "düşük" yapılmış ise, alt AND geçitleri etkin kılınır ve devre fonksiyonları bu bölümde gösterilmiş olan ikinci ("aşağı" sayaç) devre ile özdeştir. Burada "yukarı" sayma modunu gösteren devrenin şeması bulunmaktadır (bütün etkin kılınmamış devreler siyah yerine gri olarak gösterilmiştir);
Burada, "aşağı" sayma modu gösterilmiştir ve aynı gri renklendirme etkin olmayan devreleri göstermektedir. Yukarı/Aşağı sayaç devreleri çok faydalı cihazlardır. Yaygın bir uygulaması olarak makine hareket kontrollerinde, döner şaft kodlayıcıları olarak adlandırılan ve mekanik dönmeleri bir seri elektrik darbelerine çeviren cihazlar verilebilir, bu darbeler toplam hareketi takip etmek için bir sayaç devresi sinyallerler. Makine hareket ettiğinde, LED ile fototransistör arasındaki ışık demetini üreterek ve kırarak, kodlayıcı şaftı döndürür ve o suretle sayaç devresini arttırmak için saat darbeleri üretir. Böylece sayaç, makinenin ne kadar hareket ettiğinin bir elektronik göstergesi olarak, şaftın toplam hareketini bütünler ya da biriktirir. Eğer bütün ilgilendiğimiz toplam hareketi takip etmek ise ve
hareketin yönündeki değişimler ile ilgilenmiyorsak, bu ayarlama yeterli olacaktır. Bununla birlikte eğer sayacın, hareketin bir yönünde artmasını ve hareketin ters yönünde de azalmasını istersek, bir yukarı/aşağı sayaç ve değişik yönler arasında ayırt edici özelliğe sahip bir kodlayıcı/kod çözücü kullanmak zorundayız. Eğer iki set LED/fototransistör çiftlere sahip kodlayıcılar tasarlamak istersek, bu çiftler kendi karedalga çıktı sinyalleri birbirlerine 90 o faz farkı olacak şekilde konumlanırlar. Bu durumda elimizde kareleştirme çıktı denilen kodlayıcı olmaktadır (buradaki "kareleştirme" kelimesi basitçe 90 o açısal farkı göstermektedir). Saat yönündeki darbe dizisinden saat yönünün tersi olan darbe dizisini ayırt edebilmek için bir faz algılama devresi D-tipi ikiduyumlusundan yapılabilir: Kodlayıcı saat yönünde döndüğünde, "D" girdi sinyal kare-dalgası "C" girdi kare-dalgaya yol gösterecektir. Bunun anlamı "C" "düşükten" "yükseğe" geçtiği zaman "D" girdisi şimdiden "yüksek" olacaktır, bu da her saat darbesi ile D-tipi ikiduyumluyu ayarlar (Q çıktısını "yüksek" yaparak). "Yüksek" bir Q çıktısı sayacı "Yukarı" sayma moduna yerleştirir ve kodlayıcının saati tarafından (yada LED) alınan herhangi bir saat darbesi onu arttıracaktır. Ters olarak, kodlayıcı dönüşünü tersine çevirdiğinde, "D" girdisi "C" girdi dalga-formunun arkasında kalacaktır ve bunun anlamı da "C" dalga formu "düşükten" "yükseğe" geçiş yaptığında, her saat darbesi ile D-tipi ikiduyumluyu sıfırlama durumuna düşürmeye zorlayarak (Q çıktısını "düşük" yaparak), o da "düşük" olacaktır. Bu "düşük" sinyal, sayaç devresine, kodlayıcıdan gelen her saat darbesi ile birlikte azaltma komutu verir. Bu devre yada ona çok benzeyen bir şey, darbe kodlayıcı sensör üzerine kurulmuş her konumölçme devresinin tam kalbindedir. Bu tür uygulamalar robot biliminde, CNC makine araç kontrolünde ve diğer tersinir, mekanik hareketlerin ölçümlerinde çok yaygındır.