5
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ı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor, müzik çalıyor, fotoğraf, video çekiyor, bilgilerimizi saklıyor. Çamaşır makinalarımız bile akıllı artık. Kendi bilgisayarlarını barındırıyorlar. Çevremizdeki cihazlara bir bakarsak artık birçoğunun tamamen olmasa da elektronik birimler barındırdığını görürüz: Mikroişlemcili Sistemler Dersi 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. Mikroişlemcili Sistemler Dersi 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 bir devre elemanıdır. Mikroişlemciler en basit halleriyle bilgisayarlardır ve 3 temel bölümde incelenirler. CPU(Merkezi İşlem Birimi) Hafıza (Memory) Donanım (Giriş çıkış birimleri) Mikroişlemcili Sistemler Dersi 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. Mikroişlemcili Sistemler Dersi 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 bir biçimde yani tek bir yonga şeklinde üretildiği bir mikro bilgisayardır. Mikroişlemcili Sistemler Dersi 6

Bilecik Şeyh Edebali Universityw3.bilecik.edu.tr/.../sites/75/2016/12/1.sunu_6li.pdf2016/12/01  · î ñ Y À } ] u ] v ~ E^ >, A ì V } ]

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bilecik Şeyh Edebali Universityw3.bilecik.edu.tr/.../sites/75/2016/12/1.sunu_6li.pdf2016/12/01  · î ñ Y À } ] u ] v ~ E^ >, A ì V } ]

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

Page 2: Bilecik Şeyh Edebali Universityw3.bilecik.edu.tr/.../sites/75/2016/12/1.sunu_6li.pdf2016/12/01  · î ñ Y À } ] u ] v ~ E^ >, A ì V } ]

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

Page 3: Bilecik Şeyh Edebali Universityw3.bilecik.edu.tr/.../sites/75/2016/12/1.sunu_6li.pdf2016/12/01  · î ñ Y À } ] u ] v ~ E^ >, A ì V } ]

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ı

Page 4: Bilecik Şeyh Edebali Universityw3.bilecik.edu.tr/.../sites/75/2016/12/1.sunu_6li.pdf2016/12/01  · î ñ Y À } ] u ] v ~ E^ >, A ì V } ]

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

Page 5: Bilecik Şeyh Edebali Universityw3.bilecik.edu.tr/.../sites/75/2016/12/1.sunu_6li.pdf2016/12/01  · î ñ Y À } ] u ] v ~ E^ >, A ì V } ]

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