Yüksek Performanslı RISC CPU Özellikleri: CMOS Teknolojisi: Dış Yüzeysel Özellikler: Özel Mikrokontrolör Özellikleri: 1.

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

Download "Yüksek Performanslı RISC CPU Özellikleri: CMOS Teknolojisi: Dış Yüzeysel Özellikler: Özel Mikrokontrolör Özellikleri: 1."

Transkript

1 Yüksek Performanslı RISC CPU Özellikleri: Öğrenmek için yalnızca 35 tek kelime komutları Đki dönüşümlü program komutları haricindeki bütün komutlar tek dönüşümde ( MHz) Đşletim hızı DC-10 MHz saat girişi DC-400 ns komut dönüşümü 14 bitlik geniş komutlar 8 bitlik geniş veriyolu 1K*14 EEPROM program hafızası 36*8 genel amaçlı register (SRAM) 64*8 chip üstünde EEPROM data hafızası 15 özel fonksiyonlu donanım registeri 8 düzeyde derin donanım deposu Direkt,endirekt ve bağımlı adresleme modları Dört kesinti kaynağı - Harici RB0/INT pini - TMRO zamanlayıcı taşması - PORTB <7:4> değişim kesintisi - Data EEPROM yazma taşması EEPROM data hafızası ERASE/WRITE döngüleri EEPROM hafıza geçerliliği 40 yıldan fazla CMOS Teknolojisi: Düşük güç,yüksek hız CMOS EEPROM teknolojisi Bütünüyle statik dizayn Geniş aralıklı işletme voltajı: - Ticari : 2.0V-6.0V - Endüstriyel : 2.0V-6.0V Düşük güç tüketimi - < 2mA 5V,4MHz - 60 µa 2V,32 khz - 26 µa tipik standby 2V Dış Yüzeysel Özellikler: 13 I/O pini ile bağımsız komut kontrolu Direkt LED sürücüsü için yüksek akımda indirme/çıkarma - Her pin için max. 25 ma lik indirme - Her pin için max. 20 ma lik bindirme TMRO: 8 bitlik programlanabilir ön derecelendirici ile 8 bitlik zamanlayıcı/sayac Özel Mikrokontrolör Özellikleri: Power-on Reset (POR) Power-up Timer (PWRT) Oscillator Start-up Timer (OST) Güvenli işlemler için chip üstünde olan RC osilatör ile Watchdog Timer (WDT) Kod koruması Güç korumalı SLEEP modu Seçilebilir osilatör seçenekleri Seri sistem içi programlama (iki pin yolu ile) 1.0 GENEL TANIMLAR 1

2 PIC16C84 düşük maliyetli, yüksek performanslı, CMOS, bütünüyle statik, 8 bitlik bir mikrokontrolördür. Bütün PIC16/17 mikrokontrolörleri gelişmiş bir RISC tasarımı içerir.pic16cxx cihazları geliştirilmiş çekirdek(temel) özellikleri, 8 düzeyde derin depolama (stack) ve çoğul dahili ve harici kesme kaynaklarına sahiptir.harvard tasarımının ayrık komut ve data taşıyıcıları (data bus) 14 bit genişliğindeki kelime komutlarını 8 bitlik ayrı bir data taşıyıcısı ile beraber içerir.2 basamaklı komut veriyolu, bütün komutların tek bir dönüşümde uygulamaya konulmasına izin verir.(đki dönüşümlü program dalları gerektirenler hariç).toplam 35 komut (azaltılmış komut seti) mevcuttur.bunlara ek olarak, yüksek performans seviyesini sağlamak için kullanılan geniş bir register seti de kullanılmaktadır. PIC16CXX mikrokontrolörleri tipik olarak 2:1 kod sıkıştırması ve kendi sınıflarındaki diğer 8 bitlik mikrokontrolörlerin üzerinde 2:1 lik hız geliştirmesinde (10Mhz) sağlarlar. PIC16C84 36 byte lık RAM, 64 byte lık data EEPROM hafızası ve 13 I/O pinine sahiptir.zamanlayıcı/sayaç da mevcuttur. PIC16CXX ailesi harici bileşenleri aza indirmek için bir takım özelliklerde içermektedir.bunlar maliyeti düşürmek, sistem güvenirliliğinin sağlanması ve güç tüketiminin azaltılması şeklinde sayılabilir.düşük maliyet çözümünü sağlayan tek pinli RC osilatör,güç tasarrufunu max. yapan LP osilatörü, standart kristal olan XT ve yüksek hız kristalleri için olan HS bu dört tane osilatör seçenekleridir.sleep modu güçten tasarrufu sağlar.kullanıcı, harici - dahili kesme ve yenilemelerle chipi uyku modundan uyandırabilir.güvenirliği yüksek Watchdog Timer, chip üzerinde bulunan RC osilatörü ile yazılımların kilitlenmesine karşı koruma sağlar. PIC16C84 EEPROM program hafızası, prototipleme ve üretim için kullanılan aynı cihaz paketinde sağlanmaktadır.devre içi tekrar programlanbilmesi, kodun uygulamanın sonunda cihaz çıkarılmadan yenilenmesine izin verir.bu durum, birçok uygulamanın geliştirilmesinde, cihazların kolaylıkla elde edilemeyeceği yerlerde kullanılabilir.ancak, prıtotiplerde kod yenilemeleri gerektirebilir.bu aynı zamanda kodun yenilenmesini gerektirebilen uzaktan uygulamalar için de kullanışlı bir faaliyettir.(oran enformasyonu gibi) Tablo 1-1 de PIC16C84 özellikleri listeler halinde verilmiştir.ve Ek-F de bütün mikrocip mikrokontrolörlerin özellikleri de verilmiştir. Şekil 3-1 de PIC16C84 ün sadeleştirilmiş blok diyagramı verilmiştir. PIC16C84 yüksek hızlı otomotiv ve motor kontrol uygulamalarından düşük güç uzaktan kumanda sensörleri, elektronik kilitler, güvenlik araçları ve akıllı kartlara kadar olan geniş bir uygulama alanına mükemmel bir şekilde uymaktadır.eeprom teknolojisi uygulama programlarının (transmitter kodları, motor hızları, alıcı frekansları güvenlik kodları, v.s ) istenilen özelliklerde olabildiğince hızlı ve geçerli yapılmasını mümkün kılar.small footprint packages, bu mikrokontrolör serisini, boş alan sınırlamalarıyla birlikte tüm uygulamalarda, mükemmel yapmaktadır.düşük maliyet, düşük güç, yüksek performans, kullanım kolaylığı ve I/O esnekliği PIC16C84 ün mikrokontrolör kullanımının daha önce düşünülmediği yerlerde(örneğin zamanlama fonksiyonları, seri iletişim, yakalama ve mukayese, PWM fonksiyonları ve yardımcı işlemci uygulamaları) bile çok yönlü olmasını sağlar. Seri sistem içi programlama özellikleri(2 pin üzerinden) ürünün düzenleme ve test edilmesi esnekliğini sağlar.bu özellik bir ürünün seri hale getirilmesinde, yer ayarlama datasında kullanılır yada cihazın tesliminden önce mevcut olanaklar dahilinde programlanmasını sağlar. 1-1 Sınıf Ve Đleriye Yönelik Uyumluluk PIC16C5X mikrokontrolör ailesi ile tanışık olanlar 16C84 ün 16C5X tasarımının geliştirilmiş versiyonu olduğunu bilirler.geliştirmelerin detaylı bir listesi Ek- A da verilmiştir.16c5x için yazılmış olan kod 16C84 ün portlarına kolaylıkla uygulanbilir.(ek-b) 1-2 Gelişim Desteği PIC16CXX ailesi, tam özellikli bir macro assembler, bir yazılım simulatörü, bir devre içi emulatör, düşük maliyetli geliştirme programlayıcısı ve tam özellikli bir programlayıcı tarafından desteklenir.bir C derleyicisi ve bulanık mantık destek araçlarıda mevcuttur. 2

3 Tablo 1-1 : PIC16C8X Sınıfı Araçlar 2.0 PIC16C84 AYGIT DEĞĐŞĐKLĐKLERĐ Frekans aralıkları ve paket seçeneklerinde bir değişiklik mevcuttur.uygulama ve üretim gereksinmeleine bağlı olarak belirli aygıt seçeneği bu bölümdeki bilgiden yararlanılarak seçilebilir.aygıt numarasıyla gösterilen 2 çeşit aygıt tipi vardır. 1. PIC16C84 deki C : Bu aygıtlar EEPROM program hafızasına sahiptirler ve standart voltaj aralığında işletilirler. 2. PIC16LC84 deki LC : Bu aygıtlar EEPROM program hafızasına sahiptir ve genişletilmiş voltaj aralığında işletilirler. 2.1 Elektriksel Yolla Silinebilen Aygıtlar Bu aygıtlar düşük maliyetli plastik paketlerde talep edilirler,hatta aygıt silinebilir ve tekrar programlanabilir.bu, aynı aygıtın prototip geliştirilmesinde ve pilot programlarda aynen üretimde olduğu gibi kullanılmasını sağlar.elektriksel yolla silinebilen aygıtların başka bir özelliğide Microchip s PICSTART Plus ya da PROMATE II programlayıcı gibi aygıt programlayıcıları tarafından silinebilmeleri ve tekrar devre üstünde programlanabilmeleridir. 3

4 3.0 TASARIMA BAKIŞ 16CXX ailesinin yüksek performansı genelde RISC mikroişlemcilerinde bulunan bir takım tasarımsal özelliklerin bir sonucudur.söze başlamak gerekirse, PIC16CXX Harvard tasarımını kullanır.bu tasarım, program ve ayrık hafızalardan data girişlerini içerir.yani aygıt, bir program memory bus ı ve bir data memory bus içermektedir.bu, program ve datanın aynı hafıdaki (aynı bus üzerinden giriş) alışıldık Von Neuman tasarımının bant genişliğini geliştirmiştir.program ve data hafızasının ayrılması, 8 bit genişliğindeki data kelimesinin daha farklı bir şekilde boyutlnadırılmasını sağlayan komutlara izin verir.pic16cxx opcode ları 14 bit genişliğindedir.ve tek kelime komutlarını uygulanabilir kılar.tam bir 14 bit genişliğindeki program memory bus ı 14 bitlik bir komutu tek döngüde toplar.2 basamaklı veri yolu, komutların toparlanması ve uygulamaya konulması durumlarında örtüşür.(örnek 3-1)Sonuç olarak, tüm komutlar tek bir döngüde açılır.(400 ns@ 10 MHz) (program dalları hariç) PIC16C84, 1K*14 program hafızasını adresler.bütün program hafızası dahilidir. PIC16CXX aygıtları, register dosyalarını yada data hafızasını direkt yada endirekt yolla adresler.program sayacını içeren bütün özel fonksiyonel registerler data hafızasında haritalanmıştır.ortogonal(simetrik) bir komut seti, herhangi bir adresleme modunu kullanan herhangi bir register üzerinde herhangi bir işlemin taşınmasını mümkün kılar.bu simetri tabiatı ve özel optimal durumlar ın azlığı, PIC16CXX ile programlamayı yeteri kadar verimli hale getirmiştir.ek olarak şunuda söyleyebiliriz ki öğrenme eğrisi gözel görülür bir şekilde azaltılmıştır. PIC16CXX aygıtları 8 bitlik ALU ve çalışma registerlerini içermektedir.alu, genel amaçlı bir aritmetik birimdir.herhangi bir register dosyası ile çalışma registerindeki data arasında aritmetik ve Boolean fonksiyonları gerçekleştirilir. ALU 8 bit genişliğinde ve toplama, çıkartma, kaydırma ve mantıksal işlemler yapabilmektedir.başka bir durum söz konusu değilse aritmetik işlemler doğasında 2 nin tümleyenidir.2 operandlı komutlarda tipik olarak 1 operand çalışma registeridir(w register) ve diğer operand dosya registeri yada acil bir sabittir.tek operandlı komutlarda, operand ya W registeridir yada dosya registeridir. W registeri, ALU işlemlerinde kullanılan 8 bitlik bir çalışma registeridir.bu, adreslenebilir bir register değildir. Yürürlüğe konan komuta bağlı olarak, ALU Carry(C), Digit Carry(DC), Zero(Z) bitlerinin değerlerini etkileyebilir.c ve DC bitleri çıkartmada borrow ve digit borrow out işlevlerini görür.komutlara örnek olarak SUBLW ve SUBWF ye bakınız. PIC16C84 ün basitleştirilmiş blok diyagramı şekil 3-1 de gösterilmiştir.buna ilişkin pin tanımlamasıda Tablo 3-1 de verilmiştir. 4

5 Şekil 3-1: PIC16C84 Blok Diyagramı 5

6 Tablo 3-1: PIC16C8X Çıkış Pini Tanımlamaları Pin Name DIP SOIC I/O/P Buffer Tipi Tanımlama No. No. Tipi OSC1/CLKIN I ST/CMOS (1) Kristal osilatör girişi/harici saat kaynağı girişi OSC2/CLKOUT O - Kristal osilatör çıkışı/kristal yada resonatorun kristal osilatör moduna bağlantıları.rc modunda, OSC2 pini, OSC1 in frekansının ¼ üne sahip olan CLKOUT a çıkışlar.ve komut döngüsü oranını belirler. MCLR 4 4 I/P ST Ana temizleme(reset) girişi/programlama voltaj girişi. Bu pin cihazın aktiv low kurucusudur. PORTA çift yönlü I/O portudur. RA0 RA1 RA2 RA3 RA4/TOCKI I/O I/O I/O I/O I/O TTL TTL TTL TTL ST TMR0 zamanlama/sayaç a bir saat girişi olarak seçile- RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB I/O I/O I/O I/O I/O I/O I/O I/O TTL TTL TTL TTL TTL TTL TTL/ST (1) bilir.çkış açık oluklu(open drain) tiptedir. PORTB çift yönlü I/O portudur.portb, tüm girişler üzerindeki zayıf dahili pull-up için yazılım programlayabilir. RB0/INT, harici bir kesme pini olarakta seçilebilir. Değişmede kesme pini(interrupt on change pin) Değişmede kesme pini(interrupt on change pin) Değişmede kesme pini.seri programlama saati Değişmede kesme pini.seri programlama bilgisi V SS 5 5 P - Logic ve I/O pinleri için referans toprak V DD P - Logic ce I/O pinleri için pozitif kaynak Kısaltmalar: I=Input O = Output I/O=Input/Output P=Power - = not used TTL = TTL input ST=Schmitt Trigger input Not 1: Bu buffer, RC osilatör modunda ve CMOS girişine göre ayarlandığında bir Schmitt Trigger girişi görevi yapar. Not 2: Bu buffer, seri programlama modunda kullanıldığında bir Schmitt Trigger girişi görevi görür. 6

7 3.1 Zamanlama Planı/Komut Döngüsü uygulamaya konur.saatler ve komutun yürürlüğe konma akışı Şekil 3-2 de gösterilmiştir. Saat girişi(osc1 den) Q 1,Q 2,Q 3,Q 4 şeklinde isimlendirilmiş tekrar turlaması olmayan çeyrek saatler yaratmak için dahili bir şekilde 4 e bölünmüştür.dahili olarak program sayacı (PC) her Q 1 de yavaş yavaş arttırılır.komut program hafızasında toplanır ve Q 4 ün içindeki komut registerine yerleştirilir.bu komutun Q 1 den Q 4 e takip esnasında şifresi çözülür ve Şekil 3-2 : Saat/Komut Döngüsü Örnek 3-1 : Komut Veriyolu Akışı Program dalları hariç tüm komutlar tek döngüde gerçekleşir.yeni komutla getirme ve yeri koyma işlemi yapılırken veriyolundan getirme komutunun akması esnasında 2 döngü sağlanmış olur. 3.2 Komut Akışı/Veriyollama Bir komut döngüsü 4 Q döngüsünden oluşur.komut getirme ve yerine koyma işleminde, diğer bir komut döngüsü ile kod çözümü ve yerine koyma yapılırken bir komut döngüsü ile de yerine koyma getirme yapacak şekilde veri yollanır.bununla beraber akı yoluna bağlı olarak her komut bir döngünün içersinde etkili bir şekilde yürürlüğe konur.eğer bir komut program sayacının değişmesine neden olursa(örneğin GOTO), bu durumda komutu tamamlamak için 2 döngü istenir(örnek 3.1).Bir getirme döngüsü Q 1 in içindeki program sayacının(pc) yavaş yavaş artmasıyla başlar. Yürürlüğe koyma döngüsünde getirilen komut, Q 1 döngüsünün içindeki komut register i içine yazılır.bu komut daha sonra Q 2, Q 3, Q 4 döngüleri esnasında çözülür ve yürürlüğe konur.data hafızasıq 2 esnasında okunur(operand okunur).ve Q 4 işlemdeyken yazılır(gidilecek yere yazılır). 7

8 4.0 HAFIZA ORGANĐZASYONU PIC16C84 de iki hafıza bloğu vardır.bunlar, program hafızası ve data hafızasıdır.her bloğun kendi bus ı vardır.bu şekilde her bloğa giriş aynı osilatör döngüsü esnasında oluşabilir. Data hafızası genel amaçlı RAM ve özel fonksiyonlu registerler(sfrs) şeklinde ikiye ayrılır.çekirdek(core) i kontrol eden SFRs lerin işletilmesi burada tanımlanmıştır.çevresel modüllerin kontrol edilmesinde kullanılan SFRs ler, herbir bağımsız çevresel modülü tartışan bölümde tanımlanmıştır. Data hafıza alanı data EEPROM hafızasını da içerir.bu hafıza, data hafızasının içersine direkt olarak haritalanmak yerine endirekt olarak haritalanmıştır.bu, data EEPROM hafızası (Read/Write) nın adresini belirlemekte kullanılan bir endirekt adres belirteçidir.64 byte lik data EEPROM hafızası 0h-3Fh adres aralığına sahiptir.eeprom hafızası üzerinde daha fazla ayrıntı için Bölüm7.0 a bakınız. Şekil 4-1 : Program Hafıza Haritası ve Depo 4.1 Program Hafıza Organizasyonu PIC16CXX, 8K*14 program hafıza alanını adresleme yeteneğine sahip 13 bitlik bir program sayacına(pc) sahiptir.pic16c84 için yalnızca ilk 1K*14 (0000h-03FFh) değerleri fiziksel olarak gerçekleştirilmiştir(şekil 4-1).Fiziksel gerçekleştirilmiş adres seviyesini aşan bir yere giriş wraparound olayına neden olur.örneğin;20h, 420h, 820h, C20h, 1020h, 1420h, 1820h ve 1C20h aynı komutu alacaktır. Sıfırlama vektörü 0000h da ve kesme vektörüde 0004h dadır. 8

9 4.2 Data Hafıza Organizasyonu Data hafızası 2 alana ayrılmıştır.bunlardan ilki özel fonksiyon registerleri (SFR), ikincisi ise genel amaç registerleri (GPR) alanlarıdır.sfr ler cihazın işlemlerini kontrol ederler. Data hafızasının bölümleri(miktarları) parçalara ayrılmıştır.bu hem SFR hemde GPR alanları için geçerlidir.gpr alanı genel amaçlı RAM in 116 byte ından daha fazlasının saklanmasına elverişlidir.sfr nin bölümlenmiş alanları çevresel fonksiyonları kontrol eden registerler içindir.depolama,depo seçimi için kontrol bitlerinin kullanılmasını talep eder.bu kontrol bitleri STATUS registerinde yer alır.şekil 4-2 de data hafızası organizasyonu haritası gösterilmiştir. MOVWF ve MOVF komutları W registerinden gelen değerleri ( F ) register dosyasındaki herhangi bir yere gönderir ve vice-versa işlemi yapılır.tüm data hafızasına, herbir register dosyasının kesin adresini kullanarak direkt yolla veya dosya seçim registeri(fsr) üzerinden endirekt olarak erişilebilir.endirekt adreslemede, data hafızasında kısımlara ayrılmış alanların içine erişebilmek için RP1:RP0 bitlerindeki tanıtılmış değerler kullanılır.data hafızası genel amaç registerlerini ve özel fonksiyon registerlerini içeren 2 kısım olarak bölümlendirilmiştir.bölüm0(bank 0), RP0 bitini(status<5>)temizlemekte kullanılır. RP0 bitini ayarlamak Bölüm1(Bank1) i seçer.her depo 7Fh (128 byte) a kadar çıkabilir.her depodaki ilk 12 alan özel fonksiyon registerleri için ayrılmıştır.geri kalanlar ise static RAM olarak tedarik edilen genel amaç registerleridir Genel Amaçlı Register Dosyası Bütün aygıtlar bir miktar genel amaç register (GPR) alanına sahiptirler.her GPR 8 bit genişliğindedir.ve FSR den ya direkt yada endirekt olarak yetkilendirilebilir.(bölüm 4.5) Depo1 deki(bank1) GPR adresleri Depo0 daki adreslere haritalanmıştır.örnek olarak, 0Ch yada 08h adres yerleri aynı GPR ye yetkilendirilir. tarafından aygıt işlemini kontrol etmek için kullanılır.bu registerler static RAM dir. Özel fonksiyon registerleri çekirdek ve çevresel gruplar olmak üzere 2 şekilde sınıflandırılabilir.çekirdek fonksiyonları ile ilintili olanlar bu bölümde açıklanmıştır.çevresel özelliklerin işlevi ile alakalı olanları ise belirli özelliklerin anlatıldığı bölümde açıklanmıştır. Şekil 4-2 : Register Dosya Haritası Tamamlanmamış data hafıza bölgesi; 0 gibi okunur. Not1:Fiziksel register değil Özel Fonksiyon Registerleri Özel fonksiyon registerleri (Şekil 4-2 ve Tablo 4-1) CPU ve çevresel fonksiyonlar 9

10 TABLO 4-1 : Register Dosya Özeti Adres Đsim Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Bank 0 00h INDF FSR nin içeriğini adres data hafızasında kullanır.(fiziki bir register değidir) Güç üstündeki reset değeri Diğer tüm resetlerdeki değer (not 3) h TMR0 8 bitlik eş zamanlı saat/sayıcı xxxx xxxx uuuu uuuu 02h PCL Program sayacının(pc) değerli dizinli 8 biti(low order) h STATUS (2) IRP RP1 RP0 TO PD Z DC C xxx 000q quuu 04h FSR Endirekt data hafıza adres belirteci 0 xxxx xxxx uuuu uuuu 05h PORTA RA4 / TOCKI 06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 / RA3 RA2 RA1 RA0 ---x xxxx ---u uuuu xxxx xxxx uuuu uuuu INT 07h Tamamlanmamış(unimplemented) yer, 0 olarak okunur h EEDATA EEPROM data registeri xxxx xxxx uuuu uuuu 09h EEADR EEPROM adres registeri xxxx xxxx uuuu uuuu 0Ah PCLATH PC (1) in üst 5 biti için yazma buffer ı Bh INTCON GIE EEIE T0IE INTE RBIE T0IF INTF RBIF x u Bank 1 80h INDF FSR nin içeriğini adres data hafızasında kullanır.(fiziki bir register değildir.) 81h OPTION RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS h PCL Program sayacının(pc) düşük değerli 8 biti(low order) h STATUS (2) IRP RP1 RP0 TO PD Z DC C xxx 000q quuu 84h FSR Endirekt data hafıza adres belirteci 0 xxxx xxxx uuuu uuuu 85h TRISA PORTA data yön registeri h TRISB PORTB data yön registeri h Tamamlanmamış(unimplemented) yer, 0 olarak okunur h EECON EEIF WRER WRN WR RD ---0 x q000 89h EECON2 EEPROM kontrol registeri 2 (fiziki bir register deği) Ah PCLATH PC (1) in üst 5 biti için yazma buffer ı Bh INTCON GIE EEIE T0IE INTE RBIE T0IF INTF RBIF x u Kısaltma : x = Bilinmeyen u = Değiştirilmemiş - = Tamamlanmamış 0 gibi okunur. q = Değer, duruma bağlı değişir. NOT 1: Program sayacının üst byte I direkt olarak yürürlüğe konulmaz.pclath, PC<12:8> için bir tutsak registerdir.pclath ın içerikleri program sayacının üst byte ına transfer edilebilir.buna karşılık PC<12:8> in içerikleri, PCLATH e transfer edilemez. 2: STATUS registerindeki TO ve PD status bitleri, MCLR reset I tarafından etkilenmezler. 3: Diğer (power-up) olmayan resetlerde ; MCLR den harici reset ve Watchdog Timer reseti bulunur. 8

11 DURUM(STATUS) REGISTERI STATUS registerı, ALU nun aritmetik durumunu,reset durumunu ve data hafızası için banka seçim bitini içerir.her registerda olduğu gibi sstatus registerı da herhangi bir komut için gidilecek yer görevi görür.eğer STATUS registerı E,DC,C bitlerini etkileyecek bir komutun gideceği yer ise, o zaman bu 3 bite yazma yetkisi kaldırılır.bu bitler, aygıt mantığına bağlı olarak konur ya da silinir.bunların yanında, TO ve PD bitleri yazılamayan tiptedirler.đşte bu noktada, STATUS registerının gideceği yer,komutun sonucuna bağlı olarak sanılandan farklı olabilir. ÖrneğinCLRF STATUS,üst 3 biti temizleyip Z bitine yerleştirecektir.bu durum, STATUS registerını 000u u1uu olarak bırakır. Sadece BCF,BSF,SWAPF ve MOVWF komutları,status Registerını değiştirmek için kullanılmalıdır.(tabvlo 9.2);Çünkü bu komutlar hiçbir STATUS register bitine etki etmezler. Not1: IRP ve RP1 bitleri(status <7:6>) PIC16C84 tarafından kullanılmazlar ve silinmiş bir şekilde programlanmalıdırlar.bu bitlerden genel amaçlı R1W bitlerinin kullanımı tavsiye edilmez;çünkü bu yeni ürünlerin yenilenmesinde, bazı uyumsuzlklara sebep olabilmektedir. Not2: C ve DC bitleri, borrow (ödünç) ve elde bitleri olarak çıkarma işlemi görürler.sublw ve SUBWF komutlarına örnek olarak bakınız. Not3: STATUS registerı, Z,DC ya da C bitlerini etkileyecek bir komutun gideceği yer olduğu zaman,bu 3 bite yazma işlemi mümkün kılınmamıştır.belirlenmişbitler,cihaz mantığına bağlı olarak yenilenecektirler. ŞEKĐL 4-3: DURUM REGISTERI(ADRES 03h,83h) R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-X R/W-X R/W-X IRP RP1 RP0 T0 PD Z DC C bit7 bit0 bit 7: IRP:Register Bankası Seçim biti(endirekt adreslemede kullanılır) 0=Banka 0,1 (00h-FFh) 1=Banka 2,3 (100h-1FFh) IRP biti,pic16c8x tarafından kullanılmaz.irp, kullanılmamış bir durumda bulunmalıdır. bit 6-5: bit 4: bit 3: bit 2: bit 1: bit 0: RP1:RP0:Register Banka Seçim bitleri(direkt adreslemede kullanılır) 00=Banka 0 (00h-7Fh) 01=Banka 1 (80h-FFh) 10=Banka 2 (100h-17Fh) 11=Banka 3 (180h-1FFh) Her banka 128 baytlıktır.sadece RP0, PIC16C8X tarafından kullanılır. RP1, kullanılmamış bir durumda bulunmalıdır. TO:Time-out biti 1=Güç var modu(power-up),clrwdt komutundan ya da SLEEP komutundan sonra 0=Bir WDT time-out u oluşur PD: Güç yok modu (power down) biti 1=Güç yok durumundan ya da CLRWDT komutundan sonra 0=SLEEP komutunun yürürlüğe konması ile birlikte Z: Sıfır biti 1=Bir aritmetik ya da mantık işleminin sonucu sıfırdır 0=Bir aritmetik ya da mantık işleminin sonucu sıfır değildir DC: Basamak elde/ödünç biti(addwf ve ADDLW komutları için)(ödünç için polaritenin tersi alınır) 1=Oluşan sonucun dördüncü düşük emir bitinden bir elde çıkarımı(carry-out) 0=Sonucun dördüncü düşük emir bitinden bir elde çıkarımı yoktur C: Elde/ödünç biti(addwf ve ADDLW komutları için) 1=Oluşan sonucun en belirli bitinden bir elde çıkarımı(carry-out) 0=Sonucun en belirili bitinden bir elde çıkarımı yoktur Not: Ödünç için kutup ters çevrilir.đkinci operandın ikiye tümleyeni ile toplanarak, bir çıkarma işlemi gerçekleştirilir. Çevirme(rotate) komutları (RRF,RLF) komutları için, bu bit,kaynak registerının ya yüksek ya da düşük biti ile yüklenir. 11

12 SEÇENEK(OPTION) REGISTERI OPTION registerı,tmr0/wdt önölçücüsü,harici INT bölücüsü,tmr0 ve PORTB üzerindeki zayıf Pull-up ları ayarlayan çeşitli kontrol bitlerini içeren,yazılabilen ve de okunabilen tipte bir registerdır. Not:Ön-ölçücü WDT(PSA= 1 ) a tayin edildiğinde TMR0, 1:1 önceden tayinine sahip olur. ŞEKĐL 4-4: SEÇENEK REGISTERI(ADRES 81h) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 bit7 bit0 bit 7: bit 6: bit 5: bit 4: bit 3: bit 2-0: RBPU:PORTB Pull-up enable biti 1=PORTB Pull-up lar disable durumundadırlar(yetki vermeme) 0=PORTB Pull-up lar enable durumundadırlar(yetki verme) IRP biti,pic16c8x tarafından kullanılmaz.irp, kullanılmamış bir durumda bulunmalıdır. INTEDG:Kesme köşe seçim biti 1=RB0/INT pininin artan köşesinde kesme 0=RB0/INT pininin azalan köşesinde kesme TOCS:TMR0 Saat(Clock) kaynağı seçim biti 1=RA4/T0CKI pini üzerinde geçiş 0=Dahili komut döngü saati(clkout) T0SE: TMR0 Kaynak köşe seçim biti 1=RA4/T0CKI pini üzerindeki yüksekten-düşüğe geçiş üzerindeki artış 0=RA4/T0CKI pini üzerindeki düşükten-yükseğe geçiş üzerindeki artış PSA: Ön-ölçücü tayin biti 1=Ön-ölçücü,WDT a tayin edilir 0=Ön-ölçücü,TMR0 a tayin edilir PS2:PS0:Ön-ölçücü oran seçim bitleri Bit Değeri TMR0 Oranı WDT Oranı : 2 1 : : 4 1 : : 8 1 : : 16 1 : : 32 1 : : 64 1 : : : : : 128 8

13 INTCON REGISTERI INTCON registerı,bütün kesme kaynakları için olan çeşitli yetkilendirici bitleri(enable) içeren,okunabilir ve de yazılabilir türde bir registerdır. Not: Enable biti ya da küresel(global) enable biti GIE(INTCON<7>) nin durumuna bağlı olmaksızın oluşabilecek bir kesme durumu gerçekleşirken,kesme durum tesbit bitleri (interrupt flag bit) devreye girer. ŞEKĐL 4-5: INTCON REGISTERI(ADRES 0Bh,8Bh) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-x GIE EEIE T0IE INTE RBIE T0IF INTF RBIF bit7 bit0 bit 7: GIE:Globak Kesme biti 1=Tüm dönüştürülmemiş kesmelere yetki verir 0=Tüm kesmeleri yetkisizleştir Not:Kesme biçiminin işlemini görmek için,bölüm 8.5 e bakınız. bit 6: EEIE:EE Yazma Tamamlama Kesim Enable biti R = Okunabilir bit 1=EE yazma tamamlama kesmesine yetki verir W = Yazılabilir bit 0=EE yazma tamamlama kesmesine yetkiyi kaldırır U = Tamamlanmamış bit 0 olarak okunur. bit 5: TOIE:TMR0 Taşma(Overflow) Kesim Enable biti -n = POR reset değeri 1=TMR0 kesmesini yetkilendirir 0=TMR0 kesmesine yetkiyi kaldırır bit 4: bit 3: bit 2: bit 1: bit 0: INTE: RB0/INT Kesim Enable biti 1=RB0/INT kesmesine yetki verir 0=RB0/INT kesmesine yetkiyi kaldırır RBIE: RB Port Değişim Kesim Enable biti 1=RB Port Değişim Kesim bitine yetki verir 0=RB Port Değişim Kesim bitine yetkiyi kaldırır T0IF: TMR0 taşma kesim flag biti 1=TMR0 taşmıştır(yazılımın içinden silinmesi gerekiyor) 0=TMR0 taşmamıştır INTF: RB0/INT Kesim Flag biti 1=RB0/INT kesmesi meydana gelmiştir 0=RB0/INT kesmesi meydana gelmemiştir RBIF: RB Port Değişim Kesim Enable biti 1=RB7:RB4 pinlerinden en az bir tanesinin durumu değişti(yazılım içinden silinmesi gerekiyor) 0=RB7:RB4 pinlerinden hiç bir tanesinde durum değişikliği yoktur. 9

14 4.3 Program Sayacı: PCL ve PCLATH Program sayacı (PC), 13 bit genişliğindedir.düşük byte PCL registeri, okunabilir ve yazılabilir bir registerdir.pc nin yüksek byte ı, PCLATH registerinden gelir ve direkt olarak okunamaz yada yazılamaz.pclath(pc latch high) registeri PC<12:8> için bir tutma registeridir.pc yeni bir değerle yüklendiği zaman PCLATH ın içeriği program sayacının üstteki byte ına transfer edilir.bu olay PCL ye yazılımda, CALL veya GOTO esnasında olur.pc nin yüksek bitleri Şekil 4-6 da gösterildiği gibi PCLATH dan yüklenmiştir. Şekil 4-6 : Farklı Durumlarda PC nin Yüklenmesi PCLATH<4:3> ün uygulaması geri dönme komutları için talep edilmez. Not: PIC16C84 program hafızası 1,2 ve 3 (0800h-1FFFh) program sayfaları için kullanılan PCLATH<4:3> bitlerini siler. 4.4 Depo(Stack) PIC16C84 8 derinliğinde*13 bit genişliğinde bir donanım deposuna sahiptir(şekil 4-1).Depo boşluğu ne bir programın ne de bir data boşluğunun parçası olmadığı gibi depo depo işaretleyiçiside okunabilir ve yazılabilir değildir. Bir CALL komutu gerçekleştirildiğinde ya da bir kesmenin varlığı onaylandığında, tüm 13 bitlik PC deponun üzerine itilir.return, RETLW, yada RETFIE komutu açıldığında, depo patlatılır(popped).pclath, bir itme yada patlatma durumundan etkilenmez. Not: Đtme yada patlama diye isimlendirilen bir mnemonics komutu yoktur.bunlar CALL, RETURN, RETLW ve RETFIE komutlarının açılmasıyla oluşan olaylardır yada bir kesme adresinin yönlendirilmesiyle oluşan durumlardır Computed GOTO (Hesaplanmış GOTO) Hesaplanmış GOTO, program sayacına bir sapma(offset) eklenerek gerçekleştirilir (ADDWF PCL).Bir tablo oluştururken hesaplanmış GOTO metodunu okuyunuz, eğer tablo yerleri PCL hafıza sınırları (herbir 256 kelime bloğu) ile çakışırsa dikkat edilmelidir. Depo, dairesel arabellek(buffer) işlemi görür.bu, deponun 8 kez itilmesinden sonra dokuzuncu itilmede ilk itilmeden sonra saklanmış olan değerin üzerine yazılması biçimindedir.onuncu itmede ikinci itmenin üstüne yazar. Eğer depo efektif olarak dokuz kez patlatılmışsa, PC değeri ilk patlamadan sonraki ile aynıdır. Not: Deponun yetersiz akış durumlarını yada deponun taşma durumlarını bildirmek amaçlı hiçbir status biti yoktur Program Hafıza Sayfalaması PIC16C84 ün 1K lık program hafızası mevcuttur.call ve GOTO komutları 11 bitlik adres aralığına sahiptirler.bu 11 bitlik adres aralığı, 2K boyutundaki program hafıza sayfasıyla birlikte bir dala(branch) izin verir.bu sayfalama bitleri PCLATH<4:3> bitlerinden gelir(şekil 4-6).Bir CALL yada GOTO komutunu gerçekleştirirken kullanıcı, bu sayfa bitlerinin (PCLATH<4:3>) istenilen program hafıza sayfasına programlanmasını sağlamalıdır.eğer CALL komutu(yada kesmesi) açılırsa, tüm 13 bitlik PC depo(stack) üzerine itilir.bu noktada 8

15 4.5 Endirekt Adresleme: INDF ve FSR Registerleri INDF registerleri fiziki bir register değidir.indf adres registerleri, FSR registerinin bulunduğu adresi adresleyen registerdir(fsr nin yer belirtecidir).đşte bu olaya endirekt adresleme denir. ÖRNEK 4-1: Endirekt Adresleme 05 Register dosyası 10h değerini içerir. 06 Register dosyası 0Ah değerini içerir. 05 değerini FSR registerine yükleyiniz. INDF registerinin okunması 0Ah lık bir değer olarak geri dönecektir. FSR registerinin bir değerinde(fsr=06) artması. INDF registerinin okunması sonucu 0Ah lık bir değer şekline geri dönecektir. INDF nin kendisinin endirekt olarak(fsr=0) okunuşu 00h ı üretecektir. INDF registerine endirekt yolla yazma (STATUS bitlerinin etkilenmesi ihtimali olduğu bilinerek) bir işlem dışı olay şeklinde sonuçlanır. Örnek 4-2 de endirekt adresleme kullanılarak yapılmış 20h-20Fh RAM yerlerini temizlemekte kullanılan basit bir program gösterilmiştir. ÖRNEK 4-2:Endirekt Adresleme Kullanılarak RAM in Temizlenmesi mowlw 0*20 ; initialize pointer movwf FSR ; to RAM NEXT clrf INDF ; clear INDF register incf FSR ; inc pointer btfss FSR,4 ; all done? goto NEXT ; NO, clear next CONTINUE : ;YES, continue Şekil 4-7 : Direkt/Endirekt Adresleme Efektif 9 bit adresi 8 bitlik FSR registeri ve IRP biti (STATUS<7>) sıralanarak elde edilir(bk. Şekil 4-7).Ama IRP, PIC16C84 te kullanılmaz. 9

16 5.0 I/O PORTLARI PIC16C84,PORTA ve PORTB olmak üzere 2 porta sahiptir.bazı port pinleri cihazın üzerindeki diğer özellikleri için çeşitli alternatif fonksiyonlarla yol seçtirilmiştirler. 5.1 PORTA ve TRISA Registerleri PORTA, 5-bitlik bir tutucudur.ra4, bir Schmitt Trigger girisşi ve bir açık boşalma çıkışıdır.btün diğer RA port pinleri, TTL giriş düzeylerine ve tam CMOS şıkış sürücülerine sahiptirler.bütün pinler de, giriş ya da çıkış şeklinde düzenleyerecek data komut bitlerine(tris registerları) sahiptirler. Bir TRISA bitini ayarlamak(=1),porta pinini bir giriş haline getirecektir.örneğin haberleşme çıkış sürücüsünü yüksek empedans moduna yerleştiriniz.bir TRISA bitini (=0) temizlemek, haberleşen PORTA pinini bir çıkış durumuna getirecektir.örneğin çıkış tutucusunun içeriğini, seçilen pine yerleştiriniz. PORTA registerlarını okumak demek, pinlerin durumunu okumak demektir;halbuki PORTA ya yazmak,port tutucusuna yazmak manasına gelmektedir.bütün yazma işlemleri okuma-çevirim-yazma operasyonları şeklindedir.yani bir porta yazmak demek, port pininin önce okunduğu,daha sonra da bu değerin çevrime uğradığı ve en sonunda da port data tutucusuna yazıldığı anlamına gelir. RA4 pini, TMR0 saat girişi ile yol seçtirilmiştir.şekil 5.1 : RA3:RA0 Pinleri Blok Diyagramı ÖRNEK 5.1 PORTA YI ATAMAK CLRF PORTA ; Initialize PORTA by ; setting output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x0F ; Value used to ; initialize data ; direction MOVWF TRISA ; Set RA<3:0> as inputs ; RA4 as outputs ; TRISA<7:5> are always ; read as 0. ŞEKĐL 5.2 RA4 Pininin Blok Diyagramı Şekil 5-1 de I/O pinleri V DD ve V SS e karşı diyot korumalı.şekil 5-2 de ise sadece V SS e karşı diyot korumalı Not: 500kHz den düşük işletimde çalışan kristal osilatör konfigürasyonlarında, cihaz PORTA<0> durumuna getirişdiğinde, dahili Q- clock parazitiyaratabilir.bu,rcmodunda çalışan harici bir saatte oluşmaz.bu olayı engellemek için RA0 pini sabit tutulmalıdır; örneğin giriş/çıkış modunda RA0 pini açılmamalıdır. 8

17 TABLO 5.1: PORTA FONKSĐYONLARI Đsim Bit0 Buffer Tipi Fonksiyon RA0 bit0 TTL Giriş/Çıkış RA1 bit1 TTL Giriş/Çıkış RA2 bit2 TTL Giriş/Çıkış RA3 bit3 TTL Giriş/Çıkış RA4/TOCKI bit4 ST Giriş/Çıkış ya da TMR0 için harici clock girişi. Çıkış, açık drain tipindedir. TABLO 5.2: PORTA ĐLE BĐRLEŞTĐRĐLMĐŞ REGISTERLARIN ÖZETĐ Adres Đsim Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Power-on Diğer Reset deki resetlerdeki Değer Değer 05h PORTA RA4/T0CKI RA3 RA2 RA1 RA0 ---x xxxx ---u uuuu 85h TRISA TRISA4 TRISA3 TRISA2 TRISA1 TRISA Kısaltma: x=bilinmeyen u=değiştirilmemiş - =çoğaltılmamış; 0 olarak okunur hücreler arttırılmamıştır, 0 olarak okunur. 8

18 5.2 PORTB ve TRISB Registerleri PORTB, 8-bit genişliğinde çift yönlü bir porttur.haberleşme data yönü registerı TRISB dir. TRISB registerında bulunan herhangi bir bitin üstünedeki 1,haberleşen çıkış sürücüsünü yüksek empedans moduna sokar.trisb registerında bulunan herhangi bir bitin üstündeki 0, çıkış tutucusunu seçilen pine yerleştirir. PORTB pinlerinin herbiri, zayıf bir dahili pull-up lara sahiptir.tek bir kontrol biti, bütün pull-up ları çevirebilir.bu, RBPU (OPTION<7>) bitini silerek yapılabilir.zayıf pull-up ; port pini,çıkış olarak ayarlandığı zaman otomatik olarak kapatılır.pullup lar,çalışma esnasında reset(power-on Reset) yapamazlar. PORTB pinlerinden dördü, RB7:RB4, değişirken kesme(interrupt on change) özelliğine sahiptir. Sadece giriş olarak düzenlenmiş pinler böyle bir kesmeninoluşmasını sağlayabilirler.(örneğin çıkış olarak düzenlenmiş herhangi bir RB/:RB4 pini,değişmede kesme mukayesesinden hariç tutulmuştur). Pinin giriş modundaki değeri,portb nin son okumasından elde edilen eski tutucu değeriyle kıyaslanmıştır.pinlerin uyumsuz çıkışları birlikte OR haline dönüştürülerek,rb portu değişim kesmesinin yaratılması sağlanmıştır. Şekil 5-3 : RB7:RB4 Pinleri Blok Diyagramı Bu kesme, cihazı SLEEP modundan uyandırabilir.rutin kesme servisinde bulunan kullanıcı, aşağıdaki biçimde kesmeyi silebilir: a)portb yi okuma(ya da yazma).bu, uyumsuzluk durumuna son verecektir. b)flag biti RBIF yi silmek. Bir uyumsuzluk durumu, RBIF bitinin ayarlanmasını devam ettirecektir.prtb nin okunması,uyumsuzluk durumunu sona erdirecektir ve RBIF bitinin silinmesini mümkün kılacaktır. Bu 4 pin üzerindeki yazılımı ayarlanabilir pull-up lar, uyumsuzluk özelliğindeki bu kesme ile birlikte tuş takımına kolay bir arabirim sağlar ve key-depression durumundan uyandırır. Not1:PORTB nin açılması sırasındaki bir okuma işleminde (Q 2 döngüsünün başlangıcında) I/O pininde bir değişiklik gerçekleştirilmesi gerkiyorsa,rbif kesme flag biti ayarlanmayabilir. Değişmede kesme(interrupt on change) özelliği, key depression dan uyandırma işlemi ve PORTB nin yalnızca değişmede kesme özelliği için kullanıldığı durumlardatavsiyeedilmektedir. PORTB nin değişmede kesme özelliği kullanılırken sorgulanması tavsiye edilen bir durum değildir. Şekil 5-4: RB3:RB0 Pinleri Blok Diyagramı Şekil 5-3 ve 5-4 de 1: TRISB= 1 hafif çekme yetkili(eğer OPTION registerindeki RBPU= 0 ise 2: I/O pinleri V DD ve V SS karşı diyot korumalı 9

19 ÖRNEK 5.1: PORTB YĐ ATAMAK CLRF PORTA ; Initialize PORTA by ; setting output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x0F ; Value used to ; initialize data ; direction MOVWF TRISA ; Set RB<3:0> as inputs ; RB<5:4> as outputs ; RB<7:6> as inputs TABLO 5.3: PORTB FONKSĐYONLARI Đsim Bit Buffer Tipi Giriş/Çıkış Mevcudiyet Fonksiyonu RBO/INT bit0 TTL Giriş/Cıkış pini ya da harici kesme girişi.dahili yazılımla programlanabilir zayıf pull-up. RB1 bit1 TTL Giriş/Cıkış pini.dahili yazılımla programlanabilir zayıf pull-up. RB2 bit2 TTL Giriş/Cıkış pini.dahili yazılımla programlanabilir zayıf pull-up. RB3 bit3 TTL Giriş/Cıkış pini.dahili yazılımla programlanabilir zayıf pull-up. RB4 bit4 TTL Giriş/Cıkış pini(değişmede kesmeli).dahili yazılımla programlanabilir zayıf pull-up. RB5 bit5 TTL Giriş/Cıkış pini(değişmede kesmeli).dahili yazılımla programlanabilir zayıf pull-up. RB6 bit6 TTL/ST Giriş/Cıkış pini(değişmede kesmeli).dahili yazılımla programlanabilir zayıf pull-up. RB7 bit7 TTL/ST Giriş/Cıkış pini(değişmede kesmeli).dahili yazılımla programlanabilir zayıf pull-up. Kısaltma: TTL= TTL giriş ST= Schmitt Trigger Not 1: Seri programlama modu kullanıldığı zaman tampon Schmitt Trigger girişidir. TABLO 5.4: PORTB ĐLE BĐRLEŞTĐRĐLMĐŞ REGĐSTERLARIN ÖZETĐ Power-on Diğer Resetler- Adres Đsim Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Reset'deki deki değer 06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT xxxx xxxx uuuu uuuu 86h TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB h OPTION RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS Kısaltma: x=bilinmeyen u=değiştirilmemiş.taranmış hücreler,portb tarafından kullanılmaz. değer 10

20 5.3 I/O Programlama Kabulleri Çift Yönlü I/O Portları Yazmada kullanılan herhangi bir komut öncelikle bir okuma işleminden geçecektir.buna müteakiben de bir yazma işlemi meydana gelecektir.bcf ve BSF komutları,örnek olarak registerı CPU içinde oku;bit işlemini açar ve sonucu registera geriyazmada kullanılırlar.bu komutların hem girişi, hem de çıkışı tanımlanmış bir porta uygulanması esnasında tedbir alınmalıdır.örneğin, PORTB nin bit5 inin üzerindeki bir BSF işlemi,portb nin 8 bitinin tamamının CPU içine okunmasına neden olacaktır.daha sonra BSF işlemi,bit 5 üzerinde yerini alacaktır ve PORTB çıkış tutucularına yazılacaktır.portb nin başka bir biti, bir çift-yönlü I/O pini olarak kullanılırsa ve bu aynı zamanda bir giriş olarak da tanımlanırsa pin üzerindeki giriş sinyali sunumu,cpu içine okunacaktır.ve bu pinin data tutucusuna,önceki içeriğin üstüne tekrar yazılacaktır(overwrite).pin,input modunda kaldığı sürece hiçbir problem oluşmaz.zaten,bit0 çıkış moduna çevrildiğinde data tutucusu bilinmez bir duruma gelmiş olacaktır. Port registerının okunması demek,port pinlerinin değerlerinin okunması demektir.port registerının yazılması da port pinlerinin değerlerinin yazılması demektir.bir port üzerinde oku-çevir-yaz komutları uygulanırken(örneğin BCF,BSF,vs.),port pinlerinin değerleri okunur.đstenilen işlem, bu değer üzerinden yapılır ve bu değer port tutucusuna yazılır. Düşük ya da yüksek aktif çıkış verilen bir pin,bu pin üzerindeki düzeyin değiştirilmesi amacıyla aynı anda harici cihazlarda sürülmemelidir( wired-or, wired- and ).So- nuçta oluşan yüksek akım çıkışı, çipe zarar verebilir I/O Portları Üzerinde Ardışıl Đşlemler Bir I/O portuna asli yazma olayı, bir komut döngüsünün sonunda meydana gelir.halbuki okuma için data, komut döngüsünün başında geçerli olmak zorundadır(şekil 5.5).Đşte bu noktada, aynı I/O portunun üzerine bir okuma ile takip edilen yazma işlemi taşınırken,dikkat sarf edilmelidir.ardıiık komutlar,pin voltajının bir sonraki komutun CPU içine yazılmasının gerçekleştirilmesinden önce stabilize edilmelidir.yoksa pinin önceki durumu,yeni bir durum hâline getirilmekten çok CPU içinde okunma şeklinde gerçekleşir.şüpheye düşüldüğü zaman, bu komutları,bu I/O portunu çalıştırmayan bir NOP ya da başka bir komutla ayırmak gerekir. Örnek 5.3 te 2 ardışık oku-çeviryaz(örneğin BCF,BSF,vs.) komutlarının bir I/O portu üzerindeki etkisi gösterilmiştir. ÖRNEK 5.3 BĐR I/O PORTU ÜZERĐNDEKĐ OKU ÇEVĐR-YAZ KOMUTLARI ;Initial PORT settings: PORTB<7:4> Inputs ; PORTB<3:0> Outputs ;PORTB<7:6> have external pull-ups and are ;not connected to other circuitry ; ; PORT latch PORT pins ; BCF PORTB, 7 ; 01pp ppp 11pp ppp BCF PORTB, 6 ; 10pp ppp 11pp ppp BSF STATUS, RP0 ; BCF TRISB, 7 ; 10pp ppp 11pp ppp BCF TRISB, 6 ; 10pp ppp 10pp ppp ; ;Note that the user may have expectes the ;pin values to be 00pp ppp.the 2nd BCF ;caused RB7 to be latched as the pin value ;(high). Şekil 5-5: Ardışıl I/O Đşlemi 8

21 6.0 TIMER0 MODÜLÜ VE TMR0 REGĐSTERĐ Timer0 modülü zamanlama/sayacı aşağıdaki özelliklere sahiptir. 8 bit lik zamanlama/sayaç Okunabilirlik ve yazılabilirlik 8 bit lik yazılım programlama özelliğine sahip önölçücü(prescaler) Dahili ve harici saat seçimi FFh dan 00h a kadar taşma üzerinde kesme Harici saat için kenar seçimi(edge select) Zamanlama modu T0CS biti silinerek seçilir(option<5>).timer0 modülü her komut döngüsünü (ön ölçücü olmaksızın) çoğaltacaktır.tmr0 registeri yazılırsa ; çoğalma, sonraki iki döngüde engellenecektir(şekil 6-2, Şekil6-3).Kullanıcı, TMR0 registerine ayarlanmış bir değer yazarak çalışabilir. TOCS biti ayarlanarak sayaç modu seçilebilir(option<5>).bu modda, TMR0 hem her türlü artışta hem de RA4/T0CS pini kenar azalışında çoğalacaktır.çoğalma kenarı ;T0 kaynak kenar seçim biti, T0SE(OPTION<4>) tarafından kararlaştırılacaktır.harici saat girişindeki sınırlamaların detayları Bölüm 6-2 de anlatılacaktır. Önölçücü(prescaler) Timer0 modülü ve Watchdog Timer arasında paylaştırılmıştır. Önölçücü tayini yazılım içersinde PSA kontrol biti(option<3>)tarafından kontrol edilir. PSA silme biti önölçücüyü Timer0 modülüne atayacaktır.önölçücü yazılabilir yada okunabilir değildir.önölçücü(bölüm 6-3)Timer0 modülüne atandığında önölçme değeri (1:2, 1:4,., 1:256), yazılım seçilebilir. 6.1 TMR0 Kesmesi TMR0 kesmesi, TMR0 registerinin FFh -00h aralığında taşması durumunda yaratılır. Bu taşma, T0IF bitini(intcon<2>) ayarlar. Kesme, temizlemeyi mümkün kılan T0IE(INTCON<5>)tarafından belirlenir(masked).t0if biti, yazılım içersinde bu kesme mümkün kılınmadan önce Timer0 modülü rutin kesme serisi tarafından temizlenmelidir.sleep modu esnasında zamanlayıcı kapatılmadan TMR0 kesmesi (Şekil 6-4) işlemciyi SLEEP den uyandıramaz. Şekil 6-1 : TMR0 Blok Diyagramı Not1: T0CS, T0SE, PS2, PS1, PS0 ve PSA bitlerioptionregisterineyerleştirilmiştir. 2: Önölçücü (prescaler) Watchdog Timer ile paylaştırılmıştır. Şekil 6-2 : TMR0 Zamanlaması : Dahili Saat / Önölçücüsüz 8

22 Şekil 6-3 : TMR0 Zamanlaması : Dahili Saat / Önölçücü 1:2 Şekil 6-4 : TMR0 Kesme Zamanlaması Not 1: T0IF kesme bayrağı(flag) buraya örnektir(her Q1) 2: Kesme gecikmesi=3.25 Tcy, Tcy=Komut döngü zamanı. 3: CLKOUT sadece RC osilatör modunda geçerli 4: Zamanlama saatinde(senkronize devreden sonra), T0IF bitinin hemen FFh dan 00h a ayarlanmasından zaman artar.tmr0 registeri 3 Tosc döngüsünden sonra tekrarlar(roll over). 9

23 6.2 TMR0 ın Harici Saatle Kullanımı TMR0 için bir harici saat girişi kullanıldığında bazı talepleride beraberinde karşılamak zorundadır.harici saat talebi, dahili faz saati(tosc) senkronizasyonuna bağlıdır.aynı zamanda, TMR0 registerinin senkronizasyonundan sonra anlık çoğalmasında bir gecikmede mevcuttur Harici Saat Senkronizasyonu Önölçücü kullanılmadığı zamanlarda harici saat girişi önölçücü çıkışının aynısıdır.ra4/ T0CKI pininin dahili faz saatleri ile senkronizasyonu; dahili faz saatlerinin, Q2 ve Q4 döngüleri üzerindeki önölçücü çıkışının modellenmesiyle sağlanır(şekil 6-5).Burada, T0CKI nin en az 2 Tosc (+ küçük bir RC gecikmesi) yüksekliğinde olması ve en az da 2 Tosc (+ küçük bir RC gecikmesi) düşüklüğünde olması gerekmektededir.bahsi geçen cihazın elektriki tanımlamasına başvurunuz. Bir önölçücü kullanıldığında harici saat girişi asenkron bir dalga sayacı tipinde önölçücü tarafından bölünmelidir.bu sayede önölçücü çıkışı simetrik olacaktır.harici saatin modelleme talebini karşılayabilmesi için dalga sayacı hesap içine katılmak durumundadır. Đşte tam bu noktada, T0CKI nin önölçücü değeri tarafından bölünmüş en az 4 Tosc luk (+ küçük bir RC gecikmesi) bir peryoda sahip olması gerekir.t0cki nin yüksek ve düşük zamandaki tek talebi, m,n. 10ns lik darbe Şekil 6-5 : Harici Saat Đle TIMER0 Zamanlaması genişliğinin aşılmasıdır.ac elektriki özellikler kısmında ve 42.parametrelere başvurunuz TMR0 Çoğalma Gecikmesi Önölçücü çıkışı dahili saatlerle senkronize edildiğinden ötürü, Timer0 modülünün çoğaldığı zamanda harici saat kenarının zamanlamasında da küçük bir gecikme oluşacaktır.şekil 6-5 de harici saat kenarından zaman artışına kadar olan gecikme gösterilmiştir. 6.3 Önölçücü Timer0 modülü için 8 bitlik bir sayaç da önölçücü olarak kullanılabilir(watchdog Timer için sonölçücü gibi).kısaca ;bu sayaç, bu notlarda önölçücü olarak anılmaktadır.dikkat edilmesi gereken bir husus da Timer0 modülü ve Watchdog Timer için karşılıklı, kendine has tek bir önölçücünün bulunduğudur.buradan, Timer0 modülü için bir önölçücü tayini, Watchdog Timer ın bir önölçücüye sahip olmadığı anlamına gelir. PSA ve PS2:PS0 bitleri(option<3:0>), önölçücü tayinine ve önölçme oranlarına karar verirler. Timer0 modülüne tayin gerçekleştirildiğinde, Timer0 modülüne(örneğin: CLRF 1, MOVWF 1, BSF 1,.vs.) yazılan tüm komutlar önölçücüyü silecektir.bir WDT ye tayin durumunda ise bir CLRWDT komutu, önölçücüyü Watchdog Timer ile beraber silecektir.önölçücü, yazılabilir ya da okunailir değildir. Not 1: Gecikme TMR0 saat giriş deiğişiminin 3 Tosc den 7 Tosc ye artmasından itibaren (Qsüresi=Tosc). Bununla beraber,tmr0 girişindeki iki kenar arasındaki sürenin ölçümündeki hata =+- 4 Toscmax. 2: Önölçücü yok ise harici saat kullanılır. 3: Örnekler olduğu zamanoklar belirteçtir.kısa clock pulselerinede örnekler başarısız olabilir. 8

24 Şelik 6-6 : TMR0 / WDT Önölçücü Blok Diyagramı Not : T0CS, T0SE, PSA, PS2:PS0 bitleri OPTION registeri içindedir. 8

25 6.3.1 Önölçücü Tayininin Açılması Önölçücü tayini, bütünüyle yazılım kontrolu altındadır.(örneğin: Program açılması esnasında on the fly şeklinde değiştirilebilir.) Not: Tasarlanmış bir cihaz RESET ini engellemek için aşağıdaki komut sırası takip edilerek önölçücü tayininin Timer0 dan WDT ye dağiştirilmesi sağlanmalıdır(örnek 6-1).Bu sıra, WDT mümkün kılınmadığı durumlarada dahi takip edilmelidir.önölçücüyü WDT den Timer0 a değiştirmek için de Örnek 6-2 de verilen sıra takip edilmelidir. ÖRNEK 6-2 : Önölçücü değişimi (WDT TMR0) CLRWDT ; WDT ve önölçücü silinir. BSF STATUS, RP0 ; Bölüm 1 MOVLW b xxxx0xxx ; TMR0, yeni önölçücü değeri ve saat kaynağı seçilir. MOVWF OPTION ; BCF STATUS, RP0 ; Bölüm 0 ÖRNEK 6-1: Önölçücü değişimi (TMR0 WDT) BCF STATUS, RP0 ; Bölüm 0 CLRF TMR0 ; TMR0 ve önölçücü silinir. BSF STATUS, RP0 ; Bölüm 1 CLRWDT ; WDT silinir. MOVLW b xxxx1xxx ; yeni seçilir. MOVWF OPTION ; önölçücü değeri BCF STATUS, RP0 ; Bölüm 0 Tablo 6-1 : TMR0 ile Registerleri Birleştirme Kısalmalar: x = Bilinmeyen u= Değişmeyen - =Tamamlanmamış, 0 diye okunur.taralı hücreler Timer0 ile birleştirilmemiştir. 25

26 7.0 EEPROM DATA HAFIZASI EEPROM data hafızası normal işletimde (tam V dd aralığında) okunabilir ve yazılabilirdir.bu hafıza register dosya boşluğunda direkt olarak haritalanmamıştır.bunun yerine, özel fonksiyon registerleri arasında endirekt olarak adreslenmiştir.bu hafıza okuma ve yazma için 4 tane SFR kullanmıştır.bu registerler ; EECON1 EECON2 EEDATA EEADR EEDATA, read/write için 8 bitlik datayı ve EEADR de girilen EEPROM adresinin yerini elinde bulundurur.pic16c84 aygıtları 0h dan 3Fh a kadarlık bir adres aralığı ile 64 byte lık data EEPROM una sahiptir. EEPROM data hafızası, byte a okuma ve yazma izni verir.bir byte yazma otomatik olarak yeri siler ve yeni datayı yazar(yazmadan önce silme).eeprom data hafızası yüksek erase/write döngüleri için oranlanmıştır.yazma zamanı bir on-chip zamanlayıcısı tarafından kontrol edilir.yazma zamanı gerilim ve ısıyla değişebileceği gibi chip ten chip e de değişebilir.kesin limitler için lütfen AC özellikler kısmına bakınız. Aygıt, kod korumalı olduğu zaman CPU EEPROM data hafızasını okumaya ve yazmaya devam edebilir.aygıt programlayıcısı bundan sonra bu hafızaya daha fazla erişim veremez. 7.1 EEADR EEADR registeri max. 250 byte lık EEPROM datasını adresleyebilir.eeprom datasının yalnız ilk 64 byte ı yerine getirilir. Üst 2 bit adres çözücüdür.bu ; iki bitin, adresin 64 byte lık hafıza boşluğunda yer aldığını onaylaması için 0 olması gerektiği anlamına gelir. 7.2 EECON1 ve EECON2 Registerleri EECON1 fiziki yolla yerine getirilmiş 5 adet düşük emir biti ile birlikte kontrol registeri görevini yapar.üst 3 bit varolmayan bitlerdir ve 0 olarak okunurlar. RD ve WR kontrol bitleri okuma ve yazmayı başlatırlar.bu bitler silinemezler ve yalnızca yazılımda kurulabilirler.yazma ve okuma işleminin tamamlanmasında donanım içerisinden silinirler.wr bitinin yazılımdan silinmesinin mümkünsüzlüğü, henüz tamamlanmamış bir yazma işleminin kaza ile sonlanmasını önler. WREN biti, kurulduğunda bir yazma işlemine izin verir.güç artışında WREN biti temizdir.wrerr biti, bir MCLR reseti yada bir normal operasyon esnasında WDT time-out reseti tarafından yazma işlemi kesilirse kurulur.bu durumlarda reseti takiben, kullanıcı WRERR bitini kontrol edip tekrar yerine yazabilir.data ve adres, EEDATA ve EEADR registerleri içersinde değiştirilmeyeceklerdir. EEIF kesme flag biti yazma tamalandığı zaman kurulur.bu, yazılım içinde temizlenmiş olmalıdır. EECON2 fiziksel bir register değildir.eecon2 bütün 0 ları okuyacaktır.eecon2 registeri EEPROM data yazması sırasında özel olarak kullanılır. 7.3 EEPROM Data Hafızasının Okunması Bir hafıza yerinin okunabilmesi için kullanıcı, EEADR registerine adresi yazmak ve bundan sonrada kontrol biti RD(EECON1<0>) yi ayarlamalıdır.data, EEDATA registeri içersindeki bir sonraki döngüde mevcuttur.bundan dolayı, bir sonraki komut içersinde okunabilir.eedata, bu değeri kullanıcı tarafından başka bir okuma ve yazma işlemlerine kadar elinde bulundurur. ÖRNEK 7-1 : EEPROM Datasını Okuma BCF MOVLW MOVWF BSF BSF BCF MOVF STATUS, RP0 CONFIG, ADDR EEADR STATUS, RP0 EECON1, RD STATUS, RP0 EEDATA, W ; ; ; ; ; ; ; Bölüm 0 Adres okuma Bölüm 1 EE okuma Bölüm 0 W=EEDATA 7.4 EEPROM Data Hafızasına Yazma Bir EEPROM data yerine yazmada kullanıcı ilk olarak EEADR registerine adresi ve de EEDATA registerine datayı yazmalıdır.daha sonra kullanıcı her byte için yazmanın başlatılmasında belirli belirli bir sırayı takip etmelidir. 26

27 ÖRNEK 7-2 : EEPROM Datası Yazma BSF BCF BSF MOVLW MOVWF MOVLW MOVWF BSF STATUS, RP0 INTCON, GIE EECON1, WREN 55h EECON2 AAh EECON2 EECON1, WR ; ; ; ; ; ; ; ; Bölüm 1 INT ler yetkisiz Yazma yetkili 55h ı yazma AAh ı yazma WR bitini kurma yazmaya başlama INT ler yetkisiz BSF INTCON, GIE ; Kalın yazılı komutlar istenen sıralamayı belirtmektedir. Her byte için yukarıdaki sıra tam olarak takip edilmediği zaman yazma başlamayacaktır(eecon2 ye 55h ın yazılması, EECON2 ye AAh ın yazılması ve daha sonra da WR bitinin ayarlanması ).Bu kod bölümü esnasında kesmelerin yetkisizleştirilmesi tavsiye edilir. Ek olarak, EECON1 içindeki WREN biti yazmaya ayarlanmalıdır.bu mekanizma, hatalı (beklenmeyen)kod açılmasına(örneğin kayıp programlar) bağlı olarak kazara EEPROM datasına yazmaları önler.kullanıcı, her zaman WREN bitini boşta bulundurmalıdır(eeprom un güncelleştirilmesi durumu hariç).wren biti donanım tarafından silinmez. Bir yazma sırasının başlatılmasından sonra, WREN bitinin silinmesi yazma döngüsünü etkilemeyecektir.wren biti ayarlanmadıkça WR bitininde ayarlanması engellenecektir. Yazma döngüsünün tamamlanmasında WR biti donanım içersinde temizlenecektir ve EE yazma tamamlama kesme flag biti (EEIF) ayarlanacaktır.kullanıcı ya bu kesmeyi mümkün hale getirecektir ya da bu biti oya sunacaktır.eeif, yazılım tarafından temizlenmelidir. Not: Data EEPROM hafızası E/W döngü zamanı, 10ms lik tanımlamayı (tipik) duruma bağlı olarak aşabilir.yazma döngüsünün tamamlandığını onaylayabilmek için EE kesmesini kullanınız ya da WR biti ni (EECON<1>) oya sununuz.bu olayın ikiside yazma döngüsünün tamamlanmasını belirler. 7.5 Yazmanın Doğrulanması Uygulamaya bağlı olarak EEPROM datasına yazılan değerin doğrulanması iyi bir programlama denemesi sonucunda talep edilebilir (Örnek 7-3).Bu doğrulanan değer, istenen değer olmak durumundadır.bu EEPROM bitinin tanımlanan limit yakınında vurgulandığı uygulamalarda kullanılmalıdır. Genelde EEPROM yazma hatası 1 olarak yazılan fakat geri döndüğünde 0 olarak okunan bir bit şeklinde olacaktır(kaçak bite bağlı olarak). ÖRNEK 7-3 : Yazma Doğrulaması BCF : : MOVF BSF READ BSF BCF STATUS, RP0 EEDATA, W STATUS, RP0 EECON1, RD STATUS, RP0 ; ; ; ; ; ; ; Bölüm 1 Her kod buraya gidebilir. Bölüm 0 da olmalı Bölüm 1 Evet,yazılan değer o- kunur. Bölüm 0 ; Yazılan (W registerindeki) ve okunan (EEDATA daki) değer aynı mı? ; SUBWF BTFSS GOTO : : EEDATA, W STATUS, Z WRITE_ERR ; ; ; ; ; 0 farklı mı? Hayır,Yazma hatası Evet,Yazma iyi Program devam 7.6 Kışkırtıcı Yazmalara Karşı Koruma Cihazın data EEPROM hafızasına yazmak istemeyeceği durumlar vardır.kışkırtıcı EEPROM yazmalarından korunmak için çeşitli mekanizmalar inşa edilmiştir.güç arttırımında (power-up) WREN temizlenir.bununla beraber güç arttırma zamanlayıcısıda (72ms lik süre) EEPROM yazmasını önler. Yazım başlatma sırası ve WREN biti birlikte brown-out, powerglitch ya da yazılım fonksiyonsuzluğu gibi kazayla olabilecek yazmaları önler. 7.7 Kod Koruması Esnasında Data Đşlemi Cihaz kod korumalı olduğu zaman; CPU, data EEPROM una karıştırılmamış datayı okuyabilir ve yazabilir.rom cihazları için 2 kod koruma biti vardır(bölüm 8.1).Bir tane ROM program hafızası içindir ve diğeride data EEPROM hafızası içindir. 7.8 Güç Tüketim Kabulleri Not : EEADR<7:6> bitlerinin temizlenmesi tavsiye edilmektedir.bu bitlerin herbirinin ayarlanması durumunda cihazın max. I DD akımı, ikiside silindiği durumdakinden daha çoktur.tanımı 400µA dir.eeadr<7:6> nın silinmesiyle beraber max. değeri 150µA dir. 27

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic tanıtması

Detaylı

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür.

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür. BÖLÜM 4 4. PIC PROGRAMLAMA Herhangi bir dilde program yazarken, öncelikle kullanılacak dil ve bu dilin editörünü kullanabilmek önemlidir. Biz bu işlem için Mplab programını kullanacağız. Bu sebeple aslında

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ı

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ KOMUT AÇIKLAMALARI VE ÖRNEKLERİ Komut açıklamalarında kullanılan harflerin anlamları: F : File(dosya), kaynak ve bilgi alınan yeri ifade eder. D : Destination (hedef), işlem sonucunun kaydedileceği yer.

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ı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - başla - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic

Detaylı

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk. HARRAN ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk. 15 Nisan 2014 1) (10p) Mikroişlemcilerle Mikrodenetleyiceleri yapısal olarak ve işlevsel olarak karşılaştırarak

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ı

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ı

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ı

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ı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display ) LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü

Detaylı

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

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001 MOVLW k Move Literal to W k sabit değerini W saklayıcısına yükler. MOVLW h'1a' W 1A. Hexadecimal 1A sayısı W registerine yüklenir. MOVF f,d Move f f saklayıcısının içeriğini W veya f'e yükler. MOVF SAYAC,0

Detaylı

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir.

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir. File register haritası Bank 0 Bank 1 0 00 INDF 0 80 INDF 0 01 TNF0 0 81 OPTION 0 02 PCL 0 82 PCL 0 03 STATUS 0 83 STATUS 0 04 FSR 0 84 FSR 0 05 PORT A 0 85 TRISA 0 06 PORT B 0 86 TRISB 0 07 0 87 EEPROM

Detaylı

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI S1. Aşağıdaki eleman ya da birimlerden hangisi genel bir bilgisayar sisteminin donanımsal yapısında yer almaz? a) Mikroişlemci (CPU) b) Bellek

Detaylı

Komutların İşlem Süresi

Komutların İşlem Süresi Komutların İşlem Süresi PIC lerde ŞARTSIZ dallanma komutları (GOTO, CALL, RETURN gibi ) hariç tüm Assembly dili komutları 1 saat saykılı (cycle) çeker. ŞARTLI dallanma komutları ise normalde 1 saat saykılı

Detaylı

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI P I C 1 6 F 8 4 / P I C 1 6 F 8 7 7 K O M U T S E T İ PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 Gecikme Programları Örnek 1: Tek bir döngü ile yaklaģık

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ı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı HUNRobotX - PIC Assembly Dersleri 4. Ders: Kesme Đşlemleri ve Timer Bileşeninin Kullanımı Yazan:

Detaylı

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

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre MİKRODENETLEYİCİLER Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre Mikrodenetleyici: Bir mikroişlemcinin

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ı

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ı

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ı

KONFİGÜRASYON BİTLERİ

KONFİGÜRASYON BİTLERİ MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 2) Doç. Dr. Hakan Ündil INCLUDE Dosyalar Assembly programlarını yazarken kullanılacak register adreslerini (EQU) komutu ile tanımlamak hem

Detaylı

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi B Yrd.Doç. Dr. Bülent ÇOBANOĞLU Sakarya Üniversitesi, Teknoloji Fakültesi Kesmeler Kesme (Interrupt), mikro denetleyicinin gerçekleştirdiği işleme bakmaksızın belirli durumların/olayların olması durumunda

Detaylı

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

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü Ders 7, Slayt 2 1 PROGRAM 1 RAM bellekte 0x0C ve 0x0D hücrelerinde tutulan iki 8-bit sayının toplamını hesaplayıp

Detaylı

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.

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. Bölüm 9: 8086 nın Bacak Bağlantısı ve İşlevleri 8086 & 8088 her iki işlemci 40-pin dual in-line (DIP) paketinde üretilmişlerdir. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit

Detaylı

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ı

William Stallings Computer Organization and Architecture 9 th Edition

William Stallings Computer Organization and Architecture 9 th Edition William Stallings Computer Organization and Architecture 9 th Edition Bölüm 5 İç Hafıza Bir Hafıza Hücresinin Çalışması Bütün hafıza hücrelerinin ortak özellikleri vardır: 0 ve 1 durumundan birini gösterirler

Detaylı

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201... 3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.

Detaylı

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) LCD ekranlar bize birçok harfi, sayıları, sembolleri hatta Güney Asya ülkelerin kullandıkları Kana alfabesindeki karakterleri de görüntüleme imkanını verirler. LCD lerde hane

Detaylı

http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr.

http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr. http://nptel.ac.in/courses/webcourse-contents/iit KANPUR/microcontrollers/micro/ui/Course_home3_16.htm B Yrd.Doç. Dr. Bülent ÇOBANOĞLU PIC MİKRODENETLEYİCİ VE AİLESİ PIC, Microchip firması tarafından üretilen,

Detaylı

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa, KKTC E-mail: dogan@neu.edu.tr, Tel: (90) 392 2236464 ÖZET Bilgisayarlara

Detaylı

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 PIC Mikrodenetleyiciler PIC MCU= CPU + I/O pinleri+ Bellek(RAM/ROM) Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1 PIC Mikro denetleyici Programlama Assembly programlama dili, çoğu zaman özel alanlarda geliştirilen

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ı

PROGRAMLANABİLİR ZAMANLAYICI

PROGRAMLANABİLİR ZAMANLAYICI T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ PROGRAMLANABİLİR ZAMANLAYICI BİTİRME ÇALIŞMASI SULTAN ÜÇOK 203786 HAZİRAN,2011 TRABZON T.C. KARADENİZ TEKNİK

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ı

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: f : File register, Herhangi bir değişkenle tarif edilen bir saklayıcı adresi (0h-7Fh) k : Sabit değer (genellikle (0-FF arasında) d : Destination

Detaylı

KESME (INTERRUPT) NEDİR?

KESME (INTERRUPT) NEDİR? KESME (INTERRUPT) NEDİR? Mikro işlemcilerle yeni çalışmaya başlayan çoğu kimseler, interrupt kelimesini duymalarına rağmen, kullanımlarının zor olduğu düşüncesiyle programları içerisinde kullanmaktan çekinirler.

Detaylı

P IC 16F877. Program. Belleği

P IC 16F877. Program. Belleği P IC 16F877 Mİ MARİ (Architecture) PIC 16F87X ve 16F8X serisi öncelikle, PIC 16CXX ailesinin özelliklerini taşır. PIC 16CXX de Harvard mimarisi kullanılmıştır. Von Neuman mimarisinde, veri ve program belleğine

Detaylı

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

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Mikroişlemci bir programının yapmak istediği işlemleri, (hafızada bulunan komutları) sırasıyla ile işleyerek icra eder (yürütür). Bu yürütme, 1. Komutun Program

Detaylı

PIC16F877A nın Genel Özellikleri

PIC16F877A nın Genel Özellikleri BÖLÜM 3 PIC16F877A nın Genel Özellikleri 3.1 Mikrodenetleyici Mimarisi 3.2 PIC16Fxxx Komut Seti 3.3 PIC16F877A Bellek Organizasyonu 3.4 Giriş/Çıkış Portları 3.5 STATUS ve TRIS Kaydedicileri 3.6 Kesme ve

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ı

Mikro denetleyicili Uygulama devresi bileşenleri

Mikro denetleyicili Uygulama devresi bileşenleri Mikro denetleyicili Uygulama devresi bileşenleri Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ; Besleme devresi, Reset sinyali, Osilatör devresi, Uygulama devresi elemanlarına İhtiyaç

Detaylı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 2 MSC-51 Ailesi MCS-51 Ailesi Ekim 2014 Yrd. Doç. Dr. Mustafa Engin 8051 in Blok Şeması 4 Denetim Hatları Veri Yolu DPTR P.C. 8051

Detaylı

PIC TABANLI, 4 BASAMAKLI VE SER

PIC TABANLI, 4 BASAMAKLI VE SER PIC TABANLI, 4 BASAMAKLI VE SERİ BAĞLANTILI 7 SEGMENT LED PROJESİ Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Lefkoşa E-mail: dogan@neu.edu.tr,

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ı

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ı

www.muhendisiz.net BÖLÜM 1

www.muhendisiz.net BÖLÜM 1 www.muhendisiz.net BÖLÜM 1 IR HABERLEŞME 1.1.IR Haberleşme Sisteminin Gerçekleştirilmesi Tüm haberleşme sistemlerinde olduğu gibi IR haberleşme sistemlerinde de modülasyon tekniğinden yararlanılır. IR

Detaylı

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2017-2018 Bahar-FİNAL KISMI BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan bitlerin (C

Detaylı

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER BELLEKLER Genel olarak bellekler, elektronik bilgi depolama üniteleridir. Bilgisayarlarda kullanılan bellekler, işlemcinin istediği bilgi ve komutları maksimum hızda işlemciye ulaştıran ve üzerindeki bilgileri

Detaylı

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 3) Doç. Dr. Hakan Ündil Program Örneği 9 : Gecikme altprogramı kullanarak Port B ye bağlı tüm LED leri yakıp söndüren bir program için akış

Detaylı

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

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur: PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI Temel olarak bir PIC içerisinde de iki tür hafıza bulunur: 1. Program Hafızası (ROM,PROM,EPROM,FLASH) Programı saklar, kalıcıdır. 2. Veri Hafızası (RAM, EEPROM)

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ı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı 1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı yazınız. SAYAC1 EQU 0X20 devam movlw B'00000000' call DELAY incf PORTB,f ;Akü ye 0' sabit değerini yaz. ;Aküdeki değer PORTB

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ı

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİ Ankara, 2014 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya

Detaylı

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

Bir mikroişlemci temel olarak üç kısımdan oluşur. Bunlar merkezi işlem birimi (CPU), giriş çıkış birimi (G/Ç) ve bellektir. 1 1.GİRİŞ 1.1 Mikroişlemciler Mikroişlemci herhangi bir sistemde merkezi işlem birimidir ve bulunduğu sistemde aritmetik ve mantıksal işlemleri yürütür. Merkezi İşlem Birimi (Central Processing Unit: CPU),

Detaylı

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

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu Step Motor Step motor fırçasız elektrik motorlarıdır. Step motorlar ile tam bir tur dönmeyi yüksek sayıda adımlara bölebilmek mümkündür (200 adım). Step motorları sürmek için, sürekli gerilim uygulamak

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ı

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

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur) Mikroişlemci bir programının yapmak istediği işlemleri, (hafızada bulunan komutları) sırasıyla ile

Detaylı

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ DERSĐN ADI : MĐKROĐŞLEMCĐLER II DENEY ADI : PIC 16F84 VE ĐKĐ BUTONLA BĐR LED KONTROLÜ PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ PIC 16F84 VE VAVĐYEN ANAHTAR ĐLE BĐR LED KONTROLÜ ÖĞRENCĐ ĐSMĐ : ALĐ METĐN

Detaylı

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler çağırılma kaynaklarına göre 3 kısma ayrılırlar: Yazılım kesmeleri Donanım

Detaylı

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EasyPic6 Deney Seti Kullanım Kılavuzu İstanbul 2009 İçindekiler EasyPic6 Deney Setinin Tanıtımı... 1 PIC16F887

Detaylı

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

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI 1 9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI Mikroişlemci temelli sistem donanımının en önemli kısmı merkezi işlem birimi modülüdür. Bu modülü tasarlamak için mikroişlemcinin uç işlevlerinin çok iyi bilinmesi

Detaylı

MİKROİŞLEMCİ (Microprocessor) NEDİR?

MİKROİŞLEMCİ (Microprocessor) NEDİR? MİKROİŞLEMCİ (Microprocessor) NEDİR? Merkezi İşlem Birimi, (CPU Central Processing Unit) olarak adlandırılır. Bilgisayar programının yapmak istediği işlemleri yürütür.(yerine getirir) CPU belleğinde bulunan

Detaylı

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2016-2017 Bahar-FİNAL KISMI (NOT: Derslerde işlenen diğer örnekler, Lab. Deneyi ve Sayı Sistemleri de Final sınavına dahildir) BÖLÜM 7 - LOJİK

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ı

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL 2014-2015 Bahar-Final Kısmı (NOT: Derslerde işlenen diğer örnekler de Final sınavına dahildir) BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir

Detaylı

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR?

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR? 0 BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR? Programlamada döngü kadar etkili bir diğer kullanım şekli de alt programlardır. Bu sistemde işlemin birkaç yerinde lazım olan bir program parçasını tekrar

Detaylı

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

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler

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 Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

Detaylı

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB=00000000 BCF STATUS,5 ;bank0 a geçiş

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB=00000000 BCF STATUS,5 ;bank0 a geçiş +5V ĠġĠN ADI: PORTB DEKĠ LEDLERĠN ĠSTENĠLENĠ YAKMAK/SÖNDÜRMEK GND C F C F X R 5 U OSC/CLKIN RA0 OSC/CLKOUT RA RA RA RA/T0CKI PICFA RB RB RB RB RB RB 0 R R R R5 R R R R D D D D D5 D D D INCLUDE CONFIG P=FA

Detaylı

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil 2013-2014 Bahar-Final BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı

Mikroişlemcili Sistemler ve Laboratuvarı SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı Hafta04 : 8255 ve Bellek Organizasyonu Doç.Dr. Ahmet Turan ÖZCERİT

Detaylı

BELLEKLER. Kelime anlamı olarak RAM Random Access Memory yani Rastgele Erişilebilir Bellek cümlesinin kısaltılması ile oluşmuş bir tanımdır.

BELLEKLER. Kelime anlamı olarak RAM Random Access Memory yani Rastgele Erişilebilir Bellek cümlesinin kısaltılması ile oluşmuş bir tanımdır. BELLEKLER 1- RAM (Random Access Memory) Nedir? Kelime anlamı olarak RAM Random Access Memory yani Rastgele Erişilebilir Bellek cümlesinin kısaltılması ile oluşmuş bir tanımdır. Kısaca: RAM bilgisayar için

Detaylı

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar Bellekler 1 Bellekler Ortak giriş/çıkışlara, yazma ve okuma kontrol sinyallerine sahip eşit uzunluktaki saklayıcıların bir tümdevre içerisinde sıralanmasıyla hafıza (bellek) yapısı elde edilir. Çeşitli

Detaylı

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

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı GİRİŞ Günümüzde kullanılan bilgisayarların özelliklerinden bahsedilirken duyduğumuz 80386, 80486 Pentium-III birer mikroişlemcidir. Mikroişlemciler bilgisayar programlarının yapmak istediği tüm işlerin

Detaylı

Sistem Programlama. Seri ve Paralel Port Kullanımı:

Sistem Programlama. Seri ve Paralel Port Kullanımı: Seri ve Paralel Port Kullanımı: PC'lerde ismine seri ve paralel port denilen iki grup haberleşme portu bulunur. Paralel portlar 25 pinli bilgisayar tarafı dişi olan konnektörlerden oluşur. Seri portlar

Detaylı

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR Bülent ÖZBEK Örnek Program -1- B Portuna bağlı LED leri Yakma Bu programda PIC16F84 mikrodenetleyicisinin B portuna bağlı 8 adet LED in yanması sağlanacaktır. Bunu

Detaylı

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil 2014-2015 Bahar-Vize BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

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

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 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-1 2. Yıl, III. Yarıyıl (Güz) 4 (Teori: 3, Uygulama: 1,

Detaylı

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu Hacettepe Robot Topluluğu PIC Assembly Dersleri 3. Ders: Bazı Özel İşlev Yazmaçları ve Altprogram Kavramı HUNRobotX - PIC Assembly Dersleri 3. Ders: Bazı Özel İşlev Yazmaçları ve Altprogram Kavramı Yazan:

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ı

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ı

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2 T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2 ANKARA 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan yeterlikleri kazandırmaya yönelik

Detaylı

1) PLSY / DPLSY : Bu komut ile istenilen frekansta istenilen pals adedini üretir.

1) PLSY / DPLSY : Bu komut ile istenilen frekansta istenilen pals adedini üretir. Delta PLC Pals Komutarı 1) PLSY / DPLSY : Bu komut ile istenilen frekansta istenilen pals adedini üretir. Komut Kullanım Şekli DPLSY D50 D60 Y0 D50 Pals frekans değeri bu register a yazılır. D60 Üretilecek

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ı

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir? 3.2 PIC16F84 Yazılımı 3.2.1 PIC Assembly 3.2.1.1 Assembler Nedir? Assembler,bir text editöründe assembly dili kurallarına göre yazılmış olan komutları pıc in anlayabileceği heksadesimal kodlara çeviren

Detaylı

PIC Mikro denetleyiciler ve Programlama. Öğr.Gör.Bülent ÇOBANOĞLU

PIC Mikro denetleyiciler ve Programlama. Öğr.Gör.Bülent ÇOBANOĞLU PIC Mikro denetleyiciler ve Programlama Değerlendirme BaĢarı Puanı: Yıl içi %60+ Final %40 Yıl içi ise; Vize*60+Q1*10+Q2*10+Ödev*15+Devam*5 BaĢarı Ortalaması 40 altı olan FF dir. Diğer notlar, çana göre

Detaylı

Deney 8: ALU da Aritmetik Fonksiyonlar

Deney 8: ALU da Aritmetik Fonksiyonlar Deney 8: ALU da Aritmetik Fonksiyonlar ALU da Aritmetik Fonksiyonlar Kullanılan Elemanlar 1x74LS181 ALU Entegresi, 4 x switch, 4 x 4.7 kohm 4 x 330 ohm, 4 x Led Giriş (Deney-7) Tipik olarak, bir ALU, birkaç

Detaylı

Şekil. 64 Kelimelik Yığıtın Blok Şeması

Şekil. 64 Kelimelik Yığıtın Blok Şeması 1 YIĞIT (STACK) KURULUMU Çoğu bilgisayarın MİB de yığıt veya LIFO (Last In First Out) bulunur. Yığıt bir bellek parçasıdır ve son depolanan bilgi ilk geri dönen bilgi olur. Yığıta aktarılan son bilgi yığıtın

Detaylı

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

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER BÖLÜM 2 INTEL AİLESİNİN 8 BİTLİK MİKROİŞLEMCİLERİ 2.1 8080 MİKROİŞLEMCİSİ Intel 8080, I4004, I4040 ve I8008 in ardından üretilmiştir ve 8 bitlik mikroişlemcilerin ilkidir ve 1974 te kullanıma sunulmuştur.

Detaylı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,

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ı

MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER

MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER III İÇİNDEKİLER İÇİNDEKİLER... III ŞEKİLLER DİZİNİ... IX ÇİZELGELER DİZİNİ...X BİRİNCİ BÖLÜM MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1.1 Mikroişlemciler... 1 1.2 Mikrodenetleyici... 4 1.2.1 Mikrodenetleyicilerin

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ı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ ÜÇ ODA BİR SALON BİR EV İÇİN HIRSIZ ALARMININ GERÇEKLEŞTİRİLMESİ HAZIRLAYAN Cevdet Selçuk KAHYALAR

Detaylı