Hacettepe Robot Topluluğu

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Hacettepe Robot Topluluğu"

Transkript

1 Hacettepe Robot Topluluğu

2 PIC Assembly Dersleri 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı

3 HUNRobotX - PIC Assembly Dersleri 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel - 4 Haziran 2007 Kesmelere Giriş Bu derse kesme (interrupt) tanımıyla başlayacağız ve TIMER kesmesinin kullanımı ile devam edeceğiz. Kesmeyi şu şekilde açıklayabiliriz Armada'dan çıktınız ve Ümitköy e doğru araba ile gidiyorsunuz. Birden telefonunuz çalıyor ve arabayı kenara çekip konuşuyorsunuz, konuşma bittikten sonra da yola kaldığınız yerden devam ediyorsunuz. Burada telefonun çalması kesme oluşturmuş oluyor. Araba kullanmak ise ana programınız. Araba kullanırken kesme oluştu, kesme programındaki işlemi yaptınız ve ana programa kaldığınız yerden devam ettiniz. Kesme kullanımı programımızı çok kolaylaştırabilen ve karmaşıklıktan kurtarabilen bir araçtır. Ne zaman olacağını bilmediğiniz bir durum karşısında programınızın bazı işlemler gerçekleştirmesini istiyorsanız 2 seçeneğiniz vardır: Ya ne zaman olacağını bilmediğiniz durumun oluşup oluşmadığını sürekli kontrol etmek ya da kesme kullanarak (sürekli siz programda kontrol etmezsiniz ama işlemci siz farkında olmadan kontrol eder) sadece o durum oluştuğunda gerekli işlemleri yapmak. Eğer programınız birçok işlem yapıyorsa kesmeler büyük kolaylık sağlar. Geçen derste TRISA ve TRISB yazmaçlarını görmüştük, bunlar gördüğümüz ilk ayar yazmaçlarıydı. TRISA yazmacını kullanarak PORTA'daki hangi ikililerin (pin'lerin) çıkış hangilerinin ise giriş olarak kullanılacağını ayarlıyorduk. PIC'lerde kesmeleri ayarlamak için kullanacağımız yine INTCON diye bir yazmacımız var. Hem bank 1'de hem de bank 0'da yer alan bir yazmaç olduğu için INTCON 'u programlamak için bank değiştirmeye ihtiyacımız olmayacak. 16f84'te kesmelerin oluşabileceği durumlar şunlardır: 1- Eeprom'a yazma işlemi tamamlandığında, 2- Timer zamanlayıcısı taştığı zaman (yani 255'ten tekrar 0'a döndüğünde), 3- PORTB'nin 0. ikilisinden gelen harici bir kesme olduğunda, 4- PORTB'nin 4, 5, 6 veya 7. ikililerinde bir değişme olduğunda. Siz programınızın yapacağı işleme göre INTCON yazmacını kullanarak bunlardan birisini ya da istediğiniz kadarını kullanabilirsiniz.

4 Şimdi sıra ile INTCON'daki ikililerin ne manaya geldiğine bakalım. 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı O/Y-0 O/Y-0 O/Y-0 O/Y-0 O/Y-0 O/Y-0 O/Y-0 O/Y-X GIE EEIE T0IE INTE RBIE T0IF INTF RBIF ikili 7 ikili 0 GIE: Global Interrupt Enable Đkilisi EEIE: EE Write Complete Interrupt Enable Đkilisi T0IE: TMR0 Overflow Interrupt Enable Đkilisi INTE: RB0/INT External Interrupt Enable Đkilisi RBIE: RB Port Change Interrupt Enable Đkilisi T0IF: TMR0 Overflow Interrupt Flag Đkilisi INTF: RB0/INT External Interrupt Flag Đkilisi RBIF: RB Port Change Interrupt Flag Đkilisi O: Okunabilir ikili Y: Yazılabilir ikili 0: Temizlenmiş ikili 7. ikili: GIE INTCON Yazmacının Đkilileri 1 yaparsak bütün kesmeler açık (herhangi bir kesme kullanacaksanız 1 olmalı), RETFIE komutu ile otomatik olarak 1 yapılır. 0 yaparsak bütün kesmeler kapalı (hiçbir kesmeyi kullanmayacaksanız 0 olmalı), herhangi bir sebeple program kesmeye girdiğinde "0" yapılır. 6. ikili: EEIE Eeprom'a yazma işlemi bittiğinde kesme oluşmasını istiyorsanız bu biti "1" yapmalısınız, kullanmayacaksanız "0". 5. ikili: T0IE Eğer programınızda timer kullanıyorsanız ve istediğiniz kadar saydıktan sonra kesme oluşmasını istiyosanız T0IE "1" olmalı, kullanamayacaksanız "0". 4. ikili: INTE Eğer PORTB, 0'a dışarıdan gelen bir veri ile programınız kesmeye girsin istiyorsanız bu bit "1"

5 HUNRobotX - PIC Assembly Dersleri olmalı, değilse "0" olmalı. PORTB, 0'a 1 gelince mi yoksa 0 gelince mi kesmeye girmesini istediğinizi ise OPTION_REG yazmacından ayarlıyoruz. Bundan bu dersin diğer konusunda bahsedilecek. 3. ikili: RBIE PORTB'nin son 4 ikilisini (4, 5, 6, 7) giriş olarak ayarladıysanız ve bu girişlerde herhangi bir değişim olduğunda haberiniz olsun istiyorsanız bu kesme çeşidini kullanabilirsiniz ve bu durumda bu ikili "1" olmalı, kullanmayacaksanız "0" olmalı. 2. ikili: T0IF T0IE ikilisini (5. ikili) "1" yaptıysanız ve timer 0 ile kesme oluşursa bu ikili 1 olur ve programınız kesmeye girer. Böylece kesme programınıza girdiğinizde kesmenin nasıl oluştuğunu anlayabilirsiniz. Kesmeden dönüşte bunu kendiniz "0" yapmanız gerekir aksi taktirde işlemci bir daha timer 0 vasıtası ile kesmeye girmeyecektir. Bu şekilde eğer bir daha timer 0 ile kesmeye girmesini istemiyorsanız bu ikiliyi geri 0 yapmazsınız ve bir daha da timer 0 ile kesmeye girmez. 1. ikili: INTF INTE ikilisini (4. ikili) "1" yaptıysanız ve PORTB, 0 ile kesme oluşursa bu bit 1 olur ve programınız kesmeye girer. Böylece kesme programınıza girdiğinizde kesmenin nasıl oluştuğunu anlayabilirsiniz. Kesmeden dönüşte bunu kendiniz "0" yapmanız gerekir aksi taktirde işlemci bir daha PORTB, 0 vasıtası ile kesmeye girmeyecektir. Bu şekilde eğer bir daha PORTB, 0 ile kesmeye girmesini istemiyorsanız bu ikiliyi geri 0 yapmazsınız ve bir daha da PORTB, 0 ile kesmeye girmez. 0. ikili: RBIF RBIE ikilisini (3. ikili) "1" yaptıysanız ve PORTB'nin son 4 ikilisi (4, 5, 6, 7) ile kesme oluşursa bu ikili 1 olur ve programınız kesmeye girer. Böylece kesme programınıza girdiğinizde kesmenin nasıl oluştuğunu anlayabilirsiniz. Kesmeden dönüşte bunu kendiniz "0" yapmanız gerekir aksi taktirde işlemci bir daha PORTB'nin son 4 ikilisi (4, 5, 6, 7) vasıtası ile kesmeye girmeyecektir. Bu şekilde eğer bir daha PORTB'nin son 4 ikilisi (4, 5, 6, 7) ile kesmeye girmesini istemiyorsanız bu ikiliyi geri 0 yapmazsınız ve bir daha da PORTB'nin son 4 ikilisi (4, 5, 6, 7) ile kesmeye girmez. Örnek Şimdi bir örnek yapalım ve bu örnekte de ilk derste yazdığımız programı kullanalım. Elimizde 1 düğme ve 1 LED var, düğmeye her bastığımızda LED durum değiştirecek. Yani yanıyorsa sönecek sönüyorsa yanacak. Bunun içinde PORTB, 0 harici kesmesini kullanalım. Tahmin ettiğiniz gibi düğme PORTB, 0'a bağlı olacak. LED'i de PORTB, 1'e bağlayacağız.

6 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı Assembly Programı Öncelikle PORTB'nin gerekli pin'lerini giriş/çıkış olarak ayarlayalım: BSF STATUS, RP0 ; Bank 1'e geçtik. MOVLW B' ' MOVWF TRISB ; Port B'nin 0. ikilisi hariç tüm ikililerini çıkış ; yaptık. BCF STATUS, RP0 ; Geri bank 0'a geçtik. Şimdi INTCON yazmacını ayarlayalım. MOVLW B' ' ; 7. ikili 1, dolayısı ile istediğimiz kesmeleri ; kullanabiliriz. 4. ikili 1, PORTB kesmesini ; kullanacağız, geri kalan ikililerle bu ; programda işimiz olmadığı için onları "0" ; yaptık. MOVWF INTCON GOTO $ ; GOTO komutunda "$" işareti bulunulan satırı ifade ; ediyordu, yani bulunduğun satırda kal demek oluyor bu ; komutun bütünü. Kesmeyi ayarladıktan sonraki işlem kesme alt programını yazmak olmalı. Kesme programları 0x004 numaralı program hafızasından başlayarak yazılıyordu, o zaman ORG komutu ile gerekli adresi belirtmeliyiz. Ama programın ortalarına bunu yazamayız o yüzden şimdi yazacağımız kesme programını sonradan programın üst tarafına taşımalıyız. ORG 0x000 ; Program buradan başlayacak,

7 HUNRobotX - PIC Assembly Dersleri GOTO main ; Sonra da ana programa gidecek. ORG 0x004 ; Kesme alt programı ise buradan başlayacak. BTFSS INTCON, INTF ; Kesme PORTB, 0 ile mi oluşmuş? GOTO KESMEDENCIK ; PORTB, 0 ile oluşmadıysa yapacak işlemim yok, ; kesmeden çık. MOVLW B' ' ; PORTB, 1'i bu sayı ile XOR yaparsam; PORTB, 1 ; işlemden önce "1" ise "0" olur, "0" ise "1" ; olur yani yanıyosa söner sönükse yanar. XORWF PORTB, F BTFSC PORTB, 0 ; PORTB, 0 daki düğme bırakıldı mı? GOTO $-1 ; Bırakılmadıysa bırakılana kadar bekle, çünkü düğmeye ; basılı konumdayken kesmeden çıkarsa, yine düğmeye ; basılmış gibi algılanıp tekrar kesmeye girer ve ben ; bunu istemem. KESMEDENCIK BCF INTCON, INTF ; Kesmeden çıkarken INTCON, INTF'i "0" yapmalıyım ; ki tekrar kesmeye girebilrsin. RETFIE ; Ana programda kaldığın yere geri dön. Şimdi komutların hepsini yerli yerine yazarak programımızı düzenleyecek olursak: list p=16f84 ; Projenizi hangi işlemci ile yapacağınızı ; belirtiyorsunuz. Bu satırı programın başına yazdık. CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ; Kullanacağınız donanım ; konusunda bilgi veriyoruz (Bkz: 2. Ders notları) #include <p16f84.inc> ; (Bkz: 2. Ders notları) #DEFINE PORTB, 1 LED ; Eğer yapacağınız tanımlama varsa onlar da ; buraya gelecek. ORG 0x000 ; Program buradan başlayacak, GOTO main ; Sonra da ana programa gidecek. ORG 0x004 ; Kesme alt programı ise buradan başlayacak. BTFSS INTCON, INTF ; Kesme PORTB, 0 ile mi oluşmuş? GOTO KESMEDENCIK ; PORTB, 0 ile oluşmadıysa yapacak işlemim yok, ; kesmeden çık. MOVLW B' ' ; PORTB, 1'i bu sayı ile XOR yaparsam PORTB, 1 ; işlemden önce "1" ise "0" olur, "0" ise "1" ; olur. Yani LED, yanıyorsa söner sönükse yanar. XORWF PORTB, F BTFSC PORTB, 0 ; PORTB, 0'daki düğme bırakıldı mı? GOTO $-1 ; Bırakılmadıysa bırakılana kadar bekle, çünkü düğmeye ; basılı konumdayken kesmeden çıkarsa, yine düğmeye ; basılmış gibi algılanıp tekrar kesmeye girer ve ben ; bunu istemem. KESMEDENCIK BCF INTCON, INTF ; Kesmeden çıkarken INTCO, INTF'i "0" yapmalıyım ; ki tekrar kesmeye girebilirsin.

8 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı RETFIE ; Ana programda kaldığın yere geri dön. main BSF STATUS, RP0 ; Bank 1'e geçtik. MOVLW B' ' MOVWF TRISB ; Port B nin 0. ikilisi hariç tüm ikililerini çıkış ; yaptık. BCF STATUS, RP0 ; Geri bank 0'a geçtik MOVLW B' ' ; 7. ikili 1, dolayısı ile istediğimiz kesmeleri ; kullanabiliriz. 4. ikili 1, PORTB kesmesini ; kullanacağız. Geri kalan ikililerle bu programda ; işimiz olmadığı için onları "0" yaptık. MOVWF INTCON GOTO $ ; GOTO komutunda "$" işareti bulunulan satırı ifade ediyordu. ; Yani bu komutun bütünü "bulunduğun satırda kal" demek ; oluyor. END ; Programımız burada bitiyor. Programımızdaki "GOTO $" satırı yerine uzunca bir program gelebilirdi. Bu durumda bile bizim düğme ve LED'in çalışmalarında hiçbir aksama olmaz, işlemci LED'i yakıp söndürmek için diğer işlemleri bitirmeyi beklemezdi. Bunu kendiniz GOTO $ komutu yerine bir program yazarak deneyiniz. Eeprom kesmesi 6. derste ayrıntılı olarak anlatılacağından burada bahsetmeyeceğim. PORTB'nin son 4 ikilisi ile ilgili kesmede (veya herhangi başka bir konuda) ise anlaşılmayan birşey varsa forumda sorabilirsiniz Kesme Kullanırken Dikkat Edilmesi Gerekenler 1- Programınız ana programın herhangi bir yerinde iken kesme koşulları gerçekleşebilir ve bu durumda ana programda kullandığınız değişkenlerin içerikleri, mesela W yazmacının içeriği ve SFR'lerin içerikleri kesmeden çıkışta değişime uğramış olabilir. Bu yazmaçlar kesme programında da kullanılıyorsa ve değiştiriliyorsa, kesme programının başında bu yazmaçların yedeğini almalısınız ve kesmeden çıkarken eski değerlerini geri yüklemelisiniz, 2-1'den fazla kaynaktan kesme alıyorsanız (mesela hem timer, hem PORTB, 0) kesme programının başında hangi nedenle kesme oluştuğunu kontrol edip ona göre gerekli işlemleri yapmalısınız, 3- Kesme programından çıkarken, hangi kesme oluştu ise INTCON'daki o kesmeye ait interrupt flag ikilisini tekrar pasif (0) yapmalısınız ki tekrar o kaynaktan kesme oluşabilsin.

9 HUNRobotX - PIC Assembly Dersleri Timer 16F84'ün içinde dahili olarak zamanlama veya sayma işlemlerinizi kolaylaştırması için timer (geri sayım) bileşeni bulunmaktadır. Bunun ismi TIMER 0'dır ve TMR0 yazmacı vasıtasıyla içeriği kontrol edilir, OPTION_REG vasıtası ile de ayarları yapılır. O/Y-1 O/Y-1 O/Y-1 O/Y-1 O/Y-1 O/Y-1 O/Y-1 O/Y-1 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 ikili 7 ikili 0 RBPU: Global Interrupt Enable Đkilisi INTEDG: Interrupt Edge Select Đkilisi T0CS: TMR0 Clock Source Select Đkilisi T0SE: TMR0 Source Edge Select Đkilisi PSA: Prescaler Assignment Đkilisi PS2-PS0: Prescaler Rate Select Đkilileri O: Okunabilir ikili Y: Yazılabilir ikili 1: Kurulmuş ikili Her yazmaç gibi bu da 8 ikililik bir yazmaçtır ikilileri yazmacı ayarlamak için kullanılır. 7. ikili: RBPU Hatırlarsanız bir düğme bağlarken, eğer düğmeye basılınca "1" gelmesini istiyorsak düğmenin bir tarafını direk "+"ya diğer tarafını ise bir dirençle "-"ye ve PIC'e bağlıyorduk. (yukarıdaki resimdeki gibi). Bu işleme pull-down denir. Yani düğmeye basılmadığı anda girişi "0" seviyesinde tutmak için kullanılır. Düğmeye basılmazken PIC bir direnç vasıtasıyla "-"ye bağlı iken düğmeye basılınca direk "+" ya bağlı olur ve bu sayede düğmeye basılınca "+" basılmazken de "-" gelir. Eğer bağlantıları değiştirip dirençli kısmı "+"ya bağlasaydık ve diğer kısmı da direk "-"ye bağlasaydık bu işleme pull-up denirdi. OPTION Yazmacının Đkilileri Đşlemcinin içinde de opsiyonel olarak direnç bağlamanıza gerek duymadan pull-up işlemini yapabilirsiniz ama sadece PORTB için. Eğer bu ikiliyi 1 yaparsanız pull-up dirençlerini işlemcinin içinden, haricen kullanmadan bağlayabilirsiniz. Eğer "0" yaparsanız kullanmazsınız.

10 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı 6. ikili: INTEDG Eğer PORTB, 0'ı kesme işlemi için kullanıyorsak, bu bacağa "0" gelince mi kesme olacak yoksa "1" gelince mi kesme olacak bunu değiştirebiliriz. Eğer bu ikili "0" olursa "0" gelince, "1" olursa "1" gelince kesme gerçekleşir. 5. ikili: T0CS Timer 0'da sinyal kaynağı olarak 2 seçeneğimiz var (hani ya zaman sayacak, ya da istediğimiz bir şeyi sayacak ya). Đşlemciye bağlamış olduğumuz osilatörü (kristali) ya da dışarıdan vereceğimiz bir veriyi kaynak olarak kullanabiliriz. Eğer dışarıdan bir kaynak vereceksek bunun verileceği yer PORTA, 4'tür. Bu bit "1" olursa timer 0 kaynağını PORTA, 4'ten alır, eğer "0" olursa timer 0 kaynağını osilatörden alır. Timer 0 kaynağı osilatör olarak belirtilirse Osc/4 olarak kaynağı kullanır. Yani 4 MHz lik kristal kullanıyorsanız, timer 0'ın kaynağı 1 MHz'tir yani saniyede 1 milyon defa sinyal algılıyordur. 4. ikili: T0SE Bu ikili "1" olursa timer 0, döngü sinyalinin düşen kenarı ile sayar, "0" olursa çıkan kenarı ile sayar. Düşen kenar: Bir düğmeye basınca + geldiğini düşünelim. O zaman düğmeyi bıraktığımız an +'dan -'ye geçmiş ve dolayısı ile düşen kenar üretmiş oluyoruz. Çıkan kenar: Düğmeye basınca + geliyorsa, düğmeye bastığımızda çıkan kenar üretmiş oluruz. Bu durumları şekilde görerek neden "düşen kenar" ve "çıkan kenar" tanımlarının kullanıldığını daha iyi anlayabiliriz: Sinyalimiz (Volt) 5 (Yani +) Düşen Kenar 0 (Yani -) Zaman Çıkan Kenar 3. ikili: PSA Bu ikili "0" ise önbölücü, timer 0 için kullanılır; "1" ise WDT için kullanılır. WDT'yi daha sonraki

11 HUNRobotX - PIC Assembly Dersleri derslerde göreceğiz. Önbölücü ise gönderdiğimiz sinyalleri gruplandırarak her grubun 1 sinyal olarak kabul edilmesini sağlar. Mesela önbölücü değeri 8 ise, her sinyalde timer 1 artacağına 8 sinyalde 1 artar ve 0. ikililer: Bu bitler ile önbölücünün değeri ayarlanır. Đkililerin Değerleri TMR0 Oranı WDT Oranı : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : : : 1 1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128 Tablo 1: Önbölücü Oran Seçimi Đkilileri Eğer bu ikilileri 000 olarak ayarlarsak önbölücü değeri 2 olur, yani her 2 sinyal geldiğinde timer 0, 1 sinyal gelmiş gibi işlem yapar. Eğer 256 sinyalde 1 sinyal gelmiş gibi davranmasını istiyorsak bu 3 ikiliyi 111 olarak ayarlamalıyız. Örnek Kendi kendine yanıp sönen bir LED yapalım, fakat bu yanıp sönmedeki zamanlamayı timer ile ayarlayalım. LED'imiz PORTA, 0'a bağlı olsun ve saniyede 2 defa yanıp sönsün. Saniyede 2 defa yanıp sönmesi için her yanma ve sönme arasında ¼ saniye yani 250 milisaniye olsun. Bu gecikmeyi sağlamak için biraz matematik hesabı ile önbölücü ayarlarını yapmalıyız. Eğer önbölücü ayarları yeterli gelmezse, kesme hizmet programı içerisine birkaç satırlık bir tekrarlama algoritması ekleyerek zamana ince ayar çekebiliriz. Önbölücü Ayarlarının Yapılması Eğer 4 Mhz'lik kristal kullanıyorsak 1 mikrosaniye de TMR0 yazmacının içeriği 1 artacak demiştik. TMR0, 8 ikililik bir yazmaç olduğuna göre maksimum 255'e kadar artabilir. Önbölücü ayarlanarak bu 1 mikrosaniyelik sürenin değiştirilebileceğini söylemiştik. Eğer önbölücü 16 olursa, TMR0'ın içeriği 16 mikrosaniyede 1 artacaktır. Bu da demektir ki sağlayabileceğimiz maksimum gecikmeyi 16 kat arttırdık. 4 Mhz kullanılarak toplam sağlanabilecek gecikmeye bakalım: Her TMR0 artması için gerekli gecikme TMR0 ' ın sayacağı miktar önbölücü değeri

12 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı = 1x256x256=65536 mikrosaniye = milisaniye Görüldüğü gibi maksimum sağlanabilecek gecikme bizim gereksinimimizin çok altında. Bu durumda kesme hizmet programında kesmeye girilen miktarı saydırarak, gecikme miktarını arttırmamız gerekecek. Bunu en yakın olarak sağlamak için hesaplarımızı yapalım: 50 milisaniyelik gecikme sağlarsak bunu da kesme alt programında 5 kere saydırırsak ihtiyacımız olan 250 milisaniyelik gecikmeyi sağlamış oluruz. 50 milisaniyelik gecikme için, önbölücüyü 256 olarak ayarlarsak ve TMR0 ile 195 saydırırsak =49.92 milisaniyelik bir gecikme hesaplamış oluruz. Bu da bizim için yeterli. TMR0 256 olunca taşıyor, kesme oluşturuyor demiştik. 195 saydırmak için TMR0'ı öyle bir değerden başlatmalıyız ki 195 sayınca 256'ya ulaşmalı, bu değer de tabii ki =61 'dir. Yani TMR0 saymaya başlamadan önce içeriğine 61 sayısını yüklemeliyiz. Kesme alt programında da 5 kere saydırma işlemini yaptığımızda gerekli gecikme programı yazılmış olacak. Assembly Programı list p=16f84a ; Denetleyiciyi tanımladık. #include <p16f84a.inc> ; Denetleyicinin kendisine has ; tanımlamalarını yüklemek için ; kullanılmıştır. CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC #DEFINE LED PORTA,0 SAYAC EQU 0X19 ; Kesme programında 5 kere saydırma işlemi için ; kullanılacak ORG 0x000 ; Denetleyicinin reset vektör adresi, reset yaparsak ; Program buradan devam eder GOTO BASLA ORG 0X004 DECFSZ SAYAC ; SAYAC 1 azaltıldı, 0 ise 1 komut atlandı. GOTO KESMEDENDON ; SAYAC "0" değilse RETFIE ile tekrar kesmenin ; oluştuğu adrese geri dönüldü. MOVLW D'5' ; Eğer SAYAC "0" olduysa buraya atlanacak ve bir sonraki ; kesmeye hazırlık olması için tekrar SAYAC yazmacına ; desimal 5 değeri yüklendi. MOVWF SAYAC MOVLW B' ' ; LED bağlı yer olan PORTA'da XOR işlemi ile ; durum değiştirildi, yanıyorsa söndürüldü, ; sönükse yakıldı. XORWF PORTA KESMEDENDON MOVLW D'61' MOVWF TMR0

13 HUNRobotX - PIC Assembly Dersleri BCF INTCON,T0IF ; Tekrar TMR0 kesmesi ile kesme oluşabilmesi ; için INTCON, T0IF = 0 yapıldı. RETFIE ; Programda kalınan yere geri dönüldü. BASLA BSF STATUS,RP0 ; BANK1'e geçildi. BCF TRISA, 0 ; TRISA, 0 "0" yapılarak, PORTA, 0 çıkış yapıldı MOVLW B' ' ; Đlgili ikililerle ilgili açıklama ders içeriğinde ; verilmiştir. MOVWF OPTION_REG BCF STATUS,RP0 ; BANK0'a geçildi. BCF LED ; LED'in ilk konumu sönük olarak ayarlandı. MOVLW B' ' MOVWF INTCON MOVLW D'61' MOVWF TMR0 MOVLW D'5' MOVWF SAYAC END Kaynaklar ; Đlgili ikililerin açıklaması ders içeriğinde ; verilmiştir. ; Yaptığımız hesaplamada TMR0'a 61 yükleyerek ; istediğimiz zaman gecikmesini sağlamıştık. GOTO $ ; Bu komut yerine 1000 satırlık bir program da yazsak Antrak Gazetesi PIC 16F84 Datasheet Bağlantılar ; LED'imizin istediğimiz zaman aralığında yanıp sönmesine ; zeval gelmez. Đşte bu yüzden kesme denen şeyi icat ; etmişler.

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic tanıtması

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu Makaleler PIC ile LED Yakıp Söndüren Devre PIC ile LED Yakıp Söndüren Devre Canol Gökel - 13 Ekim 2006 Giriş Merhaba arkadaşlar, bu makalemizde PIC'e yeni başlayanlar için basit

Detaylı

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ DERSĐN ADI : MĐKROĐŞLEMCĐLER II DENEY ADI : PIC 16F84 VE ĐKĐ BUTONLA BĐR LED KONTROLÜ PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ PIC 16F84 VE VAVĐYEN ANAHTAR ĐLE BĐR LED KONTROLÜ ÖĞRENCĐ ĐSMĐ : ALĐ METĐN

Detaylı

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür.

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür. BÖLÜM 4 4. PIC PROGRAMLAMA Herhangi bir dilde program yazarken, öncelikle kullanılacak dil ve bu dilin editörünü kullanabilmek önemlidir. Biz bu işlem için Mplab programını kullanacağız. Bu sebeple aslında

Detaylı

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi B Yrd.Doç. Dr. Bülent ÇOBANOĞLU Sakarya Üniversitesi, Teknoloji Fakültesi Kesmeler Kesme (Interrupt), mikro denetleyicinin gerçekleştirdiği işleme bakmaksızın belirli durumların/olayların olması durumunda

Detaylı

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI P I C 1 6 F 8 4 / P I C 1 6 F 8 7 7 K O M U T S E T İ PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 Gecikme Programları Örnek 1: Tek bir döngü ile yaklaģık

Detaylı

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } } Temrin1: PIC in PORTB çıkışlarından RB5 e bağlı LED i devamlı olarak 2 sn. aralıklarla yakıp söndüren programı yapınız. En başta PORTB yi temizlemeyi unutmayınız. Devre Şeması: İşlem Basamakları 1. Devreyi

Detaylı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - başla - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic

Detaylı

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201... 3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.

Detaylı

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK KESME NEDİR KESME ÇEŞİTLERİ INTCON SAKLAYICISI RBO/INT KESMESİ PORTB (RB4-RB7) LOJİK SEVİYE DEĞİŞİKLİK KESMESİ Ders 12, Slayt 2 1 KESME PIC in bazı

Detaylı

Komutların İşlem Süresi

Komutların İşlem Süresi Komutların İşlem Süresi PIC lerde ŞARTSIZ dallanma komutları (GOTO, CALL, RETURN gibi ) hariç tüm Assembly dili komutları 1 saat saykılı (cycle) çeker. ŞARTLI dallanma komutları ise normalde 1 saat saykılı

Detaylı

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa, KKTC E-mail: dogan@neu.edu.tr, Tel: (90) 392 2236464 ÖZET Bilgisayarlara

Detaylı

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk. HARRAN ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk. 15 Nisan 2014 1) (10p) Mikroişlemcilerle Mikrodenetleyiceleri yapısal olarak ve işlevsel olarak karşılaştırarak

Detaylı

PIC TABANLI, 4 BASAMAKLI VE SER

PIC TABANLI, 4 BASAMAKLI VE SER PIC TABANLI, 4 BASAMAKLI VE SERİ BAĞLANTILI 7 SEGMENT LED PROJESİ Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa E-mail: dogan@neu.edu.tr,

Detaylı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display ) LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü

Detaylı

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir.

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir. File register haritası Bank 0 Bank 1 0 00 INDF 0 80 INDF 0 01 TNF0 0 81 OPTION 0 02 PCL 0 82 PCL 0 03 STATUS 0 83 STATUS 0 04 FSR 0 84 FSR 0 05 PORT A 0 85 TRISA 0 06 PORT B 0 86 TRISB 0 07 0 87 EEPROM

Detaylı

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ 2.1) Hi-Tech te Interrupt İşlemleri Interrupt ya da diğer adıyla kesme, bir çok işlemin olmazsa olmazlarındandır. Pic16f877 de 15 ten fazla kesme kaynağı bulunur. Kesme

Detaylı

KESME (INTERRUPT) NEDİR?

KESME (INTERRUPT) NEDİR? KESME (INTERRUPT) NEDİR? Mikro işlemcilerle yeni çalışmaya başlayan çoğu kimseler, interrupt kelimesini duymalarına rağmen, kullanımlarının zor olduğu düşüncesiyle programları içerisinde kullanmaktan çekinirler.

Detaylı

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 PIC Mikrodenetleyiciler PIC MCU= CPU + I/O pinleri+ Bellek(RAM/ROM) Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 PIC Mikro denetleyici Programlama Assembly programlama dili, çoğu zaman özel alanlarda geliştirilen

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu Makaleler Geri Sayım Cihazı HUNRobotX - Makaleler - Geri Sayım Cihazı Geri Sayım Cihazı Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel - 22 Ekim 2006 Giriş Hepinizin bazı macera

Detaylı

Mikro denetleyicili Uygulama devresi bileşenleri

Mikro denetleyicili Uygulama devresi bileşenleri Mikro denetleyicili Uygulama devresi bileşenleri Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ; Besleme devresi, Reset sinyali, Osilatör devresi, Uygulama devresi elemanlarına İhtiyaç

Detaylı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı 1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı yazınız. SAYAC1 EQU 0X20 devam movlw B'00000000' call DELAY incf PORTB,f ;Akü ye 0' sabit değerini yaz. ;Aküdeki değer PORTB

Detaylı

KONFİGÜRASYON BİTLERİ

KONFİGÜRASYON BİTLERİ MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 2) Doç. Dr. Hakan Ündil INCLUDE Dosyalar Assembly programlarını yazarken kullanılacak register adreslerini (EQU) komutu ile tanımlamak hem

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu Step Motor Step motor fırçasız elektrik motorlarıdır. Step motorlar ile tam bir tur dönmeyi yüksek sayıda adımlara bölebilmek mümkündür (200 adım). Step motorları sürmek için, sürekli gerilim uygulamak

Detaylı

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ KOMUT AÇIKLAMALARI VE ÖRNEKLERİ Komut açıklamalarında kullanılan harflerin anlamları: F : File(dosya), kaynak ve bilgi alınan yeri ifade eder. D : Destination (hedef), işlem sonucunun kaydedileceği yer.

Detaylı

PIC Mikrodenetleyicileri

PIC Mikrodenetleyicileri PIC Mikrodenetleyicileri Intel 1976 da 8031/51 ailesini piyasaya sürdüğünde dünyanın en popüler mikroişlemcisi olmuştu. Bu işlemci dünya üzerinde 12 den fazla firma tarafından (İntel, Phillips, Dallas,

Detaylı

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü IŞIĞA YÖNELEN PANEL Muhammet Emre Irmak Mustafa Kemal Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü e-posta: memreirmak@gmail.com ÖZET Işığa yönelen panel projesinin amacı,

Detaylı

B.Ç. / E.B. MİKROİŞLEMCİLER

B.Ç. / E.B. MİKROİŞLEMCİLER 1 MİKROİŞLEMCİLER RESET Girişi ve DEVRESİ Program herhangi bir nedenle kilitlenirse ya da program yeniden (baştan) çalıştırılmak istenirse dışarıdan PIC i reset yapmak gerekir. Aslında PIC in içinde besleme

Detaylı

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR?

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR? 0 BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR? Programlamada döngü kadar etkili bir diğer kullanım şekli de alt programlardır. Bu sistemde işlemin birkaç yerinde lazım olan bir program parçasını tekrar

Detaylı

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB=00000000 BCF STATUS,5 ;bank0 a geçiş

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB=00000000 BCF STATUS,5 ;bank0 a geçiş +5V ĠġĠN ADI: PORTB DEKĠ LEDLERĠN ĠSTENĠLENĠ YAKMAK/SÖNDÜRMEK GND C F C F X R 5 U OSC/CLKIN RA0 OSC/CLKOUT RA RA RA RA/T0CKI PICFA RB RB RB RB RB RB 0 R R R R5 R R R R D D D D D5 D D D INCLUDE CONFIG P=FA

Detaylı

PROGRAMLANABİLİR ZAMANLAYICI

PROGRAMLANABİLİR ZAMANLAYICI T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ PROGRAMLANABİLİR ZAMANLAYICI BİTİRME ÇALIŞMASI SULTAN ÜÇOK 203786 HAZİRAN,2011 TRABZON T.C. KARADENİZ TEKNİK

Detaylı

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA Doç.Dr. SERDAR KÜÇÜK PORTB den aldığı 8 bitlik giriş bilgisini PORTD ye bağlı LED lere aktaran MPASM (Microchip Pic Assembly) Doç. Dr. Serdar Küçük SK-2011 2

Detaylı

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 3) Doç. Dr. Hakan Ündil Program Örneği 9 : Gecikme altprogramı kullanarak Port B ye bağlı tüm LED leri yakıp söndüren bir program için akış

Detaylı

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2017-2018 Bahar-FİNAL KISMI BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan bitlerin (C

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 3. Ders: Bazı Özel İşlev Yazmaçları ve Altprogram Kavramı HUNRobotX - PIC Assembly Dersleri 3. Ders: Bazı Özel İşlev Yazmaçları ve Altprogram Kavramı Yazan:

Detaylı

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü Ders 7, Slayt 2 1 PROGRAM 1 RAM bellekte 0x0C ve 0x0D hücrelerinde tutulan iki 8-bit sayının toplamını hesaplayıp

Detaylı

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU İSMAİL KAHRAMAN-ŞEYMA ÖZTÜRK 200713151027 200513152008 Robot Kol Mekanizması: Şekildeki robot-insan benzetmesinden yola çıkarak, bel kısmı tekerlekli ve sağa-sola-ileri-geri

Detaylı

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI Bazı pinler çevre birimleri ile çoklanmıştır. Peki bu ne demek? Mesela C portundaki RC6 ve RC7 pinleri seri iletişim için kullanılır. Eğer seri iletişimi

Detaylı

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz. Ders-2: ---------- Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz. Hazırlanan programlarda pic in zaman zaman dış ortamdan bilgi

Detaylı

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) LCD ekranlar bize birçok harfi, sayıları, sembolleri hatta Güney Asya ülkelerin kullandıkları Kana alfabesindeki karakterleri de görüntüleme imkanını verirler. LCD lerde hane

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 2. Ders: Çalışma Mantığı ve Komutlar HUNRobotX - PIC Assembly Dersleri 2. Ders: Çalışma Mantığı ve Komutlar Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel

Detaylı

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

8 Ledli Havada Kayan Yazı

8 Ledli Havada Kayan Yazı 8 Ledli Havada Kayan Yazı Hazırlayan Eyüp Özkan Devre Şemasının ISIS Çizimi Devre şemasından görüldüğü gibi PIC16F84A mikro denetleyicisinin Port B çıkışlarına 8 adet LED ve dirençler bağlı. 4MHz lik kristal

Detaylı

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı Yazan: Mustafa Tufaner, Düzenleyen: Canol Gökel - 31 Ocak 2007 Giriş Merhaba, bu

Detaylı

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü Hız Ayarlı Çoklu DC Motor Kontrolü Yazan: Mustafa Tufaner, Düzenleyen: Canol Gökel - 18 Kasım 2006 Giriş Robotikte sıkça kullanılabilecek bir uygulama ile karşınızdayız.

Detaylı

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu PIC UYGULAMALARI STEP MOTOR UYGULAMLARI Step motor Adım motorları (Step Motors), girişlerine uygulanan lojik sinyallere karşılık analog dönme hareketi yapan fırçasız, sabit mıknatıs kutuplu DC motorlardır.

Detaylı

PIC MCU da Komutların İşlem Süresi

PIC MCU da Komutların İşlem Süresi PIC MCU da Komutların İşlem Süresi PIC lerde dallanma komutları (GOTO, CALL, RETURN gibi ) hariç tüm Assembly dili komutları 1 saat saykılı (cycle) çeker. Hazırlayan: Dr.Bülent ÇOBANOĞLU 1 PIC in Bir Komutu

Detaylı

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur:

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur: PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI Temel olarak bir PIC içerisinde de iki tür hafıza bulunur: 1. Program Hafızası (ROM,PROM,EPROM,FLASH) Programı saklar, kalıcıdır. 2. Veri Hafızası (RAM, EEPROM)

Detaylı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ ÜÇ ODA BİR SALON BİR EV İÇİN HIRSIZ ALARMININ GERÇEKLEŞTİRİLMESİ HAZIRLAYAN Cevdet Selçuk KAHYALAR

Detaylı

Mikroişlemciler. Microchip PIC

Mikroişlemciler. Microchip PIC Mikroişlemciler Microchip PIC Öğr. Gör. M. Ozan AKI r1.1 Microchip PIC Mikrodenetleyiciler www.microchip.com Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler Microchip PIC Mikrodenetleyiciler

Detaylı

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2016-2017 Bahar-FİNAL KISMI (NOT: Derslerde işlenen diğer örnekler, Lab. Deneyi ve Sayı Sistemleri de Final sınavına dahildir) BÖLÜM 7 - LOJİK

Detaylı

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ Doç. Dr. Melih Cevdet İNCE DENEYLER Deney_1: 8085 Simülatör Kullanımı Deney_2: 8085

Detaylı

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2 T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2 ANKARA 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya yönelik

Detaylı

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2014-2015 Bahar-Final Kısmı (NOT: Derslerde işlenen diğer örnekler de Final sınavına dahildir) BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir

Detaylı

BUTON KONTROLÜ. Pull-Down Bağlantı (Ters Bağlantı) Butona basılmadığında Giriş=1 Butona basıldığında Giriş=0

BUTON KONTROLÜ. Pull-Down Bağlantı (Ters Bağlantı) Butona basılmadığında Giriş=1 Butona basıldığında Giriş=0 BUTON KONTROLÜ PULL-DOWN BAĞLANTI PULL-UP BAĞLANTI PIC girişlerine bağlı botonlara basılıp basılmadığını bilmez. Sadece o girişte 0 mı var 1 mi var onu bilir. Bağlantının türüne göre bu eşleştirmeyi sizin

Detaylı

Komutların İşlem Süresi

Komutların İşlem Süresi Komutların İşlem Süresi PIC lerde ŞARTSIZ dallanma komutları (GOTO, CALL, RETURN gibi ) hariç tüm Assembly dili komutları 1 saat saykılı (cycle) çeker. ŞARTLI dallanma komutları ise normalde 1 saat saykılı

Detaylı

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ Doç. Dr. Melih Cevdet İNCE DENEYLER Deney_1: Program yazma, derleme, pic e yükleme,

Detaylı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ ÜÇ ODA BİR SALON BİR EV İÇİN HIRSIZ ALARMININ GERÇEKLEŞTİRİLMESİ HAZIRLAYAN Cevdet Selçuk KAHYALAR

Detaylı

7 Segment Display ve Kesmeler (Interrupts) Hafta6-7. Dr. Bülent Çobanoğlu-SAÜ 1

7 Segment Display ve Kesmeler (Interrupts) Hafta6-7. Dr. Bülent Çobanoğlu-SAÜ 1 7 Segment Display ve Kesmeler (Interrupts) Hafta6-7 Dr. Bülent Çobanoğlu-SAÜ 1 Çevrim Tabloları Ve 7 Segment Display Uygulaması Çevrim / Bakış tabloları ile bir kodu başka bir koda dönüştürmek için kullanılırlar.

Detaylı

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR Bülent ÖZBEK Örnek Program -1- B Portuna bağlı LED leri Yakma Bu programda PIC16F84 mikrodenetleyicisinin B portuna bağlı 8 adet LED in yanması sağlanacaktır. Bunu

Detaylı

www.muhendisiz.net BÖLÜM 1

www.muhendisiz.net BÖLÜM 1 www.muhendisiz.net BÖLÜM 1 IR HABERLEŞME 1.1.IR Haberleşme Sisteminin Gerçekleştirilmesi Tüm haberleşme sistemlerinde olduğu gibi IR haberleşme sistemlerinde de modülasyon tekniğinden yararlanılır. IR

Detaylı

PIC MCU ile UYGULAMALAR

PIC MCU ile UYGULAMALAR PIC MCU ile UYGULAMALAR Gecikme Programları TMRO Gecikmesi 7 Segment Göstergeler Sayaç Örnekleri Trafik Sinyalizasyonu ADC-DAC Uygulamaları Kesmeler ve Uygulamaları Tuş Takımı (Keypad) Uygulamaları Paralel

Detaylı

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001 MOVLW k Move Literal to W k sabit değerini W saklayıcısına yükler. MOVLW h'1a' W 1A. Hexadecimal 1A sayısı W registerine yüklenir. MOVF f,d Move f f saklayıcısının içeriğini W veya f'e yükler. MOVF SAYAC,0

Detaylı

MİKRODENETLEYİCİ TABANLI KONTROL

MİKRODENETLEYİCİ TABANLI KONTROL BÖLÜM 5 EK.1. MPLAB KULLANIMI Bu bölümde MPLAB Ver 3.31.00 versiyonunun çalıştırılması ve kullanımı ana hatlarıyla anlatılacaktır. MPLAB programının diğer versiyonları da bu versiyon ile menü açısından

Detaylı

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİ Ankara, 2014 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya

Detaylı

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1 PIC Programlama Örnekleri -1 Sistem Gereksinimleri: PIC programlayicinin kullanilabilmesi için; Win98 ve üstü bir isletim sistemi Paralel port 60 MB veya daha üstü disk alani gerekmektedir. Ancak programlama

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 1. Ders: PIC Programlamaya Giriş HUNRobotX - PIC Assembly Dersleri 1. Ders: PIC Programlamaya Giriş Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel - 4 Haziran

Detaylı

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir.

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir. DENEY 1: PIC 16F84 DEN BİLGİSAYARA VERİ GÖNDERME Bu uygulamada verici kısım PIC16F84, alıcı kısım ise bilgisayardır. Asenkron iletişim kurallarına göre her iki tarafta aynı parametreler kullanılacaktır.

Detaylı

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Mikroişlemci bir programının yapmak istediği işlemleri, (hafızada bulunan komutları) sırasıyla ile işleyerek icra eder (yürütür). Bu yürütme, 1. Komutun Program

Detaylı

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31 İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18

Detaylı

Mikroislemci Kontrollu Prototip Trafik Lambalari ve Geri Sayici

Mikroislemci Kontrollu Prototip Trafik Lambalari ve Geri Sayici Mikroislemci Kontrollu Prototip Trafik Lambalari ve Geri Sayici Mahmut KISACIK ve Doç.Dr. Hasan KÖMÜRCÜGIL Bilgisayar Mühendisligi Bölümü, Dogu Akdeniz Üniversitesi Gazimagusa-Kuzey Kibris Türk Cumhuriyeti

Detaylı

Microprocessors and Programming

Microprocessors and Programming Microprocessors and Programming Dr. Kadir ERKAN Department of Mechatronics Engineering Fall : 2013 10/20/2013 1 Interpretation of Assembly Instructions ADDLW h 10 ; literal (constant) oriented ADDWF TOPLA,d

Detaylı

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre MİKRODENETLEYİCİLER Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre Mikrodenetleyici: Bir mikroişlemcinin

Detaylı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ Alt Program Yapısı Alt programın çağrılması Alt program korunur alınır ;Argumanlar R12 R15 registerlarına atanir. call #SubroutineLabel SubroutineLabel:

Detaylı

Configuration bitleri ve reset durumları hakkında kavramlar

Configuration bitleri ve reset durumları hakkında kavramlar PİC HAKKINDA KISA KISA BİLGİLER-1 Pic mikrodenetleyicilerinin 8 bit, 16 bit ve 32 bit işlemci çeşitleri vardır. Çoğu uygulamalarımız için 8 bit yeterli olmaktadır. Bu kursta kullanacağımız pic işlemcisi,

Detaylı

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI S1. Aşağıdaki eleman ya da birimlerden hangisi genel bir bilgisayar sisteminin donanımsal yapısında yer almaz? a) Mikroişlemci (CPU) b) Bellek

Detaylı

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628: 5.Eğitim E205 PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628: PIC16F628 18 pine sahiptir.bu pinlerin 16 sı giriş / çıkış

Detaylı

Yüksek Performanslı RISC CPU Özellikleri: CMOS Teknolojisi: Dış Yüzeysel Özellikler: Özel Mikrokontrolör Özellikleri: 1.

Yüksek Performanslı RISC CPU Özellikleri: CMOS Teknolojisi: Dış Yüzeysel Özellikler: Özel Mikrokontrolör Özellikleri: 1. Yüksek Performanslı RISC CPU Özellikleri: Öğrenmek için yalnızca 35 tek kelime komutları Đki dönüşümlü program komutları haricindeki bütün komutlar tek dönüşümde (400 ns @ 10 MHz) Đşletim hızı DC-10 MHz

Detaylı

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: f : File register, Herhangi bir değişkenle tarif edilen bir saklayıcı adresi (0h-7Fh) k : Sabit değer (genellikle (0-FF arasında) d : Destination

Detaylı

PIC 16F877 nin kullanılması

PIC 16F877 nin kullanılması PIC 16F877 nin kullanılması, dünyada kullanıma sunulmasıyla eş zamanlı olarak Türkiye de de uygulama geliştirenlerin kullanımına sunuldu., belki de en popüler PIC işlemcisi olan 16F84 ten sonra kullanıcılara

Detaylı

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil 2014-2015 Bahar-Vize BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.

Detaylı

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI MİKRO DENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan Ündil 2015-2016 Bahar-Vize (MİKRODENETLEYİCİLER I DERS NOTLARI nın devamıdır. Sadece VİZE için olan kısımdır) 5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

Detaylı

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI PIC16F87X te ADC MODÜLÜNÜN KULLANIMI Emre YAVUZ Temmuz 2009 PIC16F87X te ADC MODÜLÜ Ü KULLA IMI Bu makalemizde PIC16F87X serisi mikrodenetleyicilerde ADC modülünün temel düzeyde kullanımını anlatacağım.

Detaylı

http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr.

http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr. http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm B Yrd.Doç. Dr. Bülent ÇOBANOĞLU PIC MİKRODENETLEYİCİ VE AİLESİ PIC, Microchip firması tarafından üretilen,

Detaylı

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI Muciz ÖZCAN 1 Hidayet GÜNAY 2 1 Selçuk Üniversitesi KONYA 2 MPG Makine Prodüksiyon Grubu Arge- Müh. KONYA Özet Haberleşme, Elektronik, Kontrol ve

Detaylı

GAZİ MESLEK YÜKSEK OKULU ELEKTRONİK TEKNOLOJİSİ

GAZİ MESLEK YÜKSEK OKULU ELEKTRONİK TEKNOLOJİSİ T.C. GAZİ MESLEK YÜKSEK OKULU ELEKTRONİK TEKNOLOJİSİ PROJE MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 2 PROJE SAHİBİ ADI:MEHNET SOYADI:AVCI SINIF:2 ŞUBE:1 OKUL NO:092904005 BÖLÜM: ELEKTRONİK TEKNOLOJİSİ DERS

Detaylı

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir? 3.2 PIC16F84 Yazılımı 3.2.1 PIC Assembly 3.2.1.1 Assembler Nedir? Assembler,bir text editöründe assembly dili kurallarına göre yazılmış olan komutları pıc in anlayabileceği heksadesimal kodlara çeviren

Detaylı

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil 2016-2017 Bahar (MİKRODENETLEYİCİLER I DERS NOTLARI nın devamıdır. Sadece VİZE için olan kısımdır) 6. BÖLÜM - ALT PROGRAMLAR Program içerisinde

Detaylı

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİ PROGRAMLAMA 523EO0020 Ankara, 2012 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında

Detaylı

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME Ders 13, Slayt 2 1 TMR0 SAYICISI Ram belleğin h 01 adresi TMR0 adlı özel amaçlı bir saklayıcı olarak düzenlenmiştir. Bu saklayıcı bir sayıcıdır.

Detaylı

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİLER 1

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİLER 1 T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİLER 1 ANKARA 2007 Milli Eğitim Bakanlığı tarafından geliştirilen modüller;

Detaylı

Mikroişlemci Programlama Aşamaları

Mikroişlemci Programlama Aşamaları Mikroişlemci Programlama Aşamaları 1. Önce yapılacak işe uygun devre şeması çizilmelidir. Çünkü program bu devreye göre yapılacaktır. Biz ISIS programında devreyi kurabiliriz. Bu devrederb4 çıkışına bağlı

Detaylı

PIC ASSEMBLY VE MAKROLAR

PIC ASSEMBLY VE MAKROLAR PIC ASSEMBLY VE MAKROLAR Abdullah UNUTMAZ Ağustos 2009 Pic Assembly ve Makrolar H U N R O B O T X M A K A L E L E R #DEFI E #DEFINE anahtar sözcüğü ile kendi tanımladığımız değişkenler, yada include dosyalarında

Detaylı

TIMER. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

TIMER. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ TIMER SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ PIC16F877A mikrodenetleyicisinde üç adet zamanlayıcı/sayıcı birimi bulunmaktadır. o Timer0 8 bitlik

Detaylı

PIC Mikro denetleyiciler ve Programlama. Öğr.Gör.Bülent ÇOBANOĞLU

PIC Mikro denetleyiciler ve Programlama. Öğr.Gör.Bülent ÇOBANOĞLU PIC Mikro denetleyiciler ve Programlama Değerlendirme BaĢarı Puanı: Yıl içi %60+ Final %40 Yıl içi ise; Vize*60+Q1*10+Q2*10+Ödev*15+Devam*5 BaĢarı Ortalaması 40 altı olan FF dir. Diğer notlar, çana göre

Detaylı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ GENEL AMAÇLI UZAKTAN KUMANDA MODÜLÜNÜN TASARIMI VE GERÇEKLEŞTİRİLMESİ Danışman Yrd. Doç. Dr. Murat UZAM Hazırlayan

Detaylı

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) Mikroişlemci bir programının yapmak istediği işlemleri, (hafızada bulunan komutları) sırasıyla ile

Detaylı

Proton Plus ile PIC Programlama Bölüm 2

Proton Plus ile PIC Programlama Bölüm 2 Bu bölümde program Yazmaya yeni başlayanların kullanmakta çekindiği bir kavram olan Kesme (Interrupt) kullanımını ele alacağız. Kesme (Interrupt) tanımlayacak olursak, bir programının normal çalışması

Detaylı

ÇİZGİ İZLEYEN ROBOT YAPIMI

ÇİZGİ İZLEYEN ROBOT YAPIMI ÇİZGİ İZLEYEN ROBOT YAPIMI Tanımı ve Çalışma Prensibi Çizgi izleyen robot, adından da anlaşıldığı üzere, renk farkından faydalanarak bir çizgiyi takip eden robot çeşididir. Bu robot, endüstriyel alanlarda

Detaylı