İstanbul Teknik Üniversitesi Kontrol Mühendisliği 20 İş Günü Süreli İlk Staj Programı

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

Download "İstanbul Teknik Üniversitesi Kontrol Mühendisliği 20 İş Günü Süreli İlk Staj Programı"

Transkript

1 İstanbul Teknik Üniversitesi Kontrol Mühendisliği 20 İş Günü Süreli İlk Staj Programı İlk staj programı 9 Haziran 2008 Pazartesi günü başlamış olup 20 iş günü sürmüştür. Bu süreç boyunca Uçak Uzay Fakültesi Kontrol ve Aviyonik laboratuarında ATMEL ismi ile anılan mikro denetleyiciler üzerine çalışma yapıldı. Söz konusu stajda adı geçen laboratuarda sürdürülen bir projenin alt parçası olan yukarıda ismi anılan mikro denetleyici için düşünülen çeşitli algoritmalar koda döküldü ve her koda ilişkin uygulamalar yapıldı. Staj ATMEL ailesine ait ATmega16 mikro denetleyicinsin genel özellikleri öğrenilerek başladı. 8 bitlik bir mikro denetleyici olan ATMEL ailesinin bu üyesi ile ATMEL hakkında genel bilgi sahibi olundu. Basit giriş/çıkış işlemlerinden, kesmeler, sayıcılardan zamanlayıcılara, pwm üretilmesinden seri haberleşmeye kadar bir çok modül kullanıldı ve uygulama yapıldı. Bu üyede öğrenilen bir çok özellik parça parça koda dökülüp Proteus Isis devre modelleme programı ile uygulamalar yapıldıktan sonra ATMEL ailesine mensup bir başka mikro denetleyici olan ATmega128 ile çalışmalara devam edildi. ATmega 128 ile daha önce yazılan kodlar ve uygulamalar daha bütünlüklü olarak ele alındı. Kullanılan programlar süre ilerledikçe birleştirilip geliştirildi. Staj sonunda proje amacına uygun kod yazılarak, proje üzerinde denendi ve başarı ile çalıştığı görüldü. Staj boyunca parça parça ilerleyen çalışmalar staj sonunda olumlu sonuçlar verdi. Projede amaç şu idi: Robota USART ile gelen konum bilgisine uygun olarak hareket etmek. Ancak robot bilgiyi aldıktan sonra bilgiye göre hareket edip etmediğini belirli aralıklar ile motorlarına bağlı enkoderlar aracılığı ile kontrol etmelidir. Projede bizden istenilen robotun harekete başlaması için USART tan veri alabilmesi bu bilgiye uygun olarak PI kontrolcüsü kullanarak motorları ile uygun hızda uygun konuma gidebilmek için hareket etmesi ve her 16 milisaniyede bir doğru konuma gidip gitmediğini enkoderları vasıtası ile kontrol ederek meydana gelen hatayı yine PI kontrolcüsü aracılığı ile gidermesi. Bu belgede staj boyunca ATmega16 ile başlayan süreç anlatılacak, ATmega 16 ve ATmega128 mikro denetleyicileri ile ele alınan konular anlatıldıktan sonra konuya uygun kod yazılacak ve ardından Proteus Isis programının ekran çıktıları ile koşturulan programın sonuçları verilecektir. Belgenin sonunca ise projenin stajyerlerden istediği programın tamamı verilecektir. Belgenin genel dökümü aşağıdaki gibidir: 1. ATmega16 2. ATmega Temel İşlemler 4. Kesmeler 5. Harici Kesmeler 6. Zamanlayıcı, Sayıcı ve PWM Üreticiler 7. USART 1

2 1. ATmega16 Genel Özellikler ve Bacak (Pin) Diyagramı Aşağıda ATmega16 ya ait bir kısım özellikler görülmektedir. Yüksek performanslı düşük güçlü AVR 8-bit Mikro denetleyici Gelişmiş RISC mimarisi 32 x 8 Genel Amaçlı Çalışan Yazmaçlar (Kütükler-Registers) Tamamıyla Statik (sabit) İşleyiş 16 MHz de 16 MIPS e Kadar Çıkabilme Çip üzerinde 2 çevrimli çarpım Yüksek Dayanıklı Geçici Olmayan (Non-volatile) Bellek Bölümleri 16K Byte Flash Program Belleği 512 Byte EEPROM 1K Byte Dahili SRAM Yaz/Sil Sayısı: 10,000 Flash/100,000 EEPROM (ilgili koşullar üretici bilgi sayfasında) Veri (Data) Saklama: 20 yıl 85 C de/100 yıl 25 C de JTAG (IEEE std Compliant) Arayüzü Programlanabilir Flash, EEPROM, Sigortalar ve JTAG arayüzünde Kilit Bitleri Arayüz Özellikleri 2 Adet 8-bit Zamanlayıcı/Sayıcı (Timer/Counters) ile Ayrık Prescalers ve Karşılaştırma Modları Bir adet 16-bit Zamanlayıcı/Sayıcı (Timer/Counter with Ayrık Prescaler ve Karşılaştırma Modu ve Capture Modu Ayrık osilatör ile gerçek zamanlı sayaç 4 PWM Kanalı 8 Kanallı, 10-bit ADC 8 Single-ended Kanal Byte-yönelimli 2 kablolu seri arayüz Programlanabilir Seri USART Master/Slave SPI Seri Arayüz Programlanabilir Watchdog Timer ile Ayrık On-chip Osilatörü On-chip Analog Karşılaştırıcı Özel Mikro denetleyici Özellikleri Power-on Reset ve Programlanabilir Brown-out Detection Dahili Ayarlı RC Osilatör Harici ve Dahili Kesme Kaynakları 6 Çeşit Uyku Modu : Idle, ADC Gürültü Azaltma (Noise Reduction), Power-save, Power-down, Standby ve Extended Standby I/O ve Paketler(modüller) 32 Programlanabilir Giriş/Çıkış (I/O) Dizisi 40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF Çalışma Voltajı V ATmega16L için V ATmega16 için Hız Seviyeleri 0-8 MHz ATmega16L için 0-16 MHz ATmega16 için Güç 1 MHz, 3V, ve 25 C ATmega16L için Aktif: 1.1 ma Çalışmazken(Idle Mode): 0.35 ma Kapatıldığında (Power-down Mode): < 1 µa 2

3 Pin Diyagramı Aşağıda staj süresince üzerinde uygulamalar yapılan ATmega16 ya ait pin diyagramı görülmektedir. Pin Tanımları Şekil 1 VCC: Dijital Besleme Gerilimi GND: Toprak Port A (PA7..PA0): Port A Analog Dijital Çevirici için analog giriş görevini yapar. Port A ayrıca A/D Çevirici kullanılmadığında 8-bitlik iki taraflı Giriş/Çıkış portu olarak görev yapar.port A pinleri seçili tüm bitler için dahili pull-up direncine sahiptir. Port A çıkış kanalları simetrik sürüş karakteri ile high sink ve source capability e sahiptir. PA0 ve PA7 pinleri giriş olarak ayarlanıp, harici olarak pulled-low yapıldığında, eğer dahili pull-up dirençleri aktif ise bu pinler akımı beslerler. Port A pinleri, saat darbeleri olmasa da bir reset durumu meydana geldiğinde tri-stated olurlar. Port B (PB7..PB0): Port B seçilen her biti için dahili pull-up direnci olan 8-bitlik iki yönlü Giriş/ ÇIKIŞ portu olarak görev yapar. bit). Port B çıkış kanalları simetrik sürüş karakteri ile high sink ve source capability e sahiptir.port B giriş olarak ayarlandığında eğer pull-up dirençleri aktif hale getirilmişler ise harici olarak pull low yapılmış pinler akımı beslerler. Port B pinleri, saat darbeleri olmasa da bir reset durumu meydana geldiğinde tristated olurlar. Port B ayrıca ATmega16 için üreticinin bilgi sayfasında yazılı olan çeşitli özelliklere sahiptir. 3

4 Port C (PC7..PC0): Port C seçilen her bit için dahili pull-up direnci olan 8-bitlik iki yönlü Giriş/Çıkış portudur. Port C çıkış kanalları simetrik sürüş karakteri ile high sink ve source capability e sahiptir.giriş olarak ayarlandıklarında, harici pulled-low yapılmış Port C pinleri eğer pull-up dirençleri aktif hale getirilmiş ise akımı beslerler. Port C pinleri, saat darbeleri olmasa da bir reset durumu meydana geldiğinde tri-stated olurlar. Eğer JTAG arayüzü açık ise, PC5(TDI), PC3(TMS) ve PC2(TCK) pinlerinde bulunan pull-up dirençleri bir reset meydana gelse de aktif olurlar Port D (PD7..PD0): Port D seçilen her bit için dahili pull-up direnci olan 8-bitlik iki yönlü Giriş/Çıkış portudur.port D çıkış kanalları simetrik sürüş karakteri ile high sink ve source capability e sahiptir. The Port D pinleri, saat darbeleri olmasa da bir reset durumu meydana geldiğinde tri-stated olurlar. Port D ayrıca ATmgea16 ya ait üretici bilgi, sayfasında yer alan başka özelliklere de sahiptir. RESET: Reset Girişi. Saat darbesi olmasa da genliği minimum darbe genliğinden (bu genlikle ilgili ayrıntı üretici bilgi sayfasında yer almaktadır) uzun olan bir düşük seviye (mantıksal sıfır-logic sıfır-low level) darbesi geldiğinde reset durumu meydana gelir. XTAL1: Osilatör Bacağı XTAL2: Osilatör Bacağı AVCC: AVCC Port A ve A/D Çevirici için besleme gerilimi pinidir. ADC kullanılmasa da harici olarak VCC bacağına bağlanmalıdır. ADC kullanılır ise alçak geçiren (low-pass) filtre ile VCC bacağına bağlanmalıdır. AREF: AREF A/D Çeivirci için analog referans pinidir. 2. ATmega128 Staj süresince kullanılan bir diğer mikro denetleyici 8 bitlik ATmega128 dir. ATmega128 in sahip olduğu özellikler ATmega16 dan daha fazla olmak üzere yukarıdakilere benzer olduğu için tekrar ele alınmayacak belgede yeri geldikçe ATmega128 in ATmega16 dan farklı olan tarafları anlatılacaktır. Şekil 2 de ATmega128 in bacak dizilimi görülmektedir. Şekil 2 4

5 3.Temel Çalışmalar Stajda ilk çalışma temel giriş/çıkış işlemleri ile başlamıştır. Bu sayede Atmel ailesine mensup mikro denetleyicilere ait yazmaçlar (kütükler-registers) öğrenilmeye başlanmıştır. İlk olarak ATmega16 nın bir devrede hangi bağlantılara sahip olacağı öğrenilmiştir. Şekil 3 te Atmega16 nın bağlanış şekli gösterilmiştir. Proteus Isis besleme bacaklarını otomatik olarak bağladığından şekilde VCC ve Ground bacakları görülmemektedir. Şekilde görüleceği üzere şayet dahili osilatör kullanılmadığında harici osilatörün nasıl bağlanacağı, reset işlemi için nasıl bir bağlama şekli gerektiği gösterilmiştir. Bundan sonraki çalışmalarda Proteus dahili kristali istenilen biçimde değiştirmeye izin verdiğinden ve besleme bacakları otomatik olarak yapıldığından devre bu şekilde bağlanmadan uygulamalar yapılacaktır.. Şekil 3 Uygulama 1:Temel Giriş/Çıkış İşlemleri Şekil 4 te ilk uygulamaya dair AVR Studio nun genel görünümü ile yazılan ilk program görülmektedir. AVR Sudio nun sol tarafında programla ilgili header files, source files gibi programın derlenmesini ve çalışmasını sağlayan dosyalar bulunmaktadır. Ortadaki ekranda C kodu görülmektedir. Sağ yanda ise AVR ye ait simülasyon ekranı bulunmaktadır. Bu ekranda programcıya ATmel16 ya dair tüm modüller (kesmeler,spi,usart gibi modüller yazmaçlar bayraklar ) sunulmaktadır. 5

6 Şekil 4 Şekil 5 6

7 Şekil 5 te yazılan ilk program görülmektedir. Programda öncelikle ATmega16 ya it giriş/çıkış kütüphanesi (i/o.h) eklenmiştir. Ardından geleneksel C dili yazımında olduğu üzere bir main() (ana fonksiyon) açılmıştır. DDRB = 0b yapılarak B portuna ait tüm pinler çıkış yapılmıştır. DDR data direction register in kısaltılmışı olup veri alış verişinin hangi yönde olacağına karar verir. Mantıksal (logic) 0 değeri giriş(input) anlamına gelirken, mantıksal 1 çıkış(output) anlamına gelmektedir. Bunun ardından PORTB=0b yapılarak PORTB den sırasıyla 0.,2.,4.,6. pinler mantıksal 1 değeri verirken diğer pinler mantıksal 0 değeri verirler. Şekil 6 da uygulamaya ilişkin devre çıktısı yer almaktadır: Şekil 6 Uygulama 2:Bekleme Fonksiyonu İle LED Yakıp Söndürme Şekil 7 de Uygulama 2 ile ilgili program görülmektedir. Bu programda önce iki adet kütüphane eklenmiştir. Birinci kütüphane giriş çıkış işlemleri ile ilgili olan, ikinci kütüphane ise bekleme işlemleri ile ilgili olan kütüphanedir. Ardından sayaç için tamsayı tipinde bir değişken tanımlanmıştır. Ana fonksiyonda D protu çıkış olarak ayarlanmış, PORTD binary cinsinden bir değere(0b ) eşitlenerek, hangi pinin 5V, hangi pinin 0V vereceği yazılmıştır. Ardından program bir döngüye sokulmuş(while(1)) ve içinde PORTD, 0b ile ve lenmiştir. Bu işlemin ardından her bitin tersi alınmıştır. Sırasıyla gösterilecek olursa; PORTD( ve lendikten sonra)=0b olmuş, PORTD( ters lendikten sonra)=0b olmuştur. Bundan sonra 350 ms beklenmiş sonra bu yeni değer yeniden ve lenerek ve ters lenerek eski haline gelmiştir. 7

8 Şekil 7 Şekil 8 8

9 Şekil 9 Şekil 8 ve 9 da bu programa uygun çıktı görülmektedir. Staj süresince bu ve bunun gibi bir çok uygulama kesmelerde,seri haberleşmede,pwm üretiminde uygulandı. Bu gibi temel işlemler öğrenildikten sonra stajın ikinci safhasında kesmelere başlandı. İlk olarak harici kesmeler ele alındı. 4. Kesmeler Kesme, gömülü sistemler için önemli bir kavramdır. Bir mikro denetleyicide bir program koşarken, kesmeye sebep olacak bir durum meydana geldiğinde (kesme bayrağını aktif hale getirecek-set edecek-bir durum) program nerede olursa olsun, hemen kesme ile ilgili olan alt programa dallanır. Kesme içindeki işlemler bitinceye veyahut kesme koşulu bir şekildi sonlandırılıncaya kadar bu dalın içinde kalır. Kesme koşulları sona erdiğinde program ana fonksiyona geri döner ve kaldığı yerden çalışmaya devam eder. Atmega ailesine mensup olan mikro denetleyicilerde bir çok yazmaçta(register-kütük) kesmeye dair bayraklar ve yazmaçlar(kütük-register) bulunabilir. Stajda ileriki uygulamalarda ele alınan projelerden fark edileceği üzere kesmeler bir çok yerde kullanılmaktadır. Bu sebepten daha stajın ilk günlerinden içlerinde kesmelere dair bit bulunduran, kesmeleri başlatan, bitiren bir çok yazmaç ele alınmış ve bu yazmaçlara bağlı olarak uygulamalar yapılmıştır. Bundan önce üreticinin bilgi sayfasında(datasheet) sayfa 45 ten alınan ATmega16 da bulunan kesme çeşitlerine bakılacak olursa: 9

10 Tablo 1 Tablo 1 de görüldüğü üzere ATmega16 da bir çok kesme çeşidi vardır. Şimdi bu kesmeleri kullanmayı öğrenmek için bakılan yazmaçlara ve onların görevlerine bakalım. Staj süresince ilk ele alınan yazmaç Status Register ve onun içinde yer alan SREG in 7. biri Global Interrupt Enable dır. Status register çalıştırılmış aritmetik işlermlerin sonuçları hakkındaki veriyi içerir. Bu bilgi programın akışını değiştirmek için kullanılabilir. SREG, Aritemek mantıksal ünitenin (Arithmetic Logic Unit-ALU) işlemlerinden sonra güncellenir. Bu sayede programın daha hızlı koşturulması sağlanır. AVR Status Register-SREG- şöyle gösterilir: Tablo 2 SREG in 7. biti Staj süresince yapılacak uygulamalar için oldukça büyük önem taşımaktadır: 10

11 Bit 7 I: Global Interrupt Enable : Kesmelerin aktif hale getirilmesi için Global Interrupt Enable ayarlanmalıdır( 1 yapılmalıdır-set edilmelidir-aktif hale getirilmelidir). Bu aşamadan sonra ayrı ayrı her interrupt kendi bayrakları sayesinde aktif hale getirilebilir. Ancak Global Interrupt Enable Register temizlendiğinde( aktif halden çıkarıldığında ) hiçbir kesme çalışmaz. Bu yazmacın kesmeler için başlama noktası anlamına gelen 7. bitine bakıldıktan sonra genelden özele ilerleyerek, bir başka yazmaç ele alındı. General Interrupt Control Register ismini taşıyan bu yazmacın bit yapısı şu şekilde idi: Tablo 3 Tablo 3 ten anlaşıldığı üzere GICR, harici kesmeleri temsil eden INT0-1-2 bitleri ile IInterrupt vector select ile Interrupt Vector change Enable bitlerini taşımaktadır. IVSEL ve IVCE, C kodu üzerinden işaretlenebildiğinden(atmel de vektör isimlerinin ayrı olup çağırıldıklarında bu bitler derleyici tarafından otomatik olarak ayarlanmaktadır) kod yazılırken dikkate alınmadı. Ancak harici kesmelerin aktif hale gelmesini sağlayan son 3 bit önemlidir. Bu nokta ileride anlatılacaktır. Sonuç olarak stajın bu safhasında Atmel ailesine mensup bir mikro denetleyicide Kesme çeşitleri, haritası ve de kesme işlemleri için önce hangi adımın atılması gerektiği görüldüğü,bunun ardından ilk kesme çeşidi olan harici kesmeler ile ilgilenildi. 5. Harici Kesmeler Harici kesmeler INT0,INT1,INT2 pinlerinin tetiklenmesi ile meydana gelir. INT0-1-2 pinleri çıkış olarak ayarlansalar da eğer aktif hale getirildilerse kesme meydana gelir. Harici kesmeler kendisine gelen elektriksel sinyalde düşen kenar, yükselen kenar veya herhangi bir mantıksal değişim sonucunda tetiklenebilir. MCU Control Register (MCUCR) isimli yazmaçta yapılan ayarlamalarla kesmenin ne zaman meydana geleceği ayarlanabilir. Kesme durumu meydana gelince program, harici kesme fonksiyonuna dallanır ve orada yazan kodu işlemeye başlar. Tablo 4 Tablo 4 te harici kesme ile ilgili olan MCUCR(MCU Control Register) görülmektedir. Aşağıda ise bu bölümde işe kullanılacak olan bitler ele alınmıştır. Bit 3, 2 ISC11, ISC10: Interrupt Sense Control 1 Bit 1 and Bit 0 Harici kesme 1 (The External Interrupt 1 ) SREG ayarlanıp, GICR de INT1 ile ilgili bit ayarlandığında aktif hale gelir. ISC11 ve ISC10 ise INT1 pinine gelen elektriksel sinyalle ilgilidirler. Bu bitler hangi elektriksel sinyalde harici kesmenin aktif olacağını belirlerler. Tablo 4.1 de bu durum anlatılmaktadır. 11

12 Tablo 4.1 Interrupt 1 Sense Control ISC11 ISC10 Açıklama 0 0 INT1 0 (low level) iken kesme üretir. 0 1 Herhangi bir mantıksal değişim (Any logical change) kesme üretir. 1 0 INT1 düşen kenarda kesme üretir. 1 1 INT1 yükselen kenarda kesme üretir. Bit 1, 0 ISC01, ISC00: Interrupt Sense Control 0 Bit 1 and Bit 0 SREG ve ona ilişkin kesme maskesi aktif hale getirildiğinde INT 0 aktif hale gelir. Bu bitler de yukarıdaki bitlerle aynı görevi yaparlar. INT0 harici kesmesinin hangi elektriksel değişim sonucunda medya geleceğini anlatan bu bitlerin hangi durumda ne yapacakları Tablo 4.2 da anlatılmaktadır. Table 4.2 Interrupt 0 Sense Control ISC01 ISC00 Açıklama 0 0 INT0 0 (low level) iken kesme üretir. 0 1 Herhangi bir mantıksal değişimde INT0 kesme üretir. 1 0 INT0 düşen kenarda kesme üretir. 1 1 INT0 yükselen kenarda kesme üretir. INT2 ile ilgili kesme aşağıdaki yazmacın sorumluluğundadır. MCU Control and Status Register MCUCSR isimli bu yazmacın bit haritası aşağıdaki gibidir. Tablo 5 Bu bitlerden INT2 ile ilgili olan bit ISC2 dir. Bit 6 ISC2: Interrupt Sense Control 2 Asenkron Harici Kesme 2, SREG e ait I-bitinin(Interrupt) ve de GICR de INT2 ye ait bitin aktif edilmesi ile çalışabilir. ISC2 0 yapıldığında, INT2 harici kesmesi düşen kenarda aktif hale gelir. ISC2 1 yapıldığında ise yükselen kenarda aktif hale gelir. INT0-1-2 harici kesmlerini aktif hale getiren yazmaç Tablo 6 da bit haritası görülen GICR dir. Tablo 6 12

13 Her 3 kesmeyi de aktif hale getirmek için, SREG biti ayarlanıp, ilgili ISCxx bitleri de istenilen kesmeye girme biçimine getirilip GICR de ilgili kesme biti 1 yapıldığında harici kesme kullanıma hazır hale getirilmiş olur. Uygulama 3:INT0 ve INT1 Harici Kesme Kullanımı Şekil 7 de Uygulama 3 e ait kod görülmektedir. Kodda öncelikle kesme(interrupt.h) ve bekleme(delay.h) işlemlerine dair kütüphaneler eklenmiştir. io.h isimli header file, interrupt.h dosyasının içinde olduğundan yeniden eklenmemiştir. Ardından INT0 ve INT1 kesmelerinin vektörlerini ayarlayan ISR(INT0_vect) ve ISR(INT1_vect) fonksiyonları yazılmıştır. Bir harici kesme durumu oluştuğunda program bu iki fonksiyondan birine dallanmaktadır. Kesme fonksiyonlarının içinde ise PORTB yi artırılıp azaltılarak görsel çıktı sağlanmak istenmiştir. Ana fonksiyonun içinde B portı çıkış D portu giriş olarak ayarlanmıştır. SREG de I-biti diğer bir ifade ile kesmeleri aktif etmek için gerekli olan bit 1 yapılmıştır. GICR nin son 3 biti 1 yapılarak INT kesmeleri hazır hale getirilmiştir. Ardından ISCxx bitleri programda gibi INT1 için düşen kenarda INT0 için yükselen kenarda kesmeye girmek üzere ayarlanmıştır. Şekil 10 Şekil 11 de devrenin başlangıç durumu görülmektedir. Şekil 12 de ise INT0 ın bağlı olduğu butona basılınca meydana gelen değişim gözlenmektedir. INT0 butonuna basıldığında INT0 toprakla kısa devre halindedir. Diğer bir deyişle düşen kenardadır. Çekildikten sonra ise 5V a kısa devredir. İlk yükselen kenar. Böylece ilk basıp-çekme sonucunda bir kesme meydana gelir. Burada 2 1 *1+2 2 *1=2+4=6 dan butona toplam 6 kere basılıp çekildiği anlaşılmaktadır. 13

14 Şekil 13 te ise INT1 butonuna basılmış ve PORTB nin değeri 1 azalmış şekilde görülmektedir. 6-1=5 ya da 2 0 *1+2 2 *1=1+4=5 eşitliklerinden bu durum anlaşılabilir. INT1 butonuna basıldığı anda 5V tan 0V ta geçiş olduğundan basıldığı an düşen kenarla karşılaşılır ve PORTB bir azalır. Çekildiğinde ise bir şey olmaz. Şekil 11 14

15 Şekil 12 Şekil 13 15

16 Bu çalışma ile ilk defa bir kesme kullanılmış oldu. Genel olarak yazmaçların nasıl işlediği anlaşıldıktan sonra zamanlayıcı/sayıcı/pwm üretici modüller ve onlara ait yazmaçlar öğrenilmeye başlandı. Tablo 7 6.Zamanlayıcı, Sayıcı ve Pwm Üreticiler Atmega16 da 8 bitlik 2, 16 bitlik 1 adet zamanlayıcı vardır. Tablo 7 de timer0 a ait yazmaç haritası görülmektedir. Bu haritada görülen bitlerden WGMxx ile başlayan bitler wave generation mode (dalga üretim modu) anlamına gelmektedir. Tablo 8 de bir bakıma bu bitlerin ne iş yaptığı özetlenmiştir. ATmega16 ve 128 de zamanlayıcıların bir çok fonksiyonu vardır. bir bitin değeri ile oynanılarak pwm üretimin frekansı değiştirilebilir, genliği değiştirilebilir ve bütün bunların hemen hepsi birkaç bitte ufak oynalarla gerçekleşir. Uygulamalar yapıldıkça tüm bu bitler daha rahat anlaşılacaktır. COMxx ile başlayan bitler compare match output mode ifadesinin kısaltılmış halidir. WGMxx lerin durumlarına göre OC0 pinin davranışını belirlerler. Tablo 8 Tablo 9 16

17 Tablo 10 Tablo 11 Üreticinin bilgi sayfasından alınmış olan yukarıdaki tablolardan şunlar anlaşılmaktadır. Zamanlayıcının nasıl bir dalga üreteceği seçilir. Ardından seçilen dalgaya uygun OC0 pinin davranışı COMxx isimli bitler aracılığı ile belirlenir. Son olarak da bütün bu dalga üretiminin hangi saat darbesi ile ne kadar sıklıkla yapılacağı CSxx (clock select) bitleri ile aşağıdaki tablodaki gibi belirlenir. Tablo 12 Yine zamanlayıcı modülüne ait Tablo 13 te bit haritası görülen timer counter register isimli TCNT0 sayıcı uygulamalarında kullanılır. Tablo 13 17

18 Tablo 14 Tablo 14 te ise output compare register isimli OCR0 a ilişkin bit haritası gösterilmiştir. OCR0 kendine atanan değeri sürekli olarak TCNT0 ile karşılaştırır. Bu karşılaştırmalar sonucunda bu ikisinin birbirlerini yakaladıkları nokta ya kesmeye girmenin tetikleyicisi olan ya da dalga üretimini başlatan noktadır. Ve bu noktada olan olaya göre OC0 pinin davranışı belirlenir. Tablo 15 Tablo 15 te zamanlayıcı modülüne ait kesmelerden sorumlu timer interrupt mask register isimli yazmaç görülmektedir. Bit 1 OCIE0: Timer/Counter0 Output Compare Match Interrupt Enable OCIE0 1 yapıldığında(sreg de kesmeler açılmış iken ) Timer/Counter0 Compare Match interrupt kesmesi aktif olur. Timer/Counter0 da bir karşılaşma meydana geldiğinde Timer/Counter0 Output Compare Match Interrupt Enable kesmesi meydana gelir. Bit 0 TOIE0: Timer/Counter0 Overflow Interrupt Enable TOIE0 1 yapıldığında(sreg de I-biti açılmış iken) Timer/Counter0 Overflow interrupt kesmesi aktif olur. Timer/Counter0 da taşma meydana geldiğinde Timer/Counter0 Overflow Interrupt Enable kesmesi meydana gelir. 18

19 Uygulama 4:Zamanlayıcı Modülü ile Sayaç Kullanımı Şekil 14 Kodda her zamanki gibi gerekli kütüphane yazıldı. Ardından giriş çıkış portları ayarlandı. Sonra üreticinin bilgi sayfasından elde edilen değerler timer counter control register 0 (TCCR0) yazmacına atandı. Burada CSxx bitleri yükselen kenarları say şeklinde ayarlandı. COM00 seçilerek toggle modu ayarlandı. Böylece yükselen kenar sayısı TCNT0 a (timer counter 0) aktarıldı.ardından ana fonksiyonda bu değer PORTD ye yazdırıldı. Şekil 15 te uygulamaya ilişkin kod çıktısı görülmektedir. Şekil 15 19

20 Uygulama 5:PWM Üretimi Şekil 16 Şekil 17 Şekil 18 20

21 Şekil 16 da bulunan kodda OC1A ve OC1B ye ilişkin port çıkış yapıldıktran sonra, üreticinin bilgi sayfasına bakılarak faz doğrultmalı, evirilmemiş -OCRxx yazmacındaki değere ulaşıncaya kadar 1, o değerden sonra ise 0 veren- 8 bitlik PWM üretilmiş ve çıktısı Şekil 17 ve 18 de gösterilmiştir. Atmega16 da veya 128 de bu ve bunun gibi bir çok pwm üretim şekli vardır. bunlardan bir diğer önemli olanı fast pwm olarak anılan normal pwm in 2 katı frekansı sahip olan pwm dir. Bu ve bunun gibi konular ileri ki meselelerde görülecektir. Uygulama 6:PWM Üretimi 2 Uygulama 16 da hem fast pwm hem de faz doğrultmalı pwm e ilişkin kod ile devre çıktısı ele alınmıştır. Tablo 16 Tablo 16 da Atmega128 ile ilgili üreticinin bilgi sayfasında yer alan TCCR0 yazmacına ilişkin bitlerden WGMxx bitlerinin hangi yapıda hangi sonucu verceği görülmektedir. Aşağıdaki kod ATmega128 de yazılmıştır. Kütüphane eklendikten sonra protatipler yazılmıştır. Program öncelikle portları hazırlar, ardından dış kesme hazırlanır. Dış kesmeye girdiğinde PORTE değeri 1 artırılır. Dış kesme hazırlandıktan sonra pwm hazırlanmış ve pwm_ver fonksiyonu ile üretilen pwm in genliği ayarlanmıştır.genlik değeri ise PORTE ye atandığından, int0 bacağına yükselen kenar geldikçe kesmeye girip değerini bir artıracak bu da pwm in genliğini 1 arıracaktır. Şekil 19 ve 20 de bu durum görülmektedir. Eğer fast pwm olmasaydı üretilen pwm bu takdirde aşağıda görüldüğü üzere osiloskop çıkışında aynı zaman diliminde olmasına karşılık 4 darbe görülecekti. Buradan da anlaşılacağı üzere fast pwm frekansı, faz doğrultmalı pwm in frekansının iki katıdır. 21

22 22

23 Şekil 19 Şekil 20 23

24 Uygulama 7: Zamanlayıcı Taşma Kesmesi Zamanlayıcı modülünün önemli uygulamalarından biri de taşma kesmesidir. Normal moda çalışan bir zamanlayıcı ileri doğru saymaktadır. Örneğin 0 dan 255Ee. ATmega 16 da böyle bir zamanlayıcı aksi belirtilmediği sürece 0 dan en büyük değer olan 255 e kadar sayar. Ardından yeniden sıfırlanır ve bu şekilde saymaya devam eder. Ancak eğer zamanlayıcı taşma kesmesi kullanılacaksa 255 ten sonra 256 demek artık değerin 8 bitin dışına taştığını bu değere ulaşmak için bir 9. bitin gerektiği an olarak düşünülebilir. Bu fazladan bit TOVx x zamanlayıcısına ait timer overflow bayrağı- isimli bayrağı işaretler bu durumda zamanlayıcı taşma kesmesine girer. Kesme meydana geldiğinde bu bayrak sıfırlanır. Şekil 21 24

25 7. USART Evrensel Senksorn ve Asenkron Seri Alıcı ve Verici (The Universal Synchronous and Asynchronous serial Receiver and Transmitter) oldukça esnek bir seri iletişim aygıtıdır. Stajda kullanılan ATmega128 e ait USART modülü çeşitli özelliklere sahiptir. Birbirinden bağımsız alıcı verici yazmaçları ile iki kat hızlı işlem yapabilme, asenkron ve senkron işlem yapabilme, Master veya Slave zamanlı senkron işlem yapabilme gibi. ATmega128 de iki USART modülü bulunur. USART0 ve USART1. ATmega128 de USART kullanılırken birden çok yazmaç kullanılmaktadır. Öncelikle birim saniyede gönderilecek bit sayısını ifade eden baud rate olarak adlandırılan değerim belirlenmesidir. Bilginin hangi hızda taşınacağı beirlendikten sonra USART başlatma işlemi ile ilgili kütükler hazır hale getirilir. Bunun ardından usart ile hangi işlem yapılacak ise (USART ile bilgi alma veya verme) buna uygun yazmaçların değerleri değiştirilerek mikro denetleyici ile haberleşme işlemi tamamlanabilir. Uygulama 8: USART Modülünden Veri Yollama 25

26 Yukarıda görülen programa ait Proteus ekran çıktısı aşağıdaki gibidir: Şekil 22 Yukarıdaki programdan da anlaşılacağı üzere bundan sonraki uygulamalarda da görülecek ortak özellik USART a ait Baud Rate i ayarlamak -bu ise üreticinin bilgi sayfasında verdiği formüllerde görüleceği üzere UBRR yi ve Mikro denetleyicinin harici kristalini ayarlamakla olur- ardından alma işlemi veya verme işlemini etkin kılmaktır. Uygulama 8: USART Modülünden Veri Alma Bu uygulamada ise USART modülü ile veri alma işlemi gerçekleştirilmiştir. Ancak gönderilen verinin ATmgea128 tarafından gerçekten alınıp alınmadığını kontrol edebilmek amacı ile gelen veri tx bacağı ile Proteus a ait Virtual Terminale gönderilmiştir. 26

27 Şekil 23 Şekil 23 te görüleceği üzere klavyeden İSTANBUL TEKNİK ÜNİVERSİTESİ yazılarak Virtual Terminal ile ATmega128 in rx bacağına gönderilen bilgi yine aynı mikrodenetleyici ile tx bacağı aracılığı ile Virtual Terminale gönderilmiştir. Diğer bir deyişle klavyeden girilen her harf önce mikro denetleyiciye gönderilmiş ardından bu bilgi mikro denetleyici tarafından Virtual Terminale yollanmıştr. Böylece ATmega128 ile hem veri alınmış ardından gönderilebilmiştir. 27

28 Uygulama 9: USART Modülünde RX Kesmesi 28

29 Şekil 24 29

30 Şekil 25 Şekil 26 30

31 Şekil 27 Bu uygulamada Usart a ait rx kesmesi araştırıldı. Haberleşme hızı yani baud rate belirlendikten sonra alıcı verici kanallarını aktif hale getiren fonksiyonlar yazıldı. Bunun yanı sıra USART RX kesmesini hazırlayan kesme hazırla fonksiyonu ve kesmeye girildiği anda ne yapılacağını içinde barındıran USART0_RX_vect fonksiyonu yazıldı. Şekil 24 te ilk olarak ana fonksiyona uygun olarak A harfi çıktısı görülmektedir. Ana fonksiyon çalışmış ve A harfini yollamıştır. Şekil 25 te ise RX kanalına Virtual Terminal aracılığı ile bir bilgi ( U harfi) yollanmıştır. Bunun üzerine RX kanalına bilgi gelir gelmez zaten koşulları hazırlanmış olan kesme devreye girmiş ve t değişkeni 1000 olduğu anda PORTB yi şekil 26 da görüleceği üzere 1 artırmış ve t harfi 1000 in katı olduğu için ayrıca B bilgisini yollamıştır. Şekil 20 de t, 3000 olduğundan PORTB.0 ve PORTB.1 yanmış ( =3) ve mikro denetleyici 3 defa B yazmıştır. Uygulama 9: USART Ve Diğer Modüllerin Kullanımı Stajda yukarıda olan ve onlar gibi daha bir çok uygulama yapıldıktan sonra artık bir çok modülün bir arada kullanıldığı programlar yazıldı. Tüm bu karışık uygulamalarda amaç staj süresince üzerinde çalışılan robot için istenilen programı elde etmekti. Bu uygulamada öncelikle bir adet mikro denetleyici sürekli aynı veriyi basmaktadır. Bu veri diğer mikro işlemciye iletilmekte, bunun üzerine veri alan mikro denetleyici RX kesmesine girerek PortB yi artırmakta, aynı zamanda zamanlayıcı taşma kesmesine girerek PortF yi artırmakta ve Timer2 ile de bir sayaç tutmakta ve bu sayacı her taşmada Virtual Terminale TX bacağı ile aktarmaktadır. Öncelikle sürekli veri basan program: 31

32 Yukarıda görüleceği üzere program sürekli e harfini veri olarak göndermektedir. Bu veriyi alarak kullanan program ise: 32

33 bu iki programın çıktıları ise aşağıdadır: 33

34 Şekil 28 Şekil 29 34

35 Şekil 27 de görüleceği üzere programın yapısı itibari ile PORTF sürekli zamanlayıcı taşması kesmesine girilmesinden ve PORTB sürekli bilgi gelerek RX kesmesine girilmesinden dolayı artmaktadır. Şekil 28 de ise R1 Direncine bağlı butona basılarak sayacın bilgisi Virtual Terminale aktarılmaktadır. Bu çıktıya göre butona o ana kadar 5 defa basılmıştır. Stajın bu safhasından sonra artık üzerinde çeşitli uygulamalar yapılan robota yönelik programlar yazılmaya başlandı. İlk programlar robotta etkin çalışmadı. Bunun sebeplerinden en önemlisi PID kontrolcüsünün katsayılarının tam olarak bilenememesidir. İlk yazılan programlarda uygun USART verilerine göre hareket eden robot tam verim sağlayamamaktaydı. Ayrıca kendini sürekli kontrol eden doğru mu gidiyorum sorusunu soran mekanizma 50 milisaniyede bir devreye girmekteydi. Halbuki bizden istenen dt örnek zaman aralığı 16 milisaniye idi. Bir kısım etkin çalışmayan programdan sonra PID katsayıları sorununa geri dönüldü. Ve robotun üzerine bir program gömülüp hareketine bakıldı. MATLAB aracılığı ile enkoderlardan gelen veri incelendi. Sonunda uygun katsayılar elde edildi. Aşağıda bu katsayıları elde etmek amacı ile robota gömülen yazılım görülmektedir: 35

36 36

37 37

38 38

39 Bu kod ile böylece robot için uygun PID katsayıları bulunmuştur. Katsayıların bulunmasının ardından artık robota en uygun yukarıdaki kod ufak birkaç değişiklikle robota uygulanmış ve başarı ile çalıştığı görülmüştür. Bu projede çok kısaca sistemin çalışma şekli şöyledir: Bir ortamın içerisinden çeşitli engeller ve staj boyunca üzerinde çalışılan robot vardır. Kamera aracılığı ile ortamın üstten görüntüsü alınmakta ve bu görüntü bilgisayar üzerinde işlenmektedir. Üzerinde Linux işletim sistemi koşan GUMSTİX isimli bir modül bu bilgiyi bilgisayardan almakta ve ROBOSTİX isimli bir başka modüle aktarmaktadır. ROBOSTİX içinde ATmega128 mikro denetleyicisi bulunan bir modüldür. Gelen bilgi bilgisyarda çeşitli biçimlerde işlenmiş bilgi- USART aracılığı ile ATmega128 tarafından alınmakta ve ona uygun bir biçimde bir yerden başka bir yere gitmek üzere hareketlenmektedir. Her 16 milisaniyede bir hareketinin doğru olup olmadığını enkoderlarından aldığı bilgi sayesinde ölçmekte, PID kontrolcüsünü (çalışmada KD 0 çıktığından PI kontrolcüsü de denebilir ) kullanarak motor hızını artırıp azaltarak robotun varılması istenen konum ile kendisinin gerçekte gittiği konumun aynı olmasına çalışmaktadır. Bu staj boyunca stajyerlerden istenen bu ATmega128 in USART dan bilgiyi alması, enkoder bilgisini 16 milisaniyede bir kontrol etmesi PID kontrolcüsünü kullanarak, motorlara uygun PWM verilmesi şeklinde özetlenebilir. Aşağıda yukarıda sayılan işlemlerin hepsini istenilen biçimde yerine getirebilen ATmega128 e gömülmüş olan program bulunmaktadır: 39

40 40

41 41

42 42

43 BİROL ÇAPA KONTROL MÜHENDİSLİĞİ 2. SINIF ÖĞRENCİSİ 43

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması MİKRODENETLEYİCİLER MCU Micro Controller Unit Mikrodenetleyici Birimi İşlemci ile birlikte I/O ve bellek birimlerinin tek bir entegre olarak paketlendiği elektronik birime mikrodenetleyici (microcontroller)

Detaylı

2. Mikro denetleyici Nedir?

2. Mikro denetleyici Nedir? 1. Giriş Atmel genel ismi ile anılan mikro denetleyici ailesinden ATmega 16 ile başlayan çalışmalar ATmega 128 ile sürdürülmüş; ATmega 16 ya parça parça yazılan programlar, ATmega 128 ile daha bütünlüklü

Detaylı

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Açık kaynak nedir? Açık kaynak, bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından

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ı

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları Paralel ve Seri İletişim Şekil1a: Paralel İletişim Şekil1b. Seri iletişim Şekil 2: İletişim Modları Asenkron/Senkron İletişim PROTEUS/ISIS SANAL SERİ PORT ile C# USART HABERLEŞMESİ Seri iletişimde, saniyedeki

Detaylı

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak XIII İçİndekİler 1. Bölüm - Mİkro Denetleyİcİ Nedİr? Mikrodenetleyici Tanımı Mikrodenetleyicilerin Tarihçesi Mikroişlemci- Mikrodenetleyici 1. İki Kavram Arasındaki Farklar 2. Tasarım Felsefesi ve Mimari

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ı

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 2 8051 Mikrodenetleyicisine Giriş Amaçlar 8051 mikrodenetleyicisinin tarihi gelişimini açıklamak 8051 mikrodenetleyicisinin mimari yapısını kavramak 8051

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ı

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7 PROJE RAPORU Proje Adı: Pedalmatik Projemizle manuel vitesli araçlarda gaz, fren ve debriyaj pedallarını kullanması mümkün olmayan engelli bireylerin bu pedalları yönetme kolu (joystick) ile sol el işaret

Detaylı

EasyPic 6 Deney Seti Tanıtımı

EasyPic 6 Deney Seti Tanıtımı EasyPic 6 Deney Seti Tanıtımı Power supply voltage regulator J6 ile power supply seçimi yapılır. USB seçilirse USB kablosu üzerinden +5V gönderilir, EXT seçilirse DC connector üzerinden harici bir power

Detaylı

İÇİNDEKİLER ÖNSÖZ...3

İÇİNDEKİLER ÖNSÖZ...3 İÇİNDEKİLER ÖNSÖZ...3 1.AVR MİKRODENETLİYİCİLERE GİRİŞ 1.1 GÖMÜLÜ (EMBEDDED) SİSTEMLER... 11 1.1.1 GÖMÜLÜ SİSTEMERİN KULLANIM ALANLARI... 11 1.2 MİKROİŞLEMCİ NEDİR?... 12 1.3 MİKRODETNETLEYİCİ NEDİR?...

Detaylı

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu BÖLÜM 7 7. ZAMANLAYICI/SAYICI YAPISI: 7.1. Sistem Saat üreteci ve Makine Çevrimi Bilgi: Saat üreteci bir mikrodenetleyicinin fonksiyonlarını yerine getirebilmesi için gerekli olan saat darbelerini üreten

Detaylı

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30 VII 1 GİRİŞ 1 Gömülü Sistemler (Embedded Systems) 1 Kitap Hakkında 2 Kitap Kimler İçin? 2 Kitabı Takip Edebilmek İçin Gerekenler 3 Kitabın İçeriği ve Uygulamaları 4 2 ARM İŞLEMCISI VE MIKRO-DENETLEYICILER

Detaylı

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Mikroişlemciler ve Assembly Dili Ders Saati (T+U+L) Kredi AKTS 4

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ı

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ı

İÇİ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ı

BESLEME KARTI RF ALICI KARTI

BESLEME KARTI RF ALICI KARTI BESLEME KARTI Araç üzerinde bulunan ve tüm kartları besleyen ünitedir.doğrudan Lipo batarya ile beslendikten sonra motor kartına 11.1 V diğer kartlara 5 V dağıtır. Özellikleri; Ters gerilim korumalı Isınmaya

Detaylı

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

TUŞ TAKIMI (KEYPAD) UYGULAMALARI 12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer

Detaylı

Proje Teslimi: 2013-2014 güz yarıyılı ikinci ders haftasında teslim edilecektir.

Proje Teslimi: 2013-2014 güz yarıyılı ikinci ders haftasında teslim edilecektir. ELEKTRONĐK YAZ PROJESĐ-2 (v1.1) Yıldız Teknik Üniversitesi Elektronik ve Haberleşme Mühendisliği Bölümünde okuyan 1. ve 2. sınıf öğrencilerine; mesleği sevdirerek öğretmek amacıyla, isteğe bağlı olarak

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ı

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş 29.11.2016 İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi

Detaylı

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Hazırlayan: Arş. Gör. Hakan ÜÇGÜN Mikroişlemcili Sistem Uygulamaları Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim

Detaylı

Doç. Dr. Cüneyt BAYILMIŞ

Doç. Dr. Cüneyt BAYILMIŞ BSM 460 KABLOSUZ ALGILAYICI AĞLAR Doç. Dr. Cüneyt BAYILMIŞ Nesnelerin İnterneti 1 BSM 460 KABLOSUZ ALGILAYICI AĞLAR 5. Hafta KABLOSUZ ALGILAYICI AĞLAR Nesnelerin İnterneti 2 Kablosuz Algılayıcı Ağlar (Wireless

Detaylı

DENEY 21 IC Zamanlayıcı Devre

DENEY 21 IC Zamanlayıcı Devre DENEY 21 IC Zamanlayıcı Devre DENEYİN AMACI 1. IC zamanlayıcı NE555 in çalışmasını öğrenmek. 2. 555 multivibratörlerinin çalışma ve yapılarını öğrenmek. 3. IC zamanlayıcı anahtar devresi yapmak. GİRİŞ

Detaylı

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. ARDUİNO PROGRAMLAMA fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. fonksiyonu: Diğer programlama dillerinden alışık olduğumuz

Detaylı

BÖLÜM 1: MİKRODENETLEYİCİLER

BÖLÜM 1: MİKRODENETLEYİCİLER V İÇİNDEKİLER BÖLÜM 1: MİKRODENETLEYİCİLER ve PIC16F877A... 13 1.1 Giriş... 13 1.2 Mikrochip Mikrodenetleyici Ailesi... 14 1.2.1 PIC12CXXX/PIC12FXXX Ailesi... 15 1.2.2 PIC16C5X Ailesi... 15 1.2.3 PIC16CXXX/PIC16FXXX

Detaylı

KONTROL VE OTOMASYON KULÜBÜ

KONTROL VE OTOMASYON KULÜBÜ KONTROL VE OTOMASYON KULÜBÜ C DİLİ İLE MİKROKONTROLÖR PROGRAMLAMA EĞİTİMİ Serhat Büyükçolak Ahmet Sakallı 2009-2010 Güz Dönemi Eğitimleri Mikrokontrolör Gömülü sistemlerin bir alt dalı olan mikrokontrolör

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1 SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1 Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ

Detaylı

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları Mikroişlemcili Sistem Uygulamaları 1. Ders Giriş Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor, müzik çalıyor,

Detaylı

BÖLÜM 6 Seri Port Đşlemleri

BÖLÜM 6 Seri Port Đşlemleri C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 6 Seri Port Đşlemleri Amaçlar Seri haberleşmenin önemini kavramak 8051 seri port kontrol saklayıcılarını öğrenmek Seri port çalışma modları hakkında bilgi

Detaylı

Analog Sayısal Dönüşüm

Analog Sayısal Dönüşüm Analog Sayısal Dönüşüm Gerilim sinyali formundaki analog bir veriyi, iki tabanındaki sayısal bir veriye dönüştürmek için, az önce anlatılan merdiven devresiyle, bir sayıcı (counter) ve bir karşılaştırıcı

Detaylı

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir: 8051 Ailesi 8051 MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur. 8051 çekirdeğinin temel özellikkleri aşağıda verilmiştir: 1. Kontrol uygulamaları için en uygun hale getirilmiş

Detaylı

PIC Programlama. Devrim Çamoğlu

PIC Programlama. Devrim Çamoğlu PIC Programlama Devrim Çamoğlu İçİndekİler XIII İçİndekİler 1. Bölüm - Temel Kavramlar Mikrodenetleyici Tanımı Mikroişlemci-Mikrodenetleyici 1. Mikro İşlemcili Bir Sistemde Kavramlar 2. Tasarım Felsefesi

Detaylı

İletişim Protokolleri (Communication Protocols)

İletişim Protokolleri (Communication Protocols) İletişim Protokolleri (Communication Protocols) Arduino dış dünya ile iletişim kurabilmek için genel amaçlı i/o pinleri önceki konu başlığında incelenmişti. LED, buton, role vb. cihazlardan girdi almak

Detaylı

DOKUMANLAR

DOKUMANLAR DOKUMANLAR https://www.pickat.org Bu belgeyi yukarıdaki karekodu telefonunuza taratarak veya aşağıdaki linkten indirebilirsiniz. Link sürekli güncellenmektedir. https://drive.google.com/file/d/1wyi3ejzvge9vbu0ujklajnsjukbfldv/view?usp=sharing

Detaylı

DY-45 OSĐLOSKOP KĐTĐ. Kullanma Kılavuzu

DY-45 OSĐLOSKOP KĐTĐ. Kullanma Kılavuzu DY-45 OSĐLOSKOP KĐTĐ Kullanma Kılavuzu 01 Kasım 2010 Amatör elektronikle uğraşanlar için osiloskop pahalı bir test cihazıdır. Bu kitte amatör elektronikçilere hitap edecek basit ama kullanışlı bir yazılım

Detaylı

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version www.pdffactory.com

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version www.pdffactory.com . PROGRAMLAMA UTR-VC Windows altında çalışan konfigürasyon yazılımı aracılığıyla programlanır. Programlama temel olarak kalibrasyon, test ve giriş/çıkış aralıklarının seçilmesi amacıyla kullanılır. Ancak

Detaylı

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir: 8051 Ailesi 8051 MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur. 8051 çekirdeğinin temel özellikkleri aşağıda verilmiştir: 1. Kontrol uygulamaları için en uygun hale getirilmiş

Detaylı

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma NB Ekran Seri Port Üzerinden Veri Okuma/Yazma Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma Genel Bilgi NB Ekranlar üzerinde 2 adet seri port bulunmaktadır. Bu portları kullanarak noprotocol modunda

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ı

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir. MDS 8051 8051 AİLESİ DENEY SETİ 8051 Ailesi Deney Seti ile piyasada yaygın olarak bulunan 8051 ailesi mikro denetleyicileri çok kolay ve hızlı bir şekilde PC nizin USB veya Seri portundan gönderdiğiniz

Detaylı

Ad Soyad: Öğrenci No:

Ad Soyad: Öğrenci No: ADUC841 sayma değeri P3.4 (T0) osc E TH0 TL0 MOD Seçimi Taşma (overflow) TMOD 1. Giriş kaynağı kontrol GATE0 C/T0 M1 M0 3. Yenileme modu P3.2 (INT0) 2. Çalışma kontrol TCON TF0 TR0 Zamanlayıcı/Sayıcı-0

Detaylı

FRENIC MEGA ÖZET KULLANIM KLAVUZU

FRENIC MEGA ÖZET KULLANIM KLAVUZU FRENIC MEGA ÖZET KULLANIM KLAVUZU GENEL BİLGİLER SÜRÜCÜ KONTROL BAĞLANTILARI PLC 24 VDC CM DİJİTAL GİRİŞ COM UCU FWD REV DİJİTAL GİRİŞLER ( PNP / NPN SEÇİLEBİLİR ) SW1 X1 - X7 EN ENABLE GİRİŞİ Y1 - Y4

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ı

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI: ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI: Aduc841 geliştirme kartının genel görüntüsü aşağıda verilmiştir; RS232 ANALOG USB ÇIKIŞ ANALOG GİRİŞ POTLAR TEXT LCD EKRAN GÜÇ KAYNAĞI LEDLER

Detaylı

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR ORGANİZASYONU LABORATUVARI MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ 1. GİRİŞ Analog işaretleri sayısal işaretlere dönüştüren elektronik devrelere

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

Detaylı

DC motorların sürülmesi ve sürücü devreleri

DC motorların sürülmesi ve sürücü devreleri DC motorların sürülmesi ve sürücü devreleri Armatür (endüvi) gerilimini değiştirerek devri ayarlamak mümkündür. Endüvi akımını değiştirerek torku (döndürme momentini) ayarlamak mümkündür. Endüviye uygulanan

Detaylı

C-Serisi PLC İleri Seviye Eğitim

C-Serisi PLC İleri Seviye Eğitim C-Serisi PLC İleri Seviye Eğitim 1 PLC ye Giriş 2 PLC ye Giriş 3 PLC ye Giriş CJ1 I/O Modülleri - 8/16/32/64pts Max I/O - 160,640 Max Program Kapasitesi - 20K Steps Komut sayısı - 400 4 PLC Ladder Diyagram

Detaylı

DY-45 OSİLOSKOP V2.0 KİTİ

DY-45 OSİLOSKOP V2.0 KİTİ DY-45 OSİLOSKOP V2.0 KİTİ Kullanma Kılavuzu 12 Ocak 2012 Amatör elektronikle uğraşanlar için osiloskop pahalı bir test cihazıdır. Bu kitte amatör elektronikçilere hitap edecek basit ama kullanışlı bir

Detaylı

Birol Çapa Özen Özkaya. 2008-2009 Güz Dönemi Eğitimleri

Birol Çapa Özen Özkaya. 2008-2009 Güz Dönemi Eğitimleri Birol Çapa Özen Özkaya 2008-2009 Güz Dönemi Eğitimleri Gömülü sistemlerin bir alt dalı olan mikrokontrolör tabanlı sistemler öncelikle çok geniş kullanım alanına sahiptir. Doğru elektronik donanımlarla

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi.  a aittir. Melih Hilmi ULUDAĞ Yazılım Mühendisi Mekatronik Mühendisi www.melihhilmiuludag.com a aittir. ÖZET Teknolojiyi kısaca bilimsel bilgiden yararlanarak yeni bir ürün geliştirmek, üretmek ve hizmet desteği

Detaylı

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9 Önsöz, İçerik FBs-PLC Interrupt Fonksiyonu 9 FBs-PLC Yüksek Hızlı Sayıcı ve Zamanlayıcı 10 FBs-PLC nin Haberleşmesi 11 FBs-serisi Programlanabilir Kontrol Cihazı FBs-PLC Haberleşme Bağlantı Uygulamaları

Detaylı

Deney 4. Gerçek Zamanlı Kesme Uygulamaları

Deney 4. Gerçek Zamanlı Kesme Uygulamaları Deney 4 Gerçek Zamanlı Kesme Uygulamaları Deneyin Amacı Gerçek zamanlı kesmenin amacının anlaşılması Gerçek zamanlı kesmenin ayarlarının ve ne şekilde kullanılacağının anlaşılması Gerçek zamanlı kesme

Detaylı

FRENIC MEGA ÖZET KULLANIM KLAVUZU

FRENIC MEGA ÖZET KULLANIM KLAVUZU FRENIC MEGA ÖZET KULLANIM KLAVUZU GENEL BİLGİLER SÜRÜCÜ KONTROL BAĞLANTILARI PLC 24 VDC CM DİJİTAL GİRİŞ COM UCU FWD REV X1 - X7 EN DİJİTAL GİRİŞLER ( PNP / NPN SEÇİLEBİLİR ) ENABLE GİRİŞİ SW1 Y1 - Y4

Detaylı

YAPILAN İŞ: Sayfa 1. Şekil 1

YAPILAN İŞ: Sayfa 1. Şekil 1 İstanbul Teknik Üniversitesi Kontrol Mühendisliği 10 İş Günü Süreli Zorunlu Atölye Stajı Zorunlu Atölye Stajı 1 Eylül 2008 Pazartesi günü başlamış olup, 12 Eylül 2008 tarihinde sona ermiştir. Bu staj süresince

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ı

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Ders Dinleme ve anlamlandırma Standart derslik teknolojileri, çoklu ortam araçları, projektör, bilgisayar DERS BİLGİLERİ Ders

Detaylı

BEKLEMELĐ ÇALIŞMA VE ZAMAN SINIRLI ĐŞLER. 1. Genel Tanıtım. 2- WAIT işaretinin üretilmesi

BEKLEMELĐ ÇALIŞMA VE ZAMAN SINIRLI ĐŞLER. 1. Genel Tanıtım. 2- WAIT işaretinin üretilmesi K TÜ Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemciler Laboratuarı BEKLEMELĐ ÇALIŞMA VE ZAMAN SINIRLI ĐŞLER 1. Genel Tanıtım CPU lar bazı çevre birimlerine göre daha hızlı çalışabilir

Detaylı

KASIRGA 4. GELİŞME RAPORU

KASIRGA 4. GELİŞME RAPORU KASIRGA 4. GELİŞME RAPORU 14.07.2008 Ankara İçindekiler İçindekiler... 2 Giriş... 3 Kasırga Birimleri... 3 Program Sayacı Birimi... 3 Bellek Birimi... 3 Yönlendirme Birimi... 4 Denetim Birimi... 4 İşlem

Detaylı

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR DENEY 7: ASENKRON VE SENKRON SAYICILAR Deneyin Amaçları Asenkron ve senkron sayıcı devre yapılarının öğrenilmesi ve deneysel olarak yapılması Deney Malzemeleri 74LS08 Ve Kapı Entegresi (1 Adet) 74LS76

Detaylı

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması 7. Port Programlama Şekil 2.1. Atmega16 mikrodenetleyici pin şeması A, B, C ve D portları için Register yapıları benzer şekildedir. -42- 7.1. Port Yönlendirme Mikrodenetleyicinin A, B, C, D ve varsa diğer

Detaylı

27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK Mikroişlemci HAFTA 1 HAFIZA BİRİMLERİ Program Kodları ve verinin saklandığı bölüm Kalıcı Hafıza ROM PROM EPROM EEPROM FLASH UÇUCU SRAM DRAM DRRAM... ALU Saklayıcılar Kod Çözücüler... GİRİŞ/ÇIKIŞ G/Ç I/O

Detaylı

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR? PIC PROGRAMLAMA hbozkurt@mekatroniklab.com www.mekatroniklab.com.tr STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ Bu ayki sayımızda, özellikle CNC ve robotik uygulamalarda oldukça yaygın olarak kullanılan step motorlar

Detaylı

FRENIC MULTİ ÖZET KULLANIM KLAVUZU

FRENIC MULTİ ÖZET KULLANIM KLAVUZU FRENIC MULTİ ÖZET KULLANIM KLAVUZU GENEL BİLGİLER SÜRÜCÜ KONTROL BAĞLANTILARI PLC 24 VDC CM DİJİTAL GİRİŞ COM UCU FWD REV X1 X5 EN DİJİTAL GİRİŞLER ( PNP / NPN SEÇİLEBİLİR ) ENABLE GİRİŞİ SW1 Y1 Y2 DİJİTAL

Detaylı

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM INVT IVC1 -Kompakt Tip PLC Marketing 2014 HM Özelikler IVC1 Özelikleri Genişleme 128 IO 7 modül genişleme Haberleşme Arayüzü 2 seri port: 1xRS232, 1xRS232/485 Temel komut işlem Hızı 0.3μs Pulse Girişi

Detaylı

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

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ DENEY-2 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 DENEY 2-1: YEDİ SEGMENT GÖSTERGE ÜZERİNDE VERİ GÖRÜNTÜLEME AMAÇ: Mikrodenetleyicinin portuna

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ı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi

Detaylı

Çalışma Açısından Bilgisayarlar

Çalışma Açısından Bilgisayarlar Çalışma Açısından Bilgisayarlar Ölçme sistemi ile hesaplama sistemi birbiriyle ilgili olmasına rağmen aynı değillerdir. Suyun sıcaklığı ve gürültünün şiddeti ile evdeki lambaların ölçülmesi aynı değillerdir.

Detaylı

CPU ONE PLC KULLANMA KLAVUZU

CPU ONE PLC KULLANMA KLAVUZU CPU ONE PLC KULLANMA KLAVUZU A. GENEL ÖZELLİKLER CPU One endüstrinin zorlu şartları göz önüne alınarak, otomasyon ihtiyaçlarına uygun olarak tasarlanan yerli üretim programlanabilir kontrol cihazıdır.

Detaylı

XC8 ile PİC uygulamaları

XC8 ile PİC uygulamaları XC8 ile PİC uygulamaları Modül tanıtımı : LCD kullanımı Öncelikle Lcd nedir ne değildir biraz tanımamız gerekiyor. LED göstergelerin fazla akım çekmesi ve kullanım zorluğu, son yıllarda LCD göstergelerin

Detaylı

RF Tabanlı Sayısal Veri Haberleşmesi

RF Tabanlı Sayısal Veri Haberleşmesi T.C. İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ RF Tabanlı Sayısal Veri Haberleşmesi Hazırlayan Hüseyin Küçük 1316010041 Proje Yöneticisi Doç. Dr. Aydın Akan GENEL YAPISI

Detaylı

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ PROGRAMIN ADI DERSIN KODU VE ADI DERSIN ISLENECEGI DÖNEM HAFTALIK DERS SAATİ DERSİN SÜRESİ ENDÜSTRİYEL ELEKTRONİK MİK.İŞLEMCİLER/MİK.DENETLEYİCİLER-2 2. Yıl, IV. Yarıyıl (Güz) 4 (Teori: 3, Uygulama: 1,

Detaylı

EEM 419-Mikroişlemciler Güz 2017

EEM 419-Mikroişlemciler Güz 2017 EEM 419-Mikroişlemciler Güz 2017 Katalog Bilgisi : EEM 419 Mikroişlemciler (3+2) 4 Bir mikroişlemci kullanarak mikrobilgisayar tasarımı. Giriş/Çıkış ve direk hafıza erişimi. Paralel ve seri iletişim ve

Detaylı

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI İÇİNDEKİLER GİRİŞ:... 2 RS232 den USB ye Dönüştürücü Kurulumu... 2 KEIL Programı ile Program Yazma ve Derleme... 5 Atmel Flip Programı

Detaylı

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması FPGA ile Seri Haberleşme (RS232) Uygulaması 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda, geliştirme kartımız üzerinde bulunan giriş / çıkış pinlerini FT232RL

Detaylı

Çizgi İzleyen Robot Yapımı

Çizgi İzleyen Robot Yapımı Çizgi İzleyen Robot Yapımı Elektronik Elektronik tasarım için yapılması gerek en önemli şey kullanılacak malzemelerin doğru seçilmesidir. Robotun elektronik aksamı 4 maddeden oluşur. Bunlar; 1. Sensörler

Detaylı

FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU

FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU A. GENEL ÖZELLİKLER Fulmatic 7 - Gümüş Serisi PLC ler endüstrinin zorlu şartları göz önüne alınarak, otomasyon ihtiyaçlarına uygun olarak dizayn edilen

Detaylı

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6 Hazırlayan: Erkan ÇİL 2016 2 FPGA Geliştirme Kartı Kullanıcı Kılavuzu İçindekiler FPGA Geliştirme Kartı Bilgileri FPGA Geliştirme Kartının Kullanımı FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

BLGM423 Gömülü Sistem Tasarımı

BLGM423 Gömülü Sistem Tasarımı 1 BLGM423 Gömülü Sistem Tasarımı İkinci Çalışma Sayısal giriş ucunun çeşitli konum ve hareketlerini algılama Bu çalışmada tipik bir anahtara bağlanmış olarak kullanılan sayısal giriş ucundaki konum ve

Detaylı

Haftalık Ders Saati Okul Eğitimi Süresi

Haftalık Ders Saati Okul Eğitimi Süresi DERSİN ADI BÖLÜM PROGRAM DÖNEMİ DERSİN DİLİ DERS KATEGORİSİ ÖN ŞARTLAR SÜRE VE DAĞILIMI KREDİ DERSİN AMACI ÖĞRENME ÇIKTILARI VE YETERLİKLER DERSİN İÇERİĞİ VE DAĞILIMI (MODÜLLER VE HAFTALARA GÖRE DAĞILIMI)

Detaylı

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar Ders 5, Slayt 2 1 BACAK BAĞLANTILARI Ders 5, Slayt 3 PIC

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ı

Arduino Temel Bilgiler

Arduino Temel Bilgiler Bu e-kitap Arduino ile proje geliştirmek isteyenler için temel bilgiler içermektedir. Arduino Temel Bilgiler Şevket Yılmaz Yazılım Mühendisi sevket-yilmaz@windowslive.com ARDUİNO NEDİR? Arduino bir mikro

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ Yrd.Doç.Dr.

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ı

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN:

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN: ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ DENEYİ YAPANLAR Grup Numara Ad Soyad RAPORU HAZIRLAYAN: Deneyin Yapılış Tarihi Raporun Geleceği Tarih Raporun

Detaylı

Mikroişlemciler (EE 208) Ders Detayları

Mikroişlemciler (EE 208) Ders Detayları Mikroişlemciler (EE 208) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Kredi AKTS Saati Mikroişlemciler EE 208 Güz 3 2 0 4 5 Ön Koşul Ders(ler)i COMPE 102 (FD) Dersin Dili

Detaylı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği

Detaylı

ACR-Net 100 Kullanım Kılavuzu

ACR-Net 100 Kullanım Kılavuzu ACR-Net 100 Kullanım Kılavuzu Ayrıntılı bilgi için web sayfamızı ziyaret edin. www.acrelektronik.com.tr 1 İçindekiler 1. ACR-Net 100... 3 1.1. ACR-Net 100 Özellikleri... 3 1.2. Kullanım Alanları... 3 1.3.

Detaylı

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat? Yedi Karat Kullanım Klavuzu Yedi Karat nedir? Karat, fiziksel dünya ile iletişim ve etkileşim kurulabilmesini sağlayan, elektronik prototip geliştirme kartıdır. Karat, tek başına çalışabilen interaktif

Detaylı

Deney 6: Ring (Halka) ve Johnson Sayıcılar

Deney 6: Ring (Halka) ve Johnson Sayıcılar Deney 6: Ring (Halka) ve Johnson Sayıcılar Kullanılan Elemanlar xlm Entegresi, x0 kohm direnç, x00 kohm direnç, x0 µf elektrolitik kondansatör, x00 nf kondansatör, x 7HC7 (D flip-flop), x 0 ohm, x Led

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ı

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B) 446 GÖMÜLÜ SİSTEM TASARIMI Adım Motoru 8.1 Amaç Bu laboratuvarda LauchPad a dışarıdan bağlanacak adım motorunun dönme yönünü ve hızını kontrol eden programın yazılımı verilecektir. 8.2 Gerekli Malzeme

Detaylı