Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
2.11.2016
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ı nekadar da arttı. Cep telefonlarımız artık sadece iletişimsağlamakla kalmıyor, müzik çalıyor, fotoğraf, videoçekiyor, bilgilerimizi saklıyor. Çamaşır makinalarımız bileakıllı artık. Kendi bilgisayarlarını barındırıyorlar.Çevremizdeki cihazlara bir bakarsak artık birçoğununtamamen olmasa da elektronik birimler barındırdığınıgörürüz:
Mik
roişl
emci
li Si
stem
ler D
ersi
2
– Kişisel bilgisayar– Yazıcı– Tarayıcı (Scanner)– Hesap makinesi– Cep telefonu– Cep bilgisayarı– Televizyon– Video kamera– DVD oynatıcı– CD çalar– Alarmlı Saat– Fotoğraf Makinesi– Hırsız alarmı-– Mikrodalga fırın– Bulaşık makinesi– Buzdolabı-– Mutfak robotu– Çamaşır makinesi– Tansiyon ölçme cihazı– Elektronik oyuncaklar v.b.
Mik
roiş
lem
cili
Sist
emle
r Der
si
3
Mikroişlemci Nedir?• Mikroişlemci aritmetik ve mantıksal işlemler yapabilen ve bu
işlemlerin sonucuna göre çalışmasını yönlendirebilen tümleşik birdevre elemanıdır.
• Mikroişlemciler en basit halleriyle bilgisayarlardır ve 3 temelbölümde incelenirler.• CPU(Merkezi İşlem Birimi)• Hafıza (Memory)• Donanım (Giriş çıkış birimleri)
Mik
roiş
lem
cili
Sist
emle
r Der
si
4
Mikroişlemci iç yapısı• ALU: Aritmetik ve mantıksal hesaplamalardan, transferlerden,
kaydırmalardan sorumlu olan işlemcinin en önemli birimidir. ALU içerisindeki yazmaçlar ile mikroişlemcinin kaç bitlik bir işlemci olduğu belirlenir.
• Kontrol birimi: Tüm işlemlerin sırasını belirler ve gerekli denetim işaretlerini üretir. Aynı zamanda bellekten okunan kodların çözümü de bu birimde yapılır
• Kaydediciler: Mikroişlemci içerisindeki veri yada adres bilgileri kaydedicilerde (register, yazmaç ) tutulur. Sayıları her mikroişlemci ailesi için farklı olabilir.
Mik
roişl
emci
li Si
stem
ler D
ersi
5
Mikrodenetleyici Nedir?• CPU çevresinde yapılandırılmış, bellek (Eprom, Flash), programlanabilir giriş
ve çıkışlar (input-output) analog-dijital dönüştürücü, sinyal üretici, sayıcı,iletişim arabirimi, kristal salınım üretici, gibi çevre birimlerinin tümleşik birbiçimde yani tek bir yonga şeklinde üretildiği bir mikro bilgisayardır.
Mik
roişl
emci
li Si
stem
ler D
ersi
6
2.11.2016
Mikroişlemci vs. Mikrodenetleyici
Mikroişlemci• Sadece CPU içerir, RAM, ROM, I/O, timer vb. ayrıca bağlanır.• Tasarımcı ROM, RAM ve I/O portlarının büyüklerini kendisi belirler ve ona
göre tasarımı gerçekleştirir.• Pahalıdır.• Çok yönlüdür.• Genel amaçlıdır.• Bilgisayarlarda kullanılmaktadır.
Mikrodenetleyici• CPU, RAM, ROM, I/O, timer vb. birimler tek bir çip içerine konulmuştur.• Dahili ROM, RAM ve I/O portları mevcuttur, ayrıca bir tasarım gerektirmez.• Ucuzdur.• Tek (özel) amaçlıdır.• Alarmlı saatlerde, mikrodalga fırınlarda, bulaşık makinelerinde,
buzdolaplarında v.b. Gibi elektronik kontrol gerektiren birçok cihazdakullanılmaktadırlar.
Mik
roişl
emci
li Si
stem
ler D
ersi
7
Gömülü Sistemler• Bir ana ya da alt sistem olarak bir görevin yerine getirilmesini
sağlayan entegre sistemlere Gömülü Sistem adı verilir.• Herhangi bir sistem içerisinde yer alarak, o sistemi akıllı hale
getiren elektronik donanım ve yazılım ile oluşmuş entegre sisteme gömülü sistem denir.
Mik
roişl
emci
li Si
stem
ler D
ersi
8
Gömülü Sistem Bileşenleri
Mik
roiş
lem
cili
Sist
emle
r Der
si
9
Mikroişlecili Sistemler Lab. Dersi İçeriği
• UNİ-DS6 Board Tanıtımı• Pic16f877 Mikroişlemcisi• Pic16f877 GPIO Portları• Pic16f877 Kesme Birimleri• Pic16f877 Timer Birimleri• LCD/GLCD/TFT Uygulamaları• PWM, DAC, ADC Birimleri• I2C, SPI, USART, USB İletişim Birimleri
Mik
roiş
lem
cili
Sist
emle
r Der
si
10
Kullanılacak Donanım ve Program
Mik
roişl
emci
li Si
stem
ler D
ersi
11
Mikroişlemcili Sistemler Ders Kaynakları• MikroC ve Pic18F4550, Hikmet Şahin ve K.
Serkan Dedeoğlu, Altaş Yayıncılık.• MikroC PRO for PIC Derleyici
Kütüphaneleri.
Mik
roişl
emci
li Si
stem
ler D
ersi
12
2.11.2016
PIC• Mikrodenetleyicilerin kullanımı yaygınlaştıkça Atmel, Philips,
Renesas, NEC, Microchip gibi firmalar mikrodenetleyicilerlepiyasa çıkmaya başladılar.
• Microchip, 1990 yılından itibaren 8-bit’lik mimari üzerine yaptığı özel donanım eklentileri ile günümüzde onlarca çeşit mikrodenetleyici üretmektedir.
• Microchip firması tarafından üretilen mikrodenetleyicilerdeHarvard mimarisi (RISC yapısı) kullanılmaktadır. Bu nedenle PIC mikrodenetleyicilerinin program ve veri belleği birbirinden ayrıdır.
• RISC yapısı nedeniyle PIC’ler oldukça az komut (35 komut) ile programlanmaktadır.
Mik
roişl
emci
li Si
stem
ler D
ersi
13
PIC• PIC kelimesi, “Peripheral Interface Controller-Çevresel
Arabirim Denetleyicisi” den türetilmiş olsa da farklıkaynaklarda “Programmable Interface Controller -Programlanabilir Arabirim Denetleyicisi” veya “ProgrammableIntelligent Computer - Programlanabilir Akıllı Bilgisayar” olarakadlandırılmıştır.
• PIC Mikro denetleyicilerinin birçok çeşidi vardır, veri yolugenişliği baz alınarak PIC mikro denetleyicileri; 8-bit(PIC10,PIC12,PIC16,PIC18), 16-bit(PIC24) ve 32-bit(PIC32)olarak sınıflandırabiliriz.
• PIC serisi entegreler, Assembly, Basic veya C dili ileprogramlanabilir. Kolaylık ve arayüz bakımından C dili tercihedilse de, Assembly profesyonel anlamda daha çok kullanımalanına sahiptir.
Mik
roişl
emci
li Si
stem
ler D
ersi
14
PIC AİLESİ• PIC10 ve PIC12 Ailesi: 8-bit veriyolu, 12-bit yazılım mimarisi• PIC 16 Ailesi: 14-bit yazılım mimarisi, gelişmiş iletişim ve ADC
özellikleri• PIC18 Ailesi:16-bit yazılım mimarisi, 16-bit veriyolu• PIC24 Ailesi: 24-bit yazılım mimarisi• dsPIC: PIC24 tabanlı, artı DSP ( sayısal sinyal işleme )
fonksiyonları• PIC32-bit Ailesi: 32-bit veriyolu• PIC32MX Ailesi: MIPS Mimarisi tabanlı, 32- bit veriyolu
• Bir MCU çip dışındaki harici ünitelerle veri alışverişini kaç bitle yapıyorsa buna veri yolu bit sayısı denir.
Mik
roiş
lem
cili
Sist
emle
r Der
si
15
Neden PIC Mikroişlemcisi• Piyasada kolay bulunabilmeleri ve birçok çeşidinin olması.• Programlama için gerekli donanımların çok basit olması ve
ücretsiz devre şemalarının kolaylıkla bulunabilmesi• Programlama için gerekli olan yazılım geliştirme araçlarının
Microchip tarafından ücretsiz olarak sunulması• Sahip olduğu RISC mimarisinin, az sayıda komut ile kolayca
programlanmasına olanak sağlaması• Basic, C gibi yüksek ve orta seviyeli dillerde
programlanmalarını sağlayan ücretli/ücretsiz yazılımlarınınbulunması.
• Yaygın kullanımın bir sonucu olarak çok miktarda örnekuygulama ve kaynağın bulunması
• Microchip tarafından yazılan uygulama notlarının uygulamageliştirmede kolaylıklar sağlaması
Mik
roiş
lem
cili
Sist
emle
r Der
si
16
Pic16f877 Özellikleri• PIC 16F877 yüksek performanslı, CMOS, full-statik, 8 bit
mikrodenetleyicidir.• Flash Bellek ve EEPROM bellek çeşitleri kullanırlar.• İçerisinde değişkenleri saklamak için ise rastgele erişimli hafıza
(RAM) kullanırlar.• Komut işleme tekniği olarak hızlı çalışmasından dolayı RISC
mimarisini temel alan işlemci kullanırlar (RISC: Reduced InstructionSet Computing).
• 40 pinlidir (yani 40 bacağı bulunur).• 33 tane pini giriş/çıkış (I/O),• 7 pin ise besleme gerilimi, osilatör, reset(MCLR) gibi
mikrodenetleyicinin çalışması için gerekli donanıma pinleridir.• Bellek organizasyon mimarisi olarak HARWARD mimarisini
kullanırlar. Bu mimarinin özelliği program ve veri saklama bellekleriayrı yapıdadır.
• En yüksek kristal hızı olarak 20 MHz ile çalışılabilmektedir.• Flash program belleği ise 8Kx14 boyutundadır.
Mik
roişl
emci
li Si
stem
ler D
ersi
17
Mik
roişl
emci
li Si
stem
ler D
ersi
18
PIC16F87X İç Mimarisinin Blok diyagramı
2.11.2016
PIC16F877 Pin Diyagramı• PIC16F877 'nin 40 pininden 33 tanesi I/O ( input/output -
giriş/çıkış ) pinleridir. • PIC16F877; 6 bitlik A portu, her biri 8 bitlik B,C ve D portları ve
3 bitlik E portu olmak üzere 5 porta sahiptir. • I/O pinlerinin gerekli konfigürasyonlar yapılarak başka
amaçlarla kullanılması da mümkündür.
Mik
roiş
lem
cili
Sist
emle
r Der
si
19
PIC16F877 Pin Diyagramı
Mik
roişl
emci
li Si
stem
ler D
ersi
20
PIC16F877 Pin Diyagramı
Mik
roiş
lem
cili
Sist
emle
r Der
si
21
PIC16F877 Pin Diyagramı
Mik
roiş
lem
cili
Sist
emle
r Der
si
22
PIC16F877 ile Yapılabilecek Uygulamalar
• RTC Uygulamaları,• USB İletişim,• USART İletişim,• DAC ve Ses Uygulamaları,• ADC Uygulamaları,• I2C İletişimi,• SPI İletişimi,• GPIO Uygulamaları (Led, Buton, v.b.)• PWM/TIMER Uygulamaları,• Motor ve Sensör Uygulamaları,• LCD/GLCD Uygulamaları
Mik
roişl
emci
li Si
stem
ler D
ersi
23
Mikroişlemci ProgramlamaMikroişlemcili Sistemlerde Kullanılan Diller
• Makine kodu (Machine Code)• Düşük seviyeli diller Low level language (assembly)• Yüksek seviyeli diller (High Level Language) (c, c++, java)• Uygulama Düzeyi Diller (Visual Basic, Access)
Mik
roişl
emci
li Si
stem
ler D
ersi
24
2.11.2016
MikroC PRO for PIC
Mik
roiş
lem
cili
Sist
emle
r Der
si
25
Örnek MikroC for Pic Koduvoid main() {
ANSEL = 0; // Configure AN pins as digitalANSELH = 0;C1ON_bit = 0; // Disable comparatorsC2ON_bit = 0;
TRISA = 0x00; // set direction to be outputTRISB = 0x00; // set direction to be outputTRISC = 0x00; // set direction to be outputTRISD = 0x00; // set direction to be output
do {PORTA = 0x00; // Turn OFF LEDs on PORTAPORTB = 0x00; // Turn OFF LEDs on PORTBPORTC = 0x00; // Turn OFF LEDs on PORTCPORTD = 0x00; // Turn OFF LEDs on PORTDDelay_ms(1000); // 1 second delay
PORTA = 0xFF; // Turn ON LEDs on PORTAPORTB = 0xFF; // Turn ON LEDs on PORTBPORTC = 0xFF; // Turn ON LEDs on PORTCPORTD = 0xFF; // Turn ON LEDs on PORTDDelay_ms(1000); // 1 second delay
} while(1); // Endless loop}
Mik
roişl
emci
li Si
stem
ler D
ersi
26