Hakkımızda
http://www.rigelcorp.com/8051soft.htm http://www.ceibo.com/eng/home.shtml http://www.spjsystems.com/sc51.htm
8051plusplus@gmail.com | Kayan Yazi...Kodları ve Proteus çizimini indirmek için tıklayınız... Zamanlayıcı ve sayıcılar aşağıdaki görevler için kullanılırlar. Zaman gecikmesi yaratmak için Pals zamanı veya zaman aralığı ölçmek için Pals veya oluşan olayları saymak için Çoklu işlem uygulamalarında (Multi-tasking) Kesme üretmek için Standart 8051 iki zamanlayıcı/sayıcıya sahiptir. Bu zamanlayıcı/sayıcılar 8 bit veya 16 bit zamanlayıcı/sayıcı olarak kullanılabilir. Aşağıda M1 ve M0 bitlerinin değerlerine bağlı olarak zamanlayıcı/sayıcıların hangi modlarda kullanılabileceği belirtilmektedir. TMOD M1 M0 FUNCTION | 0 0 | 8 bit counter or 8 bit timer with / 32 scaler | 0 1 | 16 bit timer/counter | 1 0 | 8 bit timer counter with auto-reload to initial start for count up | 1 1 | TC1 - disabled TH0 - TH0 is an 8 bit timer incremented by setting TR1.Interrupts are channelled to .001Bh TL0 - is an 8 bit timer/counter controlled by TMOD and TCON Zamanlayıcı/sayıcı çalıştır bitleri TR1 ve TR0, TCON registerinde bulunur. Bu bitlerden birisi "1" yapıldığında, bu bite karşılık gelen sayıcı çalışmaya başlar. Bu bitlerin değeri "0" yapıldığında zamanlama/sayma işlemleri de bitirilmiş olur. Kesme kontrolü registerinde (IE) bulunan ET1 ve ET0 bitleri, zamanlayıcı taşmasında kesme üretilip üretilmeyeceğini belirlemekte kullanılır. Bit değerinin "1" olması, zamanlayıcı/sayıcı taşmasının kesme üretmesi anlamına gelir. TMOD registerindeki C/T biti, zamanlaycı/sayıcıyı, sayıcı modunda veya zamanlayıcı modunda çalıştırmak için kullanılır. Bu bitin değeri "1" yapıldığında zamanlayıcı/sayıcı, 8051 entegrenin TX giriş pinindeki olayları saymak üzere konfigüre edilmiş olur. Bu bitin değeri "0" olduğunda zamanlayıcı/sayıcı, zamanlayıcı modundadır ve sistem osilatöründen gelen sinyali 12'ye bölerek çalışır. TMOD registerindeki GATE biti, "1" yapıldığında, zamanlayıcı/sayıcı n'in aktif olması için, INTn ve TRn bitleri "1" yapılmalıdır. GATE biti "0" yapıldığında zamanlayıcı/sayıcı n,in aktif yapılması için, TRn bitinin "1" yapılması yeterlidir. GATE biti zamanı ölçmekte, olayların zamanını ölçmekte, pals genişliğini ölçmekte kullanılır. INTx hattı "1" olduğu sürede, bu değerler sayıcya geçirilir. Sistem osilatörünün frekansı 12'ye bölünerek zaman sayması gerçekleşir. Buna göre 12 MHz osilatör kullanan bir sistemde, zamanlayıcının frekansı 1 Mhz olur.
//22-02-2007 counter.c #include <reg51.h> |
site kuruluş tarihi:19-02-2007