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

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

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

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İ

EEM 419-Mikroişlemciler Güz 2017

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

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

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

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

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

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

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:

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

DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA

Ön Söz. Fırat Deveci Ağustos 2010 Elektrik ve elektroniğe gönül veren herkese. Sayfa 1

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

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

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

BÖLÜM Mikrodenetleyicisine Giriş

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

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

BÖLÜM 6 Seri Port Đşlemleri

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

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

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

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

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:

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

PIC 16F877 nin kullanılması

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

1 RFID VE RFID TEKNOLOJİSİ

Giris {\} /\ Suhap SAHIN

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

PIC Mikrodenetleyicileri

Hardware ve Software UART Iletisim Arayüzleri. /* * Mehmet Ozgan gmail.com> * , Wien */

Configuration bitleri ve reset durumları hakkında kavramlar

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

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

PIC16F877A nın Genel Özellikleri

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

Mikrobilgisayar Donanımı

Embedded(Gömülü)Sistem Nedir?

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

Birol Çapa Özen Özkaya Güz Dönemi Eğitimleri

BÖLÜM 2 SAYI SİSTEMLERİ

C-Serisi PLC İleri Seviye Eğitim

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

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

PIC Programlama. Devrim Çamoğlu

Hacettepe Robot Topluluğu

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

Mikroişlemciler. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

EEM 419-Mikroişlemciler Güz 2016

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

BM-311 Bilgisayar Mimarisi

BİLGİSAYAR SİSTEMLERİ

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

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

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

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

Ad Soyad: Öğrenci No:

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

EasyPic 6 Deney Seti Tanıtımı

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

Mikrobilgisayar Sistemleri ve Assembler

MEKATRONİĞİN TEMELLERİ

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

İletişim Protokolleri (Communication Protocols)

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

Mikroişlemcili Sistemler ve Laboratuvarı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

Mikroişlemcili Sistemler ve Laboratuvarı

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI

RF Tabanlı Sayısal Veri Haberleşmesi

Mikroişlemcili Sistemler ve Laboratuvarı

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

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

LCD (Liquid Crystal Display)

Mikroişlemciler ve Mikrodenetleyiciler

ESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

İşletim Sistemleri (Operating Systems)

BÖLÜM 7 Kesmeler.

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

Bilgisayar ile Dijital Devrelerin Haberleşmesi. FT232R ve MAX232 Entegreleri. Çalışma Raporu

1 RFID VE RFID TEKNOLOJİSİ

Mikrodenetleyiciler (MECE 308) Ders Detayları

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

Analog Sayısal Dönüşüm

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

Bilgisayar Mimarisi ve Organizasyonu Giriş

SPARC v8 İŞLEMCİ SİMÜLASYONU

1 Mikrokontrolör 1. 2 ATMEL AT90S2313 Mikrokontrolörü 7

BM-311 Bilgisayar Mimarisi

C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10,

Bir mikroişlemci temel olarak üç kısımdan oluşur. Bunlar merkezi işlem birimi (CPU), giriş çıkış birimi (G/Ç) ve bellektir.

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

MİKRODENETLEYİCİLER. Yrd.Doç.Dr. İlker ÜNAL

Transkript:

İÇİ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?... 14 1.3.1 BİR MİKRODENETLEYİCİYE İHTİYACINIZ VAR MI?... 15 1.3.2 NİÇİN ATMEL AVR AİLESİ MİKRODENETLEYİCİ?... 17 1.4. MİKROİŞLEMCİ VE MİKRODENETLEYİCİ MİMARİLERİ... 18 1.4.1 VON-NEUMAN MİMARİSİ VE CISC İŞLEMCİLER... 18 1.4.2 HAVARD MİMARİSİ VE RISC İŞLEMCİLER... 19 1.4.3 MİKROİŞLEMCİ İLE MİKRODENETLEYİCİNİN KARŞILAŞTIRILMASI... 20 1.4.4. MİKRODENETLEYİCİ YAPISINA HIZLI BAKIŞ... 20 1.4.4.1MİKRODENETLEYİCİ İLE BİR UYGULAMA GELİŞTİRMEK... 23 1.5. AVR PROGRAMLAMAK İÇİN NELER GEREKLİ?... 25 1.5.1 KİŞİSEL BİLGİSAYAR... 25 1.5.2 METİN EDİTÖRÜ... 26 1.5.3 ASSEMBLER PROGRAMI... 27 1.5.4 AVR PROGRAMLAMA KARTI... 28 1.5.5 PROGRAM YÜKLEME YAZILIMI (ARAYÜZÜ)... 28 1.5.6 PROGRAMLANMIŞ AVR Yİ NASIL DENEYEBİLİRSİNİZ?... 29 1.5.6.1 PROJE BOARDU ÜZERİNDEKİ DEVRE İLE DENEMEK... 29 1.5.6.2 AVR DENEME KARTI İLE DENEMEK... 30 2. AVR MİKRODENETLİYİCİ DONANIM ÖZELLİKLERİ 2.1 AVR MİKRODENETLEYİCİLERİN GENEL ÖZELLİKLERİ... 33 2.2 AVR ÇEŞİTLERİ... 34 2.3 AVR LERİN DIŞ GÖRÜNÜŞLERİ... 36 2.3.1 AVR CHIP LERİNİN KILIF TİPLERİ (PACKAGE TYPE)... 37 2.4 AVR PROGRAM BELLEKLERİ.....37 3.AVR ATtiny2313 ÖZELLİKLERİ 3.1 AVR ATTİNY2313 ÜN PIN YAPISI... 39 3.2 AVR ATTİNY2313 ÜN BASİT BLOK DİYAGRAMI... 40 3.2.1 PROGRAM BELLEĞİ (FLASH MEMORY)... 40 3.2.2 VERİ BELLEĞİ (SRAM/EEPROM DATA MEMORY)... 42 3.2.3 CPU/ALU... 43 3.2.4 GENEL AMAÇLI SAKLAYICILAR (GENERAL PURPUSE REGISTES)... 44 3.3 BİR KOMUTUN İŞLENME AŞAMALARI... 45 3.3.1 BİR KOMUTUN İŞLENMESİNE AİT ZAMAN DİYAGRAMLARI... 46 3.3.2 DURUM (STATUS) SAKLAYICI... 48 3.4 AVR NİN BESLEME GERİLİMİ... 48 3.5 SAAT (CLOCK) KULLANIMI VE KAYNAKLARI... 49 3.5.1 KRİSTAL SAAT IC OSİLATÖR(CRYSTAL CLOCK IC )... 49 3.5.2 SERAMİK REZONATÖR OSİLATÖR (CERAMİC RESONATOR)... 50 3.5.3 QUARTZ KRİSTAL OSİLATOR/XTAL (QUARTZ CRYSTAL)... 50

2 3.5.4 DAHİLİ RC OSİLATÖR (INTERNAL RC OSCILLATOR)... 51 3.6 RESET VE RESET KAYNAKLARI... 51 3.6.1 POWER-ON RESET (POR)... 52 3.6.2 HARİCİ (EXTERNAL) RESET... 53 3.6.3 BROWN-OUT RESET... 54 3.6.4 WATCHDOG RESET (WDT RESET)... 55 3.6.5 MCUSR- RESET KAYNAĞININ SAKLAYICISI... 56 3.7 I/O (GİRİŞ/ÇIKIŞ) PORT LARI... 56 3.7.1 ALTERNATİF PORT İŞLEVLERİ... 60 3.7.2 A PORT U PİNLERİ VE İŞLEVLERİ... 60 3.7.3 B PORT U PİNLERİ VE İŞLEVLERİ... 61 3.7.4 D PORT U PİNLERİ VE İŞLEVLERİ... 62 4. AVR ASSEMBLY E GİRİŞ 4.1 AVR ASSEMBLY DİLİ VE ERLEYİCİSİ... 63 4.1.1 PROGRAM KOD SATIRI... 64 4.2 VERİ ADRESLEME MODLARI... 64 4.2.1 DOĞRUDAN SAKLAYICI ADRESLEMEK (TEK SAKLAYICI)... 65 4.2.2 DOĞRUDAN SAKLAYICI ADRESLEMEK (İKİ SAKLAYICI)... 65 4.2.3 DOĞRUDAN GİRİŞ/ÇIKIŞ (I/O) BELLEK ADRESLEMEK... 66 4.2.4 DOĞRUDAN VERİ (DATA) BELLEK ADRESLEMEK... 66 4.2.5 DOLAYI VERİ (DATA) BELLEĞİ ADRESLEMEK... 67 4.2.6 DOLAYI VERİ BELLEĞİ ADRESLEMEK (ARTIRARAK/AZALTARAK)... 67 4.2.7 DOLAYI PROGRAM BELLEĞİ ADRESLEMEK... 68 4.2.8 İLİŞKİLİ (RELATIVE) PROGRAM BELLEĞİ ADRESLEMEK... 68 4.3 AVR ATTİNY 2313 KOMUT SETİ... 69 4.4 AVR ASSEMBLER YÖNERGELERİ... 83 5. AVR PROGRAMLAMAK VE DENEMEK 5.1 AVR ASSEMBLY DİLİ YAZIM KURALLARI... 89 5.1.1 PROGRAM BLOKLARI VE GİRİNTİLERİ... 90 5.1.1.1 NOKTALI VİRGÜL (;) KARAKTERİ KULLANMAK... 91 5.1.2 SAYI VE YAZIM FORMATLARI... 91 5.1.2.1 HEKSADESİMAL SAYI FORMATI... 91 5.1.2.2 BİNARY sayı formatı... 91 5.1.2.3 DESİMAL sayı formatı... 92 5.1.2.4 ASCII karakter formatı... 92 5.1.2.5 BÜYÜK/KÜÇÜK HARF KULLANMAK... 92 5.1.2.6 ETİKETLER... 92 5.1.3 AKIŞ DİYAGRAMLARININ ÇİZİLMESİ... 93 5.2 AVR PROGRAM YAZIM ADIMLARI... 96 5.3 AVR STUDIO EDİTÖRÜNDE PROGRAMI YAZMAK... 96 5.4 PROGRAMIN DERLENMESİ... 98 5.4.1 INCLUDE DOSYASININ ÖZELLİKLERİ... 99 5.5 PROGRAMI AVR ENTEGREYE YAZDIRMAK... 101 5.5.1 AVR PROG/DEKA PROGRAMLAMA VE DENEME KARTI... 101 5.5.2 PONYPROG2000 SERİ PROGRAMLAYICI... 103

AVR Mikrodenetleyicilere Giriş 3 5.6 PROGRAMLANMIŞ BİR AVR Yİ DENEMEK... 106 5.6.1 PROJE BOARDU ÜZERİNE KURULAN DEVREDE DENEMEK... 106 5.6.2 DENEME KARTI ÜZERİNDE DENEMEK... 107 5.7 GÜVENLİK VE SİGORTA BİTLERİ (KONFİGÜRASYON)... 108 5.7.1 LOCK (KİLİTLEME) BİTLERİ... 109 5.7.2 FUSE (SİGORTA) BİTLERİ... 110 5.7.2.1 Fuse Extended Byte... 110 5.7.2.2 Fuse HIgh Byte... 110 5.7.2.3 Fuse Low Byte... 112 5.8 SAAT (CLOCK) SİSTEMLERİ VE DAĞILIMLARI... 112 5.9 SAAT (CLOCK) SİGORTA BİTLERİ VE KAYNAKLARI... 114 5.9.1 KRİSTAL (CRYSTAL) OSİLATÖR KAYNAĞI MODLARI... 114 5.9.2 AYARLANABİLİR DÂHİLİ RC OSİLATÖR... 116 5.9.2.1 OSCCAL... 117 5.9.3 HARİCİ SAAT (EXTERNAL CLOCK)... 117 5.10 AVR STUDIO PROGRAMI İLE İLGİLİ BAZI UYGULAMALAR... 118 5.10.1 AVR STUDIO da derlenmiş dosyadan yeni bir PROJE OLUŞTURMAK... 118 5.10.2 AVR STUDIO DA PROJE simülasyonu yapmak... 119 5.11 PONYPROG2000 İLE İLGİLİ BAZI UYGULAMALAR... 123 6. VERİ TRANSFERİ VE KARAR İŞLEMLERİ 6.1 SAKLAYICILAR ARACILIĞI İLE VERİ TRANSFERİ... 125 6.1.1 LDI ve OUT KOMUTLARI İLE VERİ TRANSFERİ... 125 6.1.2 VERİNİN IN VE OUT KOMUTLARI İLE TRANSFERİ... 130 6.1.3 AVR yi PROGRAMLARKEN UYGUN OSİLATÖR SEÇMEK... 134 6.2 BİT TEST EDEREK PROGRAM AKIŞINI DEĞİŞTİRMEK... 137 6.2.1 BİR SAKLAYICININ BİT İNİ TEST EDEREK KARAR VERMEK... 137 6.2.3 I/O SAKLAYICISININ BİT İNİ TEST EDEREK KARAR VERMEK... 141 6.2.4 I/O SAKLAYICISININ BIT İNİ DOĞRUDAN SET VE CLEAR YAPMAK... 144 7. DÖNGÜ DÜZENLEMEK 7.4 ARİTMETİK İŞLEM VE KARŞILAŞTIRMA YAPARAK DÖNGÜ DÜZENLEMEK... 161 7.4.1 SUB VE SUBI KOMUTLARI İLE DÖNGÜ DÜZENLEMEK... 161 7.4.2 KARŞILAŞTIRMA KOMUTLARIYLA DÖNGÜ DÜZENLEMEK... 166 7.4.3 DİĞER KOMUTLARLA DÖNGÜ DÜZENLEMEK... 168 8. ZAMAN GECİKTİRMESİ VE HESAPLAMALARI 8.1 ZAMAN GECİKTİRMENİN PRENSİPLERİ... 173 8.1.1 KOMUT ÇEVRİMİ VE SÜRESİ... 173 8.1.2 ZAMAN GECİKTİRME DÖNGÜLERİNDE HESAPLAMALAR... 175 8.1.3 TEK DÖNGÜ İLE EN AZ ZAMAN GECİKTİRMESİ YAPMAK... 176 8.1.4 TEK DÖNGÜ İLE EN FAZLA ZAMAN GECİKTİRMESİ YAPMAK... 177 8.1.4.1 TEKRAR SAYISININ (N) HESABI... 179 8.1.5 ÇİFT DÖNGÜLÜ ZAMAN CECİKTİRMESİ DÜZENLEMEK... 180 9. ALT PROGRAM OLUŞTURMAK 9.1 ALT PROGRAM NEDİR?... 183 9.1.1 ALT PROGRAM KULLANMANIN YARARLARI... 183

4 9.2 YIĞIN (GÖSTERİCİ) SAKLAYICI (STACK POİNTER REGİSTER)... 185 10. BİT KAYDIRMAK VE MANTIKSAL İŞLEMLER 10.1 BİT KAYDIRMA KOMUTLARI... 199 10.1.1 SOLA KAYDIRMAK (LSL VE ROL KOMUTLARI)... 199 10.1.1.1 LSL ( LOGİCAL SHİFT LEFT) MANTIKSAL SOLA KAYDIRMA KOMUTU... 199 10.1.1.2 ROL (ROTATE LEFT TROUGH CARRY) TAŞMA İLE SOLA KAYDIRMA... 203 10.1.2 SAĞA KAYDIRMAK (LSR VE ROR KOMUTLARI)... 205 10.1.2.1 LSR ( LOGİCAL SHİFT RİGHT) MANTIKSAL SAĞA KAYDIRMA... 205 10.1.2.2 ROR (ROTATE RİGHT TROUGH CARRY) TAŞMA İLE SAĞA KAYDIRMA... 208 10.1.3 COM KOMUTU (BİR İN TAMAMLAYICISINI ALMAK)... 209 10.1.4 SWAP KOMUTU (YER DEĞİŞTİRMEK)... 212 10.2 MANTIKSAL İLŞLEM KOMUTLARI... 215 10.2.1 AND KOMUTU (İKİ SAKLAYICI ARASINDA AND İŞLEMİ YAPMAK)... 215 10.2.2 ANDI KOMUTU (SAKLAYICI İLE SABİT ARASINDA AND İŞLEMİ YAPMAK)... 216 10.2.3 OR KOMUTU (SAKLAYICILAR ARASINDA OR İŞLEMİ YAPMAK)... 217 10.2.4 ORI KOMUTU (SAKLAYICI İLE SABİT ARASINDA OR İŞLEMİ YAPMAK)... 217 10.2.5 EOR KOMUTU (İKİ SAKLAYICI ARASINDA EX-OR/ ÖZEL OR İŞLEMİ YAPMAK)... 218 10.3 MANTIKSAL İŞLEM KOMUTLARI İLE VERİLERİ KARŞILAŞTIRMAK... 219 10.3.1 EOR KOMUTU İLE İKİ VERİYİ KARŞILAŞTIRMAK... 219 10.3.2 OR KOMUTU İLE VERİYİ 0 İLE KARŞILAŞTIRMAK... 220 10.4 BİLEŞİMSEL MANTIK DEVRESİ ÇÖZÜMÜ... 221 11. ARİTMETİK İŞLEM KOMUTLARI VE İŞLEMLERİ 11.1 ARİTMETİK İŞLEM KOMUTLARI... 225 11.1.1 TOPLAMA KOMUTLARI... 225 11.1.2 I6 BİT TOPLAMA YAPMAK... 229 11.1.3 ÇIKARMA KOMUTLARI... 232 12.POINTER SAKLAYICILAR VE ÇEVRİM TABLOLAR 12.1 POINTER SAKLAYICILARI... 243 12.1.1 VERİ BELLEĞİNE YAZMA VE OKUMA... 244 12.1.2 PROGRAM BELLEĞİNDEN VERİ OKUMA (LPM KOMUTU)... 248 12.2 ÇEVRİM TABLOLARI... 249 13. KESMELER (INTERRUPTS) 13.1 KESME (INTERRUPT) NEDİR?... 269 13.1.1 GENEL KESMENİN YETKİLİ KILINMASI... 272 13.1.2 KESME SERVİS PROGRAMINA YÖNLENDİRME... 273 13.2 KESME ÖZELLİKLERİNİN TANIMLANMASI... 274 13.2.1 INT0, INT1 VE PCINT KESMELERİ VE DÜZENLEMELERİ... 274 13.2.1.1 GENERAL INTERRUPT MASK REGISTER (GIMSK)... 275 13.2.1.2 MCU CONTROL REGISTER (MCUCR)... 275 13.3 KESME SIRASINDA SREG VE SAKLAYICI İÇERİĞİNİN KORUNMASI... 281 14. ZAMANLAYICILAR /SAYICILAR 14.1 DONANIM ZAMANLAYICILARI/SAYICILARI... 289

AVR Mikrodenetleyicilere Giriş 5 14.1.1 8-BIT ZAMANLAYICI/SAYICI0 (TIMER/COUNTER0)... 290 14.1.2 ZAMANLAYICI/SAYICI0 ÜNİTE SAKLAYICILARI... 290 14.1.3 SAYICI ÜNİTESİ... 291 14.1.4 ÇIKIŞ KARŞILAŞTIRMA ÜNİTESİ... 292 14.1.5 KARŞILAŞTIRMA EŞLEŞME ÇIKIŞ ÜNİTESİ... 293 14.2 ZAMANLAYICI/SAKLAYICI0 MODLARI... 293 14.2.1 NORMAL MODE... 294 14.2.2 ZAMANLAYICI SİLME KARŞILAŞTIRMA MODU (CTC)... 294 14.2.3 HIZLI PWM (Fast PWM Mode) MODU... 295 14.2.4 FAZ DÜZELTME PWM MODU (Phase Correct PWM Mode)... 296 14.3. ZAMANLAYICI/SAYICI0 ZAMANLAMA DİYAGRAMLARI... 297 14.4 ZAMANLAYICI/SAYICI0 SAKLAYICILARININ İNCELENMESİ... 299 14.4.1 TCCR0A (Timer/Counter Control Register A-Zamanlayıcı/Sayıcı Kontrol Saklayıcısı A)... 299 14.4.2 TCCR0B (Timer/Counter Control Register B -Zamanlayıcı/Sayıcı Kontrol Saklayıcısı B)... 301 14.4.3 TCNT0 (Timer/Counter Register0 -Zamanlayıcı/Sayıcı Saklayıcısı0... 302 14.4.4 OCR0A ( Output Compare Register A Çıkış Karşılaştırma Saklayıcısı A)... 302 14.4.5 OCR0B ( Output Compare Register0 B Çıkış Karşılaştırma Saklayıcısı B)... 303 14.4.6 TIMSK (Timer/Counter Interrupt Mask Register saklayıcısı)... 303 14.4.7 TIFR (Timer/Counter Interrupt Flag Register )... 304 14.5 16 BIT ZAMANLAYICI/SAYICI1 (TIMER/COUNTER1)... 325 14.5.1 GENEL AÇIKLAMALAR... 326 14.5.2 ZAMANLAYICI/SAYICI1 ÜNİTE SAKLAYICILARI... 327 14.5.3 16-BIT SAKLAYICILARA ERİŞİM... 328 14.5.4 GİRİŞ YAKALAMA ÜNİTESİ (INPUT CAPTURE UNIT)... 330 14.5.4.1 GİRİŞ YAKALAMA TETİKLEME KAYNAKLARI... 331 14.5.4.2 GÜRÜLTÜ KESİCİ... 331 14.5.4.3 GİRİŞ YAKALAMA ÜNİTESİNİN KULLANILMASI... 331 14.6 ZAMANLAYICI/SAYICI1 SAKLAYICILARININ İNCELENMESİ... 332 14.6.1 TCCR1A (Timer/Counter Control Register A-Zamanlayıcı/Sayıcı1 Kontrol Saklayıcısı A)... 332 14.6.2 TCCR1B (Timer/Counter Control Register B -Zamanlayıcı/Sayıcı Kontrol Saklayıcısı B)... 335 14.6.3 TCCR1C (Timer/Counter Control Register C -Zamanlayıcı/Sayıcı Kontrol Saklayıcısı C)... 336 14.6.4 TCNT1H ve TCNT1L (Timer/Counter Register1 -Zamanlayıcı/Sayıcı Saklayıcısı1... 336 14.6.5 OCR1AH ve OCR1AL ( Output Compare Register 1 A Çıkış Karşılaştırma saklayıcısı 1 A)... 337 14.6.6 OCR1BH ve OCR1BL ( Output Compare Register 1 B Çıkış Karşılaştırma saklayıcısı 1 B)... 337 14.6.7 ICR1H ve ICR1L ( Input Capture Register 1 Giriş Yakalama Saklayıcısı 1... 337 14.6.8 TIMSK (Timer/Counter Interrupt Mask Register)... 338 14.6.9 TIFR (Timer/Counter Interrupt Flag Register )... 339 14.7 ZAMANLAYICI/SAYICI 1 MODLARI... 340 14.7.1 NORMAL MOD... 341 14.7.2 ZAMANLAYICI SİLME KARŞILAŞTIRMA MODU (CTC)... 348 14.7.3 HIZLI (Fast) PWM MODU... 353 14.7.4 FAZ DÜZELTME PWM MODU... 357 14.7.5 FAZ ve FREKANS DÜZELTME PWM MODU... 358 14.8 WATCHDOG ZAMANLAYICI (WATCHDOG TIMER)... 363 14.8.1 WDTCR ( WatchDog Timer Control Register - Watchdog Zamanlayıcı Kontrol Saklayıcısı)... 364 14.8.1.1 WDT I DURDURMAK ve DEĞERLERİNİ DEĞİŞTİRMEK... 366 14.9 UYKU (SLEEP) MODU... 375 14.9.1 MCUCR SAKLAYICISINI UYKU MUDU İÇİN DÜZENLEMEK... 376

6 14.9.1.1 IDLE MOD 376 14.9.1.2 POWER-DOWN MODU... 377 14.9.1.3 BEKLEME (STANDBY) MODU... 377 15. ANALOG KARŞILAŞTIRICI ve İŞLEMLERİ 15.1 ANALOG KARŞILAŞTIRMA ÜNİTESİ... 383 15.1.1 ACSR (ANALOG COMPARATOR CONTROL AND STATUS REGİSTER )... 386 15.1.2 DIDR /DIJITAL GİRİŞİ KAPATMA SAKLAYICISI... 387 16. USART SERİ VERİ İLETİŞİMİ 16.1 SERİ İLETİŞİM NEDİR?... 395 16.1.1 ASENKRON (EŞ ZAMANSIZ) VERİ İLETİŞİMİ... 395 16.1.2 SENKRON (EŞ ZAMANLI) VERİ İLETİŞİMİ... 397 16.1.3 İLETİM YÖNLERİNE GÖRE SERİ VERİ İLETİŞİM MODLARI... 397 16.1.3.1 FULL DUBLEX (TAM ÇİFT YÖNLÜ) MODU... 397 16.1.3.2 HALF DUBLEX (YARIM ÇİFT YÖNLÜ) MODU... 398 16.1.3.3 SIMPLEX (TEK YÖNLÜ) MODU... 398 16.2 AVR ATTİNY2313 USART BİRİMİ... 398 16.2.1 USART BLOK DİYAGRAMI... 399 16.2.1.1 SAAT SİNYALİ ÜRETİMİ... 400 16.2.1.2 BAUD RATE ÜRETİMİ VE SİNYAL HIZININ BELİRLENMESİ... 401 16.2.1.3 ÇERÇEVE (FRAME) FORMATLARI... 402 16.3 USART SAKLAYICILARININ İNCELENMESİ... 403 16.3.1 UDR (USART I/O DATA REGİSTER-USART GİRİŞ/ÇIKIŞ SAKLAYICISI)... 404 16.3.2 UCSRA ( USART CONTROL AND STATUS REGİSTER A )... 404 16.3.3 UCSRB ( USART CONTROL AND STATUS REGİSTER B )... 405 16.3.4 UCSRC ( USART CONTROL AND STATUS REGİSTER C)... 406 16.3.5 UBRRL VE UBRRH (USART BAUD RATE REGİSTERS)... 407 16.4 USART IN KULLANILMASI... 409 16.4.1 USART İLE VERİ GÖNDERMEK... 410 16.4.1.1 5 İLE 8 BIT ARASI VERİ GÖNDERMEK... 410 16.4.1.2 9 BIT VERİ GÖNDERMEK... 411 16.4.1.3 GÖNDERİCİ KESMELERİ... 411 16.4.2 WINDOWS XP DE HYPER TERMİNAL OLUŞTURMAK... 415 16.4.3 USART İLE VERİ ALMAK... 419 16.4.3.1 5 İLE 8 ARASI VERİ ALMAK... 419 16.4.3.2 9 BİT VERİ ALMAK... 420 16.4.3.3 ALMA TAMAMLANDI BAYRAĞI VE KESME... 420 16.4.3.3 ALICIYI DEVRE DIŞI BIRAKMAK VE BOŞALTMAK... 420 17. EEPROM VERİ BELLEĞİNİ YAZMA/OKUMA İŞLEMLERİ 17.1 AVR ATTİNY2313 EEPROM VERİ BELLEĞİ... 425 17.1.1 EEPROM SAKLAYICILARI... 425 17.1.1.1 EEAR (EEPROM Address Register- EEPROM Adres Saklayıcısı)... 426 17.1.1.2 EEDR (EEPROM Data Register- EEPROM Veri Saklayıcısı)... 426 17.1.1.3 EECR (EEPROM Control Register-EEPROM Kontrol Saklayıcısı)... 427 DİZİN...434