Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

16F628 TANIMLAMA KISMI Devrenizi çalıştırmak için 16F628 mikrodenetleyicisini programlarken kullanacağınız tanımlama kısmı verilmiştir. Defterinize not.

Benzer bir sunumlar


... konulu sunumlar: "16F628 TANIMLAMA KISMI Devrenizi çalıştırmak için 16F628 mikrodenetleyicisini programlarken kullanacağınız tanımlama kısmı verilmiştir. Defterinize not."— Sunum transkripti:

1 16F628 TANIMLAMA KISMI Devrenizi çalıştırmak için 16F628 mikrodenetleyicisini programlarken kullanacağınız tanımlama kısmı verilmiştir. Defterinize not ediniz. Her programda kullanılacaktır. 1

2 16F628 TANIMLAMA KISMI 2 #include #fuses NOWDT, INTRC,INTRC_IO,NOPUT,NOPROTECT,NOMCLR,NOLVP #use delay(clock=4M) #byte CMCON = 0x1F #byte Tsifir=0x181 void main() { disable_interrupts(GLOBAL); set_tris_b(0b ); set_tris_a(0); CMCON = 0x07; Tsifir=32; setup_comparator(NC_NC_NC_NC);

3 3

4 Bugüne kadar yapılan uygulamalarda LED ve röle kontrol ettik. Bu elemanlar çıkış elemanlarıydı. Çıkış elemanları led ve röle haricinde motor ve farklı cihazlar olarak çeşitlendirilebilir. Röleyi kullanarak her türlü cihazı kontrol edebilmemiz mümkün. 4

5 Dijital giriş kontrolü yaparak, bu cihazları istediğimiz koşullara göre çalıştırabiliriz. Giriş elemanları kısaca, buton ve sensörler olarak nitelenebilir. Örneğin, şamandıra veya sınır anahtarı da bir giriş elemanıdır. 5

6 Bir kaç giriş elemanını da siz örnek olarak veriniz. 6

7 Dijital giriş kontrolü ile; - Butona basınca çalışsın/dursun. - Butona x kere basınca çalışsın. - Start / stop butonu, toggle butonu - Sensör görünce çalışsın/dursun. - Zaman gecikmeli çalışsın/dursun gibi uygulamalar yapabilirsiniz. 7

8 Pull – UP 8

9 Pull – UP bağlantı şeklinde, butona basılmadığında mikrodenetleyiciye 1 (Up); butona basıldığında 0 iletilir. 9

10 Pull – DOWN 10

11 Pull – DOWN bağlantı şeklinde, butona basılmadığında mikrodenetleyiciye 0 (Down); butona basıldığında 1 iletilir. 11

12 12 set_tris komutu ile programımızın başında, giriş ve çıkışları tanımlamadan, program yazmamalıyız. 1 = Giriş 0 = Çıkış Demektir.

13 13 set_tris_portadi(0b_ _ _ _ _ _ _ _); Bu komut ile mikrodenetleyicimizin hangi pinlerinin GİRİŞ olarak kullanılacağını belirleriz. Örnek : PORTB’nin 2.pininden giriş elemanı kontrol edilecekse set_tris_B(0b ); yazılır. D0 D1 D2 D7

14 14 Örnekte görüldüğü gibi set_tris komutu içerisinde B2 pinine 1 değeri atanmıştır. B2 pinine artık giriş elemanı bağlanabilir ve kontrol edilebilir. Diğer pinlere ise 0 değeri atanmıştır. Diğer pinler çıkış elemanı kontrol etmek için kullanılabilir. PORTB’nin 2.pinine giriş, diğer pinlerine çıkış elemanı bağlanabilir.

15 Bu komutun açıklamasını da siz yazınız. set_tris_b(0b ); 15

16 16 input(pin_adi); Giriş olarak tanımlanmış olan pinin dijital değerini okur. Eğer pinde 1 varsa 1 değerini, 0 varsa 0 değerini okur.

17 17

18 18 Şekildeki devrede B1 pinine bir buton bağlıdır. Butonun bağlantı şekli nedir ? Buton ile A1 pinine bağlı olan LED kontrol edilmek isteniyor.

19 19 // Tanımlama kısımlarını yazınız.(Dahili Osilatör ve reset) void main() { set_tris_b(0b ); //B0 giriş olarak tanımlandı. set_tris_a(0b ); // A portu tamamen çıkıştır. while(1) { if( input(pin_b1)==1 ) // B1= 1 ise (butona basılmışsa) { output_high(pin_a1); // koşul sağlanmışsa yapılacaklar } else { output_low(pin_a1); // koşul sağlanmamışsa yapılacaklar. }

20 If parantezi içine koşul, süslü parantezleri içine koşul sağlanınca yapılacaklar yazılır. Bu süslü parantezler içerisinde istenildiği kadar komut yazılabilir. Else’nin süslü parantezleri içine koşul sağlanmadığında yapılacaklar yazılır. Bu süslü parantezler içerisinde istenildiği kadar komut yazılabilir. 20

21 Örnek programda bir LED’in kesik çalışması buton ile sağlanmıştır. Butona basıldığında LED ışık verecek(cihaz çalışacak), butona basılmadığında LED sönecektir(Cihaz duracak). 21

22 Yukarıdaki devre şemasını ISIS’de çizip, programı simüle ediniz. 22

23 Bu sayfadan itibaren tüm sorularda; Slaytın başında verilmiş olan Tanımlama ayarları kullanılacaktır. Ve tüm sorular devre üzerinde simüle edilecektir. 23

24 Soru 1 : B1 pinine buton, A1 pinine LED1, A2 pinine LED2 bağlıdır. - Butona basıldığında LED1’in ışık vermesi - Butona basılmadığında LED2’nin ışık vermesi isteniyor. Gerekli programı yükleyerek devrenizi çalıştırınız. 24

25 Soru 2 : B1 pinine buton bağlı buton, A1 pinine LED1, A2 pinine LED2 bağlıdır. - Butona basıldığında LED1’in 5 saniye gecikmeli ışık vermesi ve 5 saniye boyunca ışık vermesi - Butona basılmadığında LED2’nin ışık vermesi isteniyor. Gerekli programı yükleyerek devrenizi çalıştırınız. 25

26 Soru 3 : B1 pinine buton bağlı, A1 pinine LED1, A2 pinine LED2, A3 pinine LED3 bağlıdır. - Butona basıldığında LED1’in ışık verip 2 saniye sonra LED2’nin ışık vermesi, LED2’nin ışık vermeye devam ederek, 3 saniye sonra LED1’in sönmesi isteniyor. - Butona basılmadığında LED3’ün ışık vermesi isteniyor. Gerekli programı yükleyerek devrenizi çalıştırınız. 26

27 Soru 4 : B1 pinine buton bağlı, A1 pinine LED1, A2 pinine LED2, A3 pinine LED3, A4 pinine LED4 bağlıdır. - Butona basıldığında LED1’in ışık verip 2 saniye sonra LED1 sönerek, LED2’nin 3 saniye boyunca ışık vermesi ve sonra sönmesi - Butona basılmadığında LED1 ve LED4’ün sıra ile 500 ms ışık verip - sönmeleri isteniyor(polis ışığı gibi). Butona basılmadığında LED2 sönük kalacaktır. Gerekli programı yükleyerek devrenizi çalıştırınız. 27

28 Soru 5 : B1 pinine buton bağlı, A1 pinine LED1, A2 pinine LED2, B0 pinine transistör ile röle bağlıdır. - Butona basıldığında LED1’in ışık vermesi ve rölenin enerjilenmesi, - Butona basılmadığında LED2’nin ışık vermesi ve rölenin enerjisinin kesilmesi isteniyor. Gerekli programı yükleyerek devrenizi çalıştırınız. 28

29 OPTİK SENSÖR 29 Sensörler de butonlar gibi giriş elemanıdır. Bir sonraki soruda optik sensör kontrol edeceksiniz. Optik sensör cismi algıladığında 0 çıkışı verir. Cismi algılamadığında 1 çıkışı verir. Bağlantı yapısı Kırmızı kablo + 5V Siyah kablo – ( GND ) Sarı kablo = Sinyal kablosu Sinyal kablosu mikrodenetleyicinin giriş olarak tanımlanan pinine bağlanır.

30 OPTİK SENSÖR 30 Tüm optik sensörler cismi algıladığında 0 çıkışı vermez. Bu konuda bir yanlış algı oluşmasın. Sadece bizim burada kullanacağımız sensörün çalışma şeklini size bildirdik. Farklı optik sensörler 0 yada 1 çıkışlı olabilir.

31 OPTİK SENSÖR 31 Kırmızı kabloyu güç kaynağınızın(breadboardınızın) + ucuna; Siyah kabloyu – ucuna bağlayacaksınız. Sarı kablo ise mikrodenetleyici tarafından kontrol edilecek pine bağlanacaktır. Sensör bağlanırken pull-up, pull-down direncine gerek yoktur.

32 Kartınız üzerinde sensörü bağlayacağınız yer. En sol + Orta - Dikkatli bağlamazsanız sensör zarar görür 32

33 Soru 6 : B5 pinine optik sensör bağlı, A1 pinine LED1, A2 pinine LED2, B0 pinine transistör ile röle bağlıdır. - Optik sensör cismi gördüğünde rölenin enerjilenip, 2 saniye sonra röle enerjili iken LED1’in ışık vermesi. Enerjilenen elemanların 5 saniye boyunca enerjili kalmaları - Optik sensör cismi görmediğinde rölenin enerjisinin kesilmesi ve LED2’nin 500 ms aralık ile yanıp-sönmesi isteniyor. Gerekli programı yazınız. Sensörü devrenize bağlayınız. Devrenizi çalıştırınız. 33

34 Gelecek Konu : If- Else If- Else kontrol yapısı 34


"16F628 TANIMLAMA KISMI Devrenizi çalıştırmak için 16F628 mikrodenetleyicisini programlarken kullanacağınız tanımlama kısmı verilmiştir. Defterinize not." indir ppt

Benzer bir sunumlar


Google Reklamları