GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
11918701T11207 MİKRODENETLEYİCİLER Ders 2 3 5,00

Önlisans


Türkçe


Bu dersin amacı öğrencilere mikroişlemciler ve mikrodenetleyiciler hakkında temel bilgileri öğretmektir. Assembly dilinde program yazımı bu dersin ana konusu olmasına rağmen bu ders daha çok donamım merkezli olacaktır. Öğrencilere mikrodenetleyici sistemini kurmak için gerekli temel bilgileri verilecektir. Deneyler öğretim elemanın belirlediği mikrodenetleyici kullanılarak laboratuvar eğitim setlerinde yapılacaktır.


Doç Dr. Mustafa Engin


1 Mikroişlemcinin ve mikrodenetleyicinin özelliklerini, yapısını, çalışmasını, bellek ve I/O yapısını açıklar.
2 Seçilen mikrodenetleyi için gömülü C dilinde program yazar.
3 Mikrodenetleyici tabanlı sistem tasarlar ve kurar.
4 Mikrodenetleyici tabanlı bir sistemi hata ayıklama ve gelişmiş hata ayıklama araçları ve elektronik test cihazları kullanarak performansını analiz eder.
5 Verilen görevleri ve ödevleri yerine getirmek için bireysel ve gurup içinde etkin çalışır.

Birinci Öğretim


Yok


Yok


Bu derste öğrenciye mikroişlemci/mikrodenetleyici tabanlı sistemler hakkında teorik ve uygulamalı bilgiler verilecektir. Uygulamalar ARM Cortex-M tabanlı mikrodenetleyicide program geliştirme, programı mikrodenetleyiciye yükleme çalıştırma ve hatalardan ayıklama şeklinde olacaktır. Ders sürecince mikodenetleyici sisteminin yapısı, çalışması, çevrebirimleri, donanım ve yazılım birleştirmesi, kesme denetim sistemi, zamnlayıcıların kullanımı, analog birimler ile iletişim ve sistem tasarımı anlatılacaktır.


Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Ders içeiğinin açıklanması ve dersin değerlendirme kıstaslarının paylaşılması I. Mikroişlemciler ve Mikrobilgisayarın Gelişimi 1. Mekanik İşlemci Dönemi a. Abaküsün ilk kullanımı b. Paskal’ın dişlisi c. Analitik makina 2. Elektrikli işlemci Dönem 3. Elektro mekanik ve Elektronik işlemci dönemi a. Z3 b. Collosus c. ENIAC - Uygylama gurupların oluşturulması. - Sayısal Elektronik ve Mikroişlemciler laboratuvarının tanıtımı - Laboratuvarda uyulması gereken kuralların belirlenmesi - Yapılacak deneyler hakkında bigilendirme Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Öğrenciden beklenen bir ön hazırlık bulunmamaktadır.
2 I. Mikroişlemciler ve Mikrobilgisayarın Gelişimi (Devamı) 4. Mikroişlemci dönemi a. İ4004 b. 8080 ve 8085 c. 8086 ve X86 mimarisi d. X64 mimarisi 5. Yazılımın gelişimi a. Assembler dili b. Yüksek seviyeli programlama dilleri - Laboratuvarda kullanılacak güç kaynağı, osilaskop, AVO metre, sinyal üreteci, Frekansmetre ve bilgisayarların özelliklerinin açıklanması. - Kullanılacak mikrodenetleyici kartının tanıtımı Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Öğrenciden beklenen bir ön hazırlık bulunmamaktadır.
3 II. Mikroişlemciler 1. Mikroişlemcinin yapısı 2. Komut yapısına göre mikroişlemci mimarileri a. RISC b. CISCK 3. Bellek yapısına göre mikroişlemci mimarileri a. Birleşik mimari b. Ayrık mimari 4. Yol sistemi a. Veri yolu b. Adres yolu c. Denetim yolu 5. Giriş Çıkış aygıtları 6. Paralel haberleşme arabirimi a. Arşivleme aygıtları b. Görüntüleme arabirimi 7. Seri haberleşme arabirimi a. RS-232 b. USB Uygulamalarda kullanılacak Program geliştirme yazılımlarının (IDE) bilgisayarlara yüklenmesi. - Keil Microvision IDE - STM Cube IDE Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Ödev-1 Ders notları bölüm I'in değerlendirme soruları yanıtlamış ve ege derse yüklenmiş olmalıdır.
4 III. Mikrodenetleyiciler 1. Mikrodenetleyicinin yapısı 2. Gömülü sistemin yapısı ve mikrodenetleyicinin önemi 3. Mikrodenetleyicilerin sınıflandırılması Keil IDE'de proje oluşturma, verilen bir kaynak kodu yazmak derlemek ve simulatörde çalıştırmak. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Ödev-2 Ders notları bölüm I'in değerlendirme soruları yanıtlamış ve ege derse yüklenmiş olmalıdır.
5 III. Mikrodenetleyiciler (Devamı) 4. 8 bit mikrodenetleyici örnekleri a. MCS-51 b. Atmel AVR c. PIC16F84 5. 16 bit mikrodenetleyici örnekleri a. MSP 430 b. dsPIC33 6. 32 bit mikrodenetleyici örnekleri a. ARM Cortex-M b. dsPIC32 7. Projeye uygun mikrodenetleyici seçimi STM IDE'de proje oluşturma Keil IDE'ye aktarmak ve verilen bir programı yazarak simülasyonda doğruladıktan dsonra karta yükleyip çalıştırmak Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
6 IV. ARM Cortex-M Mikrodenetleyicisi 1. ARMv7 Mimarisinin Profilleri 2. ARM İşlemci Yazaç Seti 3. İşlemcinin Çalışma Kipleri a. Çalışma kiplerine göre yazaç setleri 4. ARM Bus Sistemi 5. Cortex-M4 İşlemcinin Özellikleri a. Üretim teknolojileri ve güç tüketimi STM IDE'de proje oluşturma Keil IDE'ye aktarmak ve verilen hatalı programdaki hataları bularak simülasyonda doğruladıktan dsonra karta yükleyip çalıştırmak Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Ödev-3 Ders notları bölüm I'in değerlendirme soruları yanıtlamış ve ege derse yüklenmiş olmalıdır.
7 IV. ARM Cortex-M Mikrodenetleyicisi (Devamı) 6. Cortex-M4’ün İç Yapısı a. Genel amaçlı yazaçlar (R0 – R12. b. Yığın işaretleyici (Stack Pointer, SP) c. Program Sayacı (Program Counter, PC) d. Link Yazacı (LR) e. xPSR, Program Durum Yazacı f. Kesme Maskeleme Yazacı 7. Cortex-M4 Bellek Haritası 8. ARM ve Thumb® Komut Setleri 9. ARM GPIO (General Purpose Input/Output a. I/O hattının Yapısı b. Sayısal Çıkış c. Sayısal Giriş d. Analog Giriş ve Çıkış Olarak Kullanma e. Alternatif Görevler GPIO hatlarını giriş ve çıkış olarak programlayan ve girişten okunan bilgiyi çıkış hatlarına yazdıran programı yazmak, derleyip karta yükleyerek çalıştırmak. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
8 V. Gömülü C 1. Program organizasyonu ve mikrodenetleyici bellek yapısı 2. Veri tipleri (types), sabitler (constants), değişkenler (variables) 3. Mikrodenetleyici yazaçları ve port adresleri 4. Operatörler: aritmetik, lojik, öteleme (shift) 5. Kontrol yapıları, (Control structures) if, while, for 6. Fonksiyonlar 7. Kesme altprogramları Verilen programı Keil IDE'de yazmak derleyerek hata ayıklama yapıldıktan sonra simulatörde çalıştırıp karta yükledikten sonra debug modunda değişkenlerin saklandığı bellek birimlerini izleme pernceresinden anlık değerlerini incelemek. Farklı değişkenlerin belllek kullanımını belirlemek. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Ödev-4 Ders notları bölüm I'in değerlendirme soruları yanıtlamış ve ege derse yüklenmiş olmalıdır.
9 Ara Sınav Daha önce yapılamayan deneylerin Yapılması için grupların serbest çalışması. Ara sınav yüz yüze sınıfta yapılacaktır. Uygulama aşamasında öğrenciler eksik kalan çalışmalarını tamamlamak için laboratuvarda serbest çalışacaklardır. Yok
10 VI. GPIO Kullanımı 1. GPIO hatlarının gerilim seviyeleri 2. GPIO hatlarının yapısı çok amaçlı kullanımı 3. GPIO tasarımı 4. GPIO Yazaçları ve programlanması 5. GPIO hatlarının çıkış olarak programlanması a. Çıkış aygıtı olarak LED kullanımı 6. GPIO hatlarının giriş olarak programlanması a. Giriş aygıtı olarak anahtar kullanımı Giriş olarak ayarlanan 4 adet I/O hattına DIP anahtar bağlanır, 4 adet çıkış olarak bağlanan hatta LED'ler bağlanır. DIP anahtarlardan girilen ikilik sayıları LED'lerde görüntüleyen prograg yazılır ve çalıştırılır. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
11 VII. Program Geliştirme Aşammaları 1. Problem Tanımlama 2. Bağlantı Şekli 3. Algoritma 4. Akış Diyagramı 5. Kaynak Program Yazma 6. Derleme (Assembly, compile) 7. Simulatör 8. Mikroişlemciye Yükleme ve Çalıştırma Butona her basılıp bırakıldığında çıkış hattına bağlı LED'in durumunu tersleyen Problemi program geliştirme aşamalarına uygun tasarlayarak uygular. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
12 VIII. GPIO ile Gösterge Denetimi 1. Binary gösterge tasarımı ve programlanması 2. 7-Segment Göstergenin kullanılması 3. Dot Matris gösterge kullanımı 8 Bitlik ikilik gösterge tasarlar ve ikilik 00-FF sayıcı olarak programlar ve çalıştırır. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
13 IX. Sistem Zamanlayıcısının Kullanımı 1. Sistem zamanlayıcısının yapısı 2. Zamanlayıcı yazaçları 3. Sistem zamanlayıcısının programlanması 7-segment gösterge ile 0-9 ve 0-99 sayıcılarını tasarlar, programını yazar ve çalıştırır. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
14 X. Kesmeler 1. Kesme kavramı 2. Kesmenin işlenme aşamaları 3. Kesme servis altprogramı 4. Cortex-M kesmeleri ve kesme vektör tablosu 5. Dış kesmelerin kullanımı 6. Sistem zamanlayıcısının kesmesinin programlanması 7. Kesme Uyarmalı Giriş-Çıkış Programlama - Sistem zamanlayıcısının kesme uyarmalı olarak 1 sn zamanlayıcı olarak programlanması ve çalıştırılması. - Dış kesme kullanarak butonu kesme uyarmalı olarak programlanması ve çalıştırılması. Teorik ders sınıfta öğretim elemanı tarafından anlatılacaktır. Uygulama 3 kişilik gruplar halinde uygulamalar gerçekleştirilecektir. Yok
15 Dersin özetlenmesi ve öğrencilerin dersi değerlendirmeleri. Her gurup verilen bir deneyin yapım aşamalarını uygulamalı olarak sınıfa anlatır. Öğrencile bir hafta önceden kendilerine verilen deneyin yapım aşamalarını sınıfa sunarlar Yok
16 Final sınavı Final sınavı yüz yüze sınıfta yapılacaktır. Yok

STM32F4 Discovery Kartı ile Arm Mikrokontrolcü Programlama, Ali Şentürk, Nobel Akademik Yayıncılık, 2021. Arm Cortex-M4 İle Mikrodenetleyici Programlama, Oğuz Emre Çakıl, Kodlab yayınları, 2018. Projeler Eşliğinde Arm Işlemci Programlama Arm Mbed Os Rtos Thread Rtc Multi Tasking, Mehmet Akif Arvas, Seçkin Yayıncılık, 2021 Diğer kaynaklar ARM Programlama Temelleri – 1, Coşkun Taşdemir, https://www.youtube.com/watch?v=zVzIkYe9Y_Y https://github.com/arm-university STM32 MOOCs (Massive Open Online Courses), https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-moocs.html


Planlanan etkinlikler haftalık ders içeriğinde her hafta için verilmiştir.


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 40
Quiz 1 20
Deney 1 30
Ev Ödevi 1 10
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 50
Yarıyıl (Yıl) Sonu Etkinlikleri 50

Yok


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 1 1
Final Sınavı 1 2 2
Bütünleme Sınavı 1 1 1
Quiz 2 1 2
Derse Katılım 15 3 45
Deney 14 1 14
Proje Hazırlama 1 5 5
Proje Sunma 1 1 1
Bireysel Çalışma 5 5 25
Ara Sınav İçin Bireysel Çalışma 1 15 15
Final Sınavı içiin Bireysel Çalışma 1 15 15
Ev Ödevi 8 3 24
Toplam İş Yükü (saat) 150

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12 PÇ 13
ÖÇ 1 4 3 5 4 5 5 3 5 5 5 4 4 4
ÖÇ 2 5 4 4 5 4 4 5 5 4 5 4 4 3
ÖÇ 3 5 5 5 5 4 4 4 5 5 5 4 4 3
ÖÇ 4 5 4 5 5 5 5 3 5 5 5 5 4 3
ÖÇ 5 4 5 5 4 4 4 5 5 5 5 5 5 4
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek