BÖLÜM I GİRİŞ. 1- Merkezi İşlem Birimi(Central Processing Unit-CPU) 2- Hafıza (Memory) 3- Giriş/ Çıkış(I/O) Birimleri

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

Download "BÖLÜM I GİRİŞ. 1- Merkezi İşlem Birimi(Central Processing Unit-CPU) 2- Hafıza (Memory) 3- Giriş/ Çıkış(I/O) Birimleri"

Transkript

1 1 BÖLÜM I GİRİŞ Günümüzde mikroişlemci kelimesi pek çok insan için yabancı olmayıp herkese fraklı anlam ifade eder. Teknik olmayan pek çok kişi, mikroişlemcinin, bir kişisel bilgisayarda (PC) kullanılan, bilgisayarını gücünü belirleyen çok önemli bir elektronik tümdevre olduğunu bilir. PC lerden başlayıp,diz üstü PC ler, minibilgisayarlara kadar bütün bilgisayarlar, mikroişlemcinin görevini gerçekleştiren, daha genel bir ifadeyle,bir işlemciye sahiptir. Bilgisayarlardaki işlemciler, 1950 lerden günümüze çok değişik şekiller almıştır. Günümüzde tipik bir bilgisayar üç ana birimden oluşur : 1- Merkezi İşlem Birimi(Central Processing Unit-CPU) 2- Hafıza (Memory) 3- Giriş/ Çıkış(I/O) Birimleri CPU,bilgisayarın değişik birimleri arasındaki veri akışı ve veri işleme görevlerini yerine getirir. Veri işlemenin çoğu, CPU içindeki aritmetik lojik birimde gerçekleştirilir. CPU çeşitli komutları yürüterek, bilgisayar sisteminin çalışmasını yönetir. Bilgisayar hafızasında saklı olan komutlar, bilgisayarın yürüteceği programı oluşturur. Bir CPU daki kontrol alt birimi, sistemdeki veri akışını yönetir, hafızadan okunan komutu çözer ve komut tarafından belirlenen işlemi yerine getirir. İşlemler,veri transferi veya ALU daki işlemlerdir. ALU, toplama,çıkarma.çarpma,bölme gibi temel aritmetik işlemler ve lojik işlemleri yerine getirir. Lojik işlemler, AND, OR ve EX-OR gibi işlemlerdir. Dış dünyadan CPU ya veri transfer eden alt birim giriş cihazıdır. Giriş verisi, bir insan,diğer bir bilgisayar veya başka bir elektronik sistem gibi çok değişik kaynaklardan gelebilir. CPU tarafından işlenen veri, hemen çıkışa gönderilebilir veya daha sonra işlenmek üzere hafızada saklanır. CPU dan dış dünyaya veri transfer eden alt birim çıkış cihazıdır. Bu birim ile, göstergeler, yazıcılar,diğer bilgisayarlara veya elektronik sistemlere veri transfer eden cihazları belirtmektedir yılında, bir bilgisayarın ALU ile kontrol birimlerinin bir silikon tümdevresi üzerine, INTEL firması tarafından konulması ile, mikroişlemciler dönemi başlamıştır. Basit bir teknik tanım ile, mikroişlemci, yarı iletken tek bir tümdevre üzerine yerleştirilmiş CPU' ya denir. Mikroişlemciler genel amaçlı cihazlar olup bir çok uygulama için uygundur. Bir mikroişlemci temel olarak CPU nun fonksiyonlarını yerine getirdiği için,pek çok kere, CPU ile mikroişlemci eş anlamda kullanılmaktadır. Bir bilgisayarın CPU su baskı devre kartında bulunuyorsa, bilgisayar, minibilgisayar diye adlandırılır. Bir mikroişlemci etrafına kurulu bilgisayar, mikrobilgisayar diye adlandırılır. Bir mikrobilgisayarın mikroişlemcisi, I/O ve hafıza cihazları,teknolojiye ve uygulamalara göre devamlın değişim göstermektedir. Teknolojinin gelişimi doğrultusunda, daha önce mikroişlemci tümdevresi üzerinde olmayıp dışarıda olan, pek çok giriş/ çıkış ve hafıza alt birimleri, CPU üzerine taşınmıştır.

2 2 Mikrokontrolör, bir tümdevre üzerinde üretilen bilgisayara denir. Bir mikrokontrolör tümdevresinde bulunan hafıza ve giriş/ çıkış alt sistemleri, bu işlemcilerin bir çok uygulama içinde, gömülü olarak doğrudan ve tek başına, mikroişlemcilere göre çok daha basit ve ucuz arabirim teknikleriyle, kontrol amaçlı olarak kullanılmalarını sağlar. Günümüzde mikroişlemciler ev mikrokontrolörler teknolojinin vazgeçilmez birimleri olup, sayısız alanlarda kullanılmaktadır. Bugün,mikroişlemci ve mikrokontrolör üreten pek çok firma bulunmaktadır. Bunların en önemlileri INTEL ve MOTOROLA firmalarıdır. Bir mikrokontrolör, özet olarak, kullanıldığı sistemin bir çok özeliğini aynı anda gözleme (monitoring),ihtiyaç anında gerçek zamanda cevap verme (real-time response) ve sistemi denetlemeden (control) sorumludur. Mikrokontrolörler, örneğin, otomobillerde motor kontrol, elektrik ve iç panel kontrol ; kameralarda, ışık ve odaklama kontrol gibi amaçlarla kullanılmaktadır. Bilgisayarlar, telefon ve modem gibi çeşitli haberleşme cihazları,cd teknolojisi, fotokopi ve faks cihazları, radyo, TV,teyp,oyuncaklar, özel amaçlı elektronik kartlar ve sayılamayacak kadar pek çok alanda, mikrokontrolörler yoğun olarak kullanılmaktadırlar. Bu kadar geniş uygulamalarda kullanılan mikrokontrolörler, tümdevre üzerinde yer alan çok değişik donanım özelikleri sunmaktadır. Bu özeliklerden bazıları şunlardır : Paralel ve Seri I/O portları,zamanlayıcı / sayıcılar, ADC, ve RAM, ROM, EPROM ve EEPROM gibi değişik kapasitelerde ve özeliklerde hafıza birimleri. Mikrokontrolörlerin yoğun olarak kullanıldığı elektronik ve kontrol uygulamalarının yapısı, mikrokontrolör, onun arkadaşı olan genel amaçlı mikroişlemciden ayırmaktadır. Bu uygulamalarda gerçek zaman (real time) işlemi ve çok görevlilik( multi-tasking ) özeliği bulunur. Gerçek zamanda işleme, kontrolörün, sinyalleri çalışma ortamından hazır olduklarında alıp ortamı bekletmeden işleyebilmesi demektir. Benzeri şekilde,kontrolör ihtiyaç anında çalışma ortamına,gereken kontrol sinyallerini göndermeli ve ortamı bekletmeyecek tarzda hızlı olmalıdır. Diğer bir deyişle mikrokontrolör, sistemin çalışmasında sınırlayıcı etmen olmamalıdır. Çok görevlilik, bir çok görevi aynı anda veya aynı anda gibi yapabilme kapasitesidir.

3 3 BÖLÜM II MİKROKONTROLÖR AİLESİ 8051 Intel firması tarafından, 1980 lerin başında piyasaya sunulan, dünyanın en popüler 8-bit mikrokontrolörüdür. Bu mikrokontrolör için, başta Intel olmak üzere, pek çok üretici firma (Philips, Dallas, Siemens,Oki ve Matra/Harris gibi) geniş bir donanım ve yazılım desteği sunmuş ve bunun neticesi, 8051, 1980 lerden bugüne, bir endüstri standardı olmuştur ailesi bazen MCS-51 ailesi olarak da belirtilir. MCS harfleri, geleneksel olarak, Intel firmasının üretmiş olduğu, bir sistemi veya CPU lar, hafızalar, saat üreteçleri, giriş/ çıkış birimleri ve benzeri birimler içeren, mikrobilgisayar ve uyumlu parçaları (components) belirtmede kullanılmıştır. Kitapta 8051 ve MCS-51 ifadeleri, eş anlamlı olarak aynı aileyi belirtmek için kullanılmıştır ve genelde,bir işlemciyi belirtmeyip ailenin ismi olarak kullanılmaktadır. Bununla beraber, 8051, MCS-51 ailesinin ilk üyelerinden olan, 8051, 8751 ve 8031 mikrokontrolörlerinden birinin de adıdır. Bugün için değişik mikrokontrolör aileleri arasında,8051 ailesi, gelişmiş ürünleriyle beraber yaklaşık % 40 gibi bir piyasa payına sahiptir ailesinin temel özelikleri aşağıda maddeler halinde özetlenmektedir: Popüler : Kolay bir şekilde bulunmakta ve desteklenmektedir geliştiricileri için bir çok Internet Web sayfası, kitaplar, teknik dökümanlar, yazılım ve donanım gereçleri bulunmaktadır. Uygun, Hızlı ve güçlü : 8051 çekirdek mimarisi hedef kontrol uygulamalar için çok uygun olup hızlı ve güçlüdür. Geniş yelpaze ve uyumluluk : Çok değişik 8051 ürünleri olmasına karşın, ikili kod düzeyinde bütün ürünler uyumludur (compatible). Diğer mikrokontrolör aileleri, 8051 in sunmuş olduklarını, farklı ve uyumsuz işlemcilerle (genellikle tek üretici firma kaynaklı olarak ) ancak sağlayabilmektedir. Bu uyumluluk, kolaylık ve esneklik, program geliştirme araçlarında, eğitiminde ve yazılım desteğinde de bulunmaktadır. Çok kaynaklılık : Günümüzde çok değişik 8051 işlemcisi üreten 12 üreticinin üzerinde firma bulunmakta ve sayısız yazılım ve bilgi kaynakları bulunmaktadır. Sürekli iyileştirme: 1980 lerden bugüne silikon ve tasarım olarak sürekli geliştirilen 8051 ler hızını ve gücünü arttırmıştır. Günümüzde 16-bit modellerinin de bulunduğu 8051 ler değişik kapasite, boyutlarda ve fiyatlarda kolay bir şekilde temin edilebilmektedir.

4 4 Şekil Mikrokontrolör Blok Diyagramı 8051 ailesi 8-bit single-chip mikrokontrolör 'ler sanayi uygulamaları için geliştirilmiş üzerinde hem giriş hem de çıkış için kullanılabilen 4 adet I/O port'u bulunan ayrıca bu portları Data ve Adres hatları olarak kullanabilen bir yapıya sahiptir. 8051'de Program Bellek olarak 8KB ROM, 8751'de ise 8KB EPROM vardır. Program Bellek 16-bit adresleyebildiğinden, Program Belleğimiz 64 KB olabilir.16-bitlik Data Bellek' in adreslenebilmesi CPU' da bulunan DPTR register' i sayesinde mümkündür. Program Bellek yalnız okunabilir,yazılamaz. Bu ailede 64KB'dan büyük Program Bellek alanına sahip olan işlemciler de vardır. 8051'de programın ilk 4KB'lık kısmı chip üzerinde bulunan ROM' da tutulabilir. ROM' suz versiyonlarda Program Bellek haricidir ve örneğin EPROM olabilir. Bu versiyonlarda harici Program Bellek ucu PSEN (Program Store Enable) 'dir. Şekil-2-2 ALE Kullanımı İle Harici Program Kodunun Okunma Zamanlaması

5 5 Data Bellek (RAM),Program Bellekten ayrı bir adres alanını işgal eder. 8051'de 128 Byte' lık Data Bellek chip' in üzerindedir. Bunlarda en fazla 64KB harici RAM,harici Data Bellek alanında adreslenebilir. ROM'suz versiyonlarda 128 Byte' lık Data Bellek (RAM) chip üzerindedir. CPU' nun RD ve WR bacaklarından çıkan okuma ve yazma sinyalleri ile ihtiyaç duyulan Data Bellek' e erişilebilinir. Şekil-2-3 Ortak Adres ve Data Yolunun Program Kodu Okunması Sırasındaki Zamanlaması Şekil-2-4 Okuma İşlemi Zamanlaması RD ve PSEN sinyalleri lojiksel olarak AND' lenirse bu çıkış ucu harici Program/Data Bellek için okuma sinyali oluşturulabilir Blok Diyagramı şekil-2-4.'de verilmiştir. Reset' ten sonra CPU programını icra etmeye 0000H adresinden başlar. Program Bellek' in bazı bölgeleri İnterrupt' lar için ayrılmıştır. Gelen interrupt CPU' nun bu adres alanına atlamasına ve buradan servis programının icrasına başlamasına neden olur. Örneğin harici INT0 interrupt' ı 0003H bölümüne ayrılmıştır. Eğer harici INT0 kullanıma girerse, program servis rutini 0003H bölümüne atlayarak interrupt' a cevap

6 6 vermeye çalışır. Eğer harici INT0 kullanımda değilse servis rutini genel Program Bellek' i okumaya ve icra etmeye devam eder. İnterrupt servis bölümleri 8 Byte' lık aralarla yerleştirilmişlerdir. Örneğin; Interrupt-0 : Timer -0: Interrupt-1: Timer-1: RI+TI: Vektör Adres 0003H 000BH 0013H 001BH 0023H 'dir. Program Bellek'in (ROM), harici ROM veya dahili ROM' dan hangisinin seçileceği chip üzerindeki EA (External Access) bacağının durumuna bağlıdır. Eğer EA bacağı +5V potansiyeline çekilirse program direk olarak dahili ROM'un 0000H ile 0FFFH adreslerinden çağrılır. Eğer program 1000H ile FFFFH adreslerinden çağırılıyorsa harici ROM kullanıldığı anlaşılır. EA bacağı toprak potansiyelinde ise tüm program harici ROM(EPROM) 'dan direk olarak çağrılır. ROM' suz versiyonlarda( c31) program' ın harici Program Bellek alanından çağrılması için EA bacağı toprak potansiyeline çekilmelidir Harici program icrası için donanım konfigürasyonu şekil-2-5' de gösterilmiştir. Şekil-2-5. CPU-EPROM ve Latch ile Harici Program Kodunun Okunması İçin Gerekli Donanım Burada P0 ve P2 (16-bit I/O hattı) external Program Bellek' ten programı getirmek için bum fonksiyonlarını yerine getirmek görevini üstlenmişlerdir. P0 (PORT-0) adres ve data hattının çoğullanmasından oluşmuştur. Böylece CPU' nun bacak sayısı azaltılabilmiştir. Bu çoğullama işleminden adres ve data hatlarını birbirinden ayırma işlemi CPU' dan çıkan ALE (ADDRESS LATCH ENABLE) bacağı sayesinde olmaktadır.

7 7 Dahili Data Bellek alanı 3 bellek bloğuna bölünmüştür ve bunlar 128 Byte' n altı,üstü ve SFR (Special Function Register) olarak bilinir. Dahili Data Bellek adresleri her zaman 1Byte'lıktır. Bu yüzden bu adres alanı yalnızca 256 Byte' ı ima eder. Kuramsal olarak Data Bellek alanı 384 Byte olarak farz edilir. Bu bellek'in 7FH'dan üstüne, direk adresleme ve indirek adresleme yöntemleri ile iki farklı bellek alanına erişilir. Kuramsal olarak kabul edilen bu bellek alanından fiziksel olarak 256 Byte' ından faydalanılır. 80H ile FFH adresleri arasındaki bellek alanı SFR, 00H ile 7FH adresleri arasındaki bellek alanı ise Dahili Kullanılabilir RAM olarak adlandırılır. Dahili RAM' n 128 Byte' lık alt kısmına direk ve indirek adresleme ile ulaşılabilir. Dahili RAM 4 Register Bankı (yığını) (Bank0'dan Bank3'e) ve bu bankların her biri 8 registerden oluşan kullanışlı bir bellek alanıdır. Bu bankların seçimi SFR içindeki PSW (Program Status Word)'deki RS0 vers1 (Register Selection bits) bitlerinin durumuna göre belirlenir. SFR kısmına ise sadece direk adresleme ile ulaşılabilir. Dahili RAM' ın 128 Byte' lık üst kısmında, komut takımı komutları ile, 128 Byte direk olarak adreslenebilir. SFR ; port adresleri, timer, status ve kontrol bitlerini, akümülatör, stack pointer vs gibi kaydedicileri (register) içerir. Buradaki register' lara yukarıda da değinildiği gibi yalnız direk adresleme ile erişilebilir. SFR' nin içindeki 60 adres alanı hem byte hem de bit bit adreslenebilir. Bitleri adreslenebilen SFR alanlarının adreslerinin sonu 0H ya da 8H değerindedir. Tüm bunların yanı sıra 8051 MCU' da; 2 adet 16 bitlik timer/event (zaman/olay) sayıcı Full dublex seri giriş/çıkış ara yüzü Boolean işlemler yapabilme Entegre üzerinde dahili osilatör İki öncelikli bölüm ile 5 interrupt kaynağı yapısı Çarpma,bölme,çıkarma ve karşılaştırma emirleri 3.5MHz-15MHz arası saat frekansı 128 Byte stack genişliği özellikleri de vardır CPU' nun bacak bağlantı yapısı şekil-2-6' da verilmiştir. Burada bulunan 4 port' un da ortak özellikleri çıkışlarının latch' lanmış, iki yönlü dahili pull-up' lıdır. Yani bir sonraki bilgi gelene kadar önceki bilgiyi portta tutar.

8 8 Şekil Mikrokontrolör Bacak Bağlantıları RST bacağı yüksekte iken ve osilatör çalışıyorken iki makine periyodu için CPU resetlenir. Sistem çalışıyorken RST pini 0V potansiyelinde ve reset anında +5V potansiyelinde olması gerekmektedir. Eğer sürekli olarak +5V seviyesinde ise CPU sürekli resetleniyor ve herhangi bir program icra edemiyor demektir. RxD ve TxD pinleri seri iletişim için data alma ve data gönderme işlevini yerine getirir. Şekil Bacak Yapısı INT0 veint1 pinleri harici interrupt giriş uçlarıdır. T0 ve T1 pinleri zamanlayıcı harici giriş uçlarıdır.

9 9 Şekil-2-7 Portların Giriş/Çıkış Durum Özellikleri Şekil-2-8 İki yönlü Çıkış Yapısı

10 10 Şekil-2-9 Open-Drain Çıkış Yapısı Şekil Push-Pull Çıkış Yapısı XTALL1 vextall2 pinleri ise CPU' nun dahili osilatörüne bağlı bacaklardır. Hem harici uygun frekanslı kristal bağlayarak hem de harici osilatör kullanarak CPU çalıştırılabilir. Şekil-2-11 Saat İşaretinin Üretilmesi İçin Kristal veya Harici Saat Kullanımı

11 11 Sistemin resetlenmesini sağlamak için şekil-2-12'deki devre (Power-ON Reset) kullanılabilir. Devreye bağlanan R ve C'nin değeri değiştirilerek reset süresi değiştirilebilir. Kurduğum devrede R=8.2K ve C=10nF'dır. Şekil Power-ON Reset Devresi Komut Kümesi 8051 komut kümesi üçe ayrılır. Bunlar ; veri transfer komutları, veri işleme komutları ev program akışı kontrol komutlarıdır. Gösterim İşlem Adresleme modları Dir Ind Reg Imm MOV A,<src> A = <src> * * * * MOV <dest>, A <dest> =A * * * MOV <dest>,<src> <dest>=<src> * * * * MOV DPTR, #data16 DPTR =16-bit ivedi sabit * PUSH <src> INC SP : <src> * POP <dest> : DEC SP * XCH A, <byte> ACC <byte> * * * XCHD A,@Ri (Düşük 4-bit) * Tablo-2-1 :Dahili Veri Hafıza Alanına Veri Transfer Komutları Adres genişliği Gösterim İşlem 8- bit MOVX Harici yi oku 8- bit A Harici yi yaz 16- bit MOVX Harici yi oku 16- bit Harici a yaz Tablo-2-2 :Harici Veri Hafıza Alanına Erişen Veri Transfer Komutları

12 12 Gösterim MOVC MOVC PC İşlem Prog. Oku Prog. (A+PC ) Hücresini Oku Tablo-2-3 : Tablo Okuma Komutları Gösterim İşlem Adresleme modları Dir Ind Reg Imm ADD A, <byte> A =A +<byte> * * * * ADDC A,<byte> A =A +<byte> +C * * * * SUBB A,<byte> A =A -<byte>- C * * * * INC A A =A +1 Sak. Özel (sadece ACC) INC <byte> <byte> =<byte>+1 * * * INC DPTR DPTR =DPTR +1 Sak. Özel (sadece DPTR) DEC A A=A-1 Sak. Özel (sadece ACC) DEC <byte>=<byte> -1 * * * MUL AB B:A =BxA Sak. Özel (sadece ACC ve B) DIV AB A =Int (A/B) Sak. Özel (sadece ACC ve B) B= Mod (A/B) Sak. Özel (sadece ACC) DIV A Ondalık Ayar Tablo-2-4: Aritmetik Komutlar Gösterim İşlem Adresleme modları Dir Ind Reg Imm ANL A,<byte> A = A AND<byte> * * * * ANL <byte>,a <byte> = <byte> AND A * ANL <byte>, #data <byte> = <byte> AND #data * ORL A, <byte> A=A OR <byte> * * * * ORL <byte>, A <byte> = <byte> OR A * ORL <byte>, #data <byte> = <byte> OR #data * XRL A, <byte> A= A XOR <byte> * * * * XRL <byte>, A <byte> = <byte> XOR A * XRL <byte>, #data <byte> = <byte> XOR #data * CLR A A =00H Sak. Özel (ACC) CPL A A=NOT A Sak. Özel (ACC) RL A ACC yi bir bit sola döndür. Sak. Özel (ACC) RLC A Sola CY üzerinden. Sak. Özel (ACC) RR A ACC yi bir-bit sağa döndür: Sak. Özel (ACC) RRC A Sağa CY üzerinden döndür. Sak. Özel (ACC) SWAP A ACC deki iki 4 bit i değiştir. Sak. Özel (ACC) Tablo-2-5 :Byte Tabanlı Lojik Komutlar

13 13 ANL C, bit ANL C, /bit ORL C, bit ORL C, /bit CLR C CLR bit CPL bit SETB C SETB bit Gösterim İşlem C bayrağını adreslenen bit ile AND le C bayrağını adreslenen bit in tersi ile AND le C bayrağını adreslenen bir ile OR la C bayrağını temizle Adreslenen bit i temizle C bayrağını tersle Adreslenen bit i tersle C bayrağını 1 le Adreslenen bit i 1 le Tablo-2-6 : Bit Tabanlı Lojik Komutlar Gösterim SJMP <rel data> Açıklama (Short Jump Kısa dallanma )operand 2-nin tümleyeni tek bir byte olup değeri PC ye eklenir. Bir sonraki komut, 127 byte ileri veya 128 byte gerideki bir komut olacaktır. AJMP <Address 11> (Absolute Jump- Mutlak Dallanma) Operand 11- bit bir adres olup Program Hafızanın o anki 2 Kbyte lık alanı içine karşı gelir. LJMP<Address 16> A + DPTR (Long Jump Uzun Dallanma) Operand 16- bit bir adres olup Program Hafızanın 64 Kbyte lik alanı içinde bir yere karşı gelir. (Long Jump Uzun Dallanma) Yürütülecek bir sonraki komutun adresi,acc ile DPTR ın toplamıdır. Tablo-2-7 : Durumdan Bağımsız Dallanma Komutları Gösterim ACALL<address 11> (Absolute Call) LCALL<address 16> (Long Call) RET (Return) RETI (Return from Interrupt) Açıklama PC yığın hafızaya atılır,11-bit adres PC ye yerleştirilir.11-bit adres ile,program Hafızada 2K byte lık bir alan içinde dallanma gerçekleşir. PC yığın hafızaya atılır,16-bit adres PC ye yerleştirilir.16-bit adres ile,program Hafızada 64K byte lık bir alan içinde dallanma gerçekleşir. Yığından,PC olarak alınacak değer okunur. Yığından PC olarak alınacak değer okunur ve kesme donanımı sıfırlanır. Tablo-2-8 : CALL ev RET komutları

14 14 Gösterim JZ<rel add> (jump if ACC zero) JNZ<rel add> (jump if ACC Notzero) JC<rel add> (jump if carry is set) JNC<rel add> (Jump if Carry not set) JB<bit>, < rel add> (jump if Bit set) JNB <bit>, < rel add> (jump if Bit not set) JBC <bit>, < rel add> (jump if Bit set and Clear bit) CJNE A, direct, <rel add> (Compare and Jump if not equal) CJNE A, # data, <rel add> (Compare and Jump if not equal) CJNE Rn, # data,< rel data> (Compare and Jump if not equal) data, < rel add > (Compare and Jump if not equal) DJNZ Rn, <rel add> (Decrement and Jump if not Zero) DJNZ direct,< rel add> (Decrement and Jump if not Zero) Açıklama Eğer ACC sıfır ise, 2 nin tümleyeni olan byte operand PC ye eklenir. Eğer ACC sıfır değil ise, 2 nin tümleyeni olan byte operand PC ye eklenir. Eğer elde bayrağı 1 ise, 2 nin tümleyeni olan byte operand PC ye eklenir. Eğer elde bayrağı 1değil ise, 2 nin tümleyeni olan byte operand PC ye eklenir. Eğer ilk operand (adreslenen bit) 1 ise, 2 nin tümleyeni olan ikinci byte operand PC ye eklenir. Eğer ilk operand (adreslenen bit) 1 değil ise, 2 nin tümleyeni olan ikinci byte operand PC ye eklenir. Eğer ilk operand (adreslenen bit) 1 ise, 2 nin tümleyeni olan ikinci byte operand PC ye eklenir. Komuttan sonra bit temizlenir. Birinci operand ACC ; ikinci bir dahili saklayıcı ; ve üçüncü, göreceli adres. Eğer ACC nin içeriği saklayıcıdan farklı ise, 2 nin tümleyeni olan üçüncü byte operand PC ye eklenir. Birinci operand ACC ; ikinci, bir sabit ; ve üçüncü, göreceli adres. Eğer ACC nin içeriği sabitden farklı ise, 2 nin tümleyeni olan üçüncü byte operand PC ye eklenir. Birinci operand Rn ;ikinci operand,bir sabit; ve üçüncü göreceli adres. Eğer Rn nin içeriği sabitten farklı ise 2 nin tümleyeni olan üçüncü byte operand PC ye eklenir. Birinci operand Ri ile işaretli byte; ikinci,bir sabit ; ve üçüncü göreceli adres. nin içeriği sabitten farklı ise 2 nin tümleyeni olan üçüncü byte operand PC ye eklenir. Birinci operand Rn ;ikinic,göreceli adres. Eğer azaltılan Rn içeriği sıfırdan farklı ise, 2 nin tümleyeni olan üçüncü byte operand PC ye eklenir. Birinci operand bir dahili saklayıcı; ikinci göreceli adres. Eğer azaltılan saklayıcının içeriği sıfırdan farklı ise, 2 nin tümleyeni olan üçüncü byte operand PC ye eklenir. Tablo2-9 : Duruma Bağımlı Dallanma Komutları

15 15 Gösterim ACALL<address 11> (Absolute Call) LCALL<address 16> (Long Call) RET (Return) RETI (Return from Interrupt) Açıklama PC yığın hafızaya atılır,11-bit adres PC ye yerleştirilir.11-bit adres ile,program Hafızada 2K byte lık bir alan içinde dallanma gerçekleşir. PC yığın hafızaya atılır,16-bit adres PC ye yerleştirilir.16-bit adres ile,program Hafızada 64K byte lık bir alan içinde dallanma gerçekleşir. Yığından,PC olarak alınacak değer okunur. Yığından PC olarak alınacak değer okunur ve kesme donanımı sıfırlanır. Tablo2-10 : CALL ve RET komutları Adresleme Modlarındaki Gösterim : Adresleme modlarında kullanılan gösterim aşağıda verilmektedir : Rn ACC PC : Aktif saklayıcı kümesindeki 8 saklayıcıdan biri. : Akümülatör : Program Counter direct : Dahili RAM bölgesinden, bit-adreslenebilir hafıza ve SFR lar dahil alana erişen 8- bit : Saklayıcı-dolaylı adresleme modunu gösterir. Aktif saklayıcı kümesinden sadece R0 ve R1 bu modda kullanılabilir. Ri dahili RAM bölgesinden, bit-adreslenebilir hafıza ve SFR lar dahil, 8-bit bir adres içerir. # data : İvedi adreslemede kullanılan 8-bit bir sabit,yani komutun içindeki veri. addr16 : 64 K program Hafıza içinde herhangi bir yere işaret eden iki byte adres. addr11 : Program Hafızada 2K lık blok içinde, herhangi bir yere işaret eden 11-bit adres. rel bit reg dir ind imm :Göreceli dallanmada kullanılan,ikinin tümleyeni ofset adres. Bu adres ile program akışı, PC yi takip eden öndeki 128 byte ve sonraki 127 byte lık bir alan içinde, dallanabilir. : Bit adreslenebilir RAM veya SFR ın 8-bit adresi. : Saklayıcı adresleme modu. : Doğrudan (direct ) adresleme. : Saklayıcı-dolaylı( register-indirect) adresleme modu. : İvedi (immediate) adresleme modu.

16 Interrupt Yapısı ROM' suz ve EPROM' lu versiyonlarda CPU' lar 5 interrupt kaynağına sahiptir. Bunlar; 2 harici interrupt, 2 timer interrupt ve seri port interrupt' ıdır. İnterrupt yetkileri: Interrupt kaynakları SFR içindeki IE registerinin bitleri set/reset (1/0) yapılarak yetkili veya yetkisiz kılınabilir. msb EA - - ES ET1 EX1 ET0 EX0 lsb INTERRUPT ENABLE (IE) REGISTER EA : Tüm interrupt' ları yetkisizleştirebilir. Eğer EA=0 ise interrupt' lar yetkisizdir ve EA=1 ise diğer interrupt bitleri set/reset' lenerek interrupt' lar yetkili/yetkisiz yapılabilir. ES : Seri port interrupt yetki biti ET1 : Timer1 taşma interrupt yetki biti EX1 : INT1 bacağından gelen interrupt yetki biti ET0 : Timer0 taşma interrupt yetki biti EX0 : INT0 bacağından gelen interrupt yetki biti Interrupt Öncelikleri: Interrupt öncelikleri SFR içindeki IP registerinin programlanması ile belirlenebilir. msb PS PT1 PX1 PT0 PX0 lsb INTERRUPT PRIORITY (IP) REGISTER PS : Seri port interrupt' ı öncelik kontrol biti. 0 ise düşük,1 ise yüksek öncelikli. PT1 : Timer1 Int. öncelik kontrol biti PX1 : INT1 bacağı Int. öncelik kontrol biti PT0 : Timer0 Int. öncelik kontrol biti PX0 : INT0 bacağı Int. öncelik kontrol biti Eğer farklı önceliklere sahip iki interrupt isteği eşzamanlı alındığında istek yüksek öncelikliye servis verilecektir. Eğer öncelikleri yazılımla tanımamışsak CPU kendi belirlediği interrupt öncelik sırasına göre hizmet verir. Buna göre en yüksek öncelikliden en düşük öncelikliye göre sıralanmış interrupt kaynakları şöyledir; IE0 TF0 IE1 TF1 RI ya da TI. İnterrupt yetki bayrakları setlenmiş interrupt alındığında LCALL emiri ile belirtilen adrese atlanılır ve gerekli servis programı çalıştırılır. LCALL emirinden önce programın

17 17 kesildiği yeri belirten PC (Program Counter)'nin içeriği otomatik olarak stack' e itilir ve işlem bitirildikten sonra tekrar otomatik olarak yüklenir. Eğer istenilen register' ların stack bellek' e itilmesi isteniyorsa bu işlem programcı tarafından yapılmalıdır. Örneğin ; PUSH IE MOV IE,#MASK CALL LABEL POP IE RET LABEL: RETI gibi Zamanlayıcı ve Sayıcı Yapısı (Timer / Counters) 8051 iki 16 bitlik Timers/Counters registeri içerir. Bunlar Timer0 ve Timer1'dir.Her ikisi de zamanlayıcı ya da olay sayıcı olarak konfigüre edilebilir. Timer (Zamanlayıcı) işlevinde, register her makine saykılın da bir arttırılır. Bir makine saykılı ise 12 osilatör periyoduna eşittir. Böylece sayma hızı (count rate) 1/12 osilatör frekansına eşitlenir. Counter (Olay sayıcı) işlevinde ise register harici giriş bacağı yerini tutan T0 vet1'deki her 1'den 0'a geçişte bir arttırılır. Timer0 ve Timer1 dört işlem moduna sahiptir. Zamanlayıcı ya da 'Olay sayıcı' işlevlerinin seçimi SFR' deki TMOD register' inin içindeki C/T kontrol biti ile sağlanır. Her iki zamanlayıcı TMOD içindeki M1-M0 bit çiftlerinin sayesinde dört işlem moduna sahip olur GATE C/T M1 M0 GATE C/T M1 M0 msb lsb TIMER-1 TIMER-0 TIMER/COUNTER MODE CONTROL (TMOD) REGISTER GATE: Kapı Kontrol Setlendiği zaman sadece INTX bacağı yüksek ve TRX kontrol biti 1 ise yetkili olur. Sıfırlandığı zaman, TRX kontrol biti 1 olduğunda Timer/Counter yetkilidir. C/T: Zamanlayıcı veya Sayıcı seçici Zamanlama işlevinde resetlenir Sayma işlevinde setlenir.

18 18 M1 M0 İşlem Modu 0 0 (Mode 0) MCS-48 ile aynı zamanlayıcı özelliğinde TLX 5 bitlik ön ölçeklendirici gibi servis verir. 0 1 (Mode 1) 16 bit zamanlayıcı. TLX ve THX kaskat bağlıdır. Ön ölçeklendirici yoktur. 1 0 (Mode 2) 8 bitlik otomatik yeniden yüklemeli Timer/Counter. 1 1 (Mode 3) TL0, standart Timer0 kontrol bitlerinin kontrol ettiği bir Timer/ Counter. TH0, Timer1 kontrol bitlerinin kontrol ettiği 8 bitlik bir zamanlayıcıdır. 1 1 Timer1 Timer/Counter durdurulmuştur. Mode-0 : Mode 0 'da 8051 timer aynen 8048 Timer' ın yerine konulabilir yani aynı özellikler gösterir. 8 bitlik sayıcı ve 5 bitlik ön ölçeklendirici. Bu modda zamanlama registeri 13 bit'e ayarlanabilir. 1'den 0'a geçişler sayılır ve Timer interrupt bayrağı olan TF1 setlenir. TR1=1 ve GATE=0 ya da INT1=1 gerçeklenirse sayılmış giriş yetkilidir. TR1 kontrol biti SFR' deki TCON 'da bulunur. GATE ise TMOD 'da bulunur. Mode-1: Mode 0 ile aynıdır,tek farkı Timer registerinin 16 bit olmasıdır. Mode-2: Timer register 8 bitlik Counter (TL1) ile otomatik yeniden yüklemeli olarak konfigüre edilebilir. TL1 'in yeniden yükleme değeri TH1'de saklanır. Yazılım ile presetlenebilir. TH1'in yeniden yükleme değeri değiştirilemez. Mode-3: Timer1 sayılacak değeri tutar. Etkin olabilmesi için TR1=0 'a setlenmelidir. Mode 3'de Timer0'ın TL0 ve TH0 iki ayrı sayıcı olarak atanır. Mode 3 bazı uygulamalar için gereken ekstra 8 bitlik Counter üzerindeki zamanlayıcı sağlar. Mode 3'de Timer 0 ile 8051 üç adet Timers/Counters' a sahip gibi görünür. Mode 3'de Timer/Counter, Seri port için Baud Rate üreteci gibi kullanılabilir ve interrupt istekleri oluşturmakta faydalana bilinir. TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 msb lsb TIMER/COUNTER CONTROL (TCON) REGISTER TF1/TF0: Timer 1/0 taşma bayrağı. Timer/Counter' da taşma olduğunda donanımla setlenir ve interrupt işlendiğinde resetlenir. TR1/TR0: Timer 1/0 koşma kontrol biti. Yazılım ile set/reset'lenir. IE1/IE0: Interrupt 1/0 üstünlük bayrağı. Harici interrupt üstünlüğü belirtildiğinde setlenir ve interrupt işleminde resetlenir. IT1/IT0: Interrupt 1/0 tipi kontrol biti. Yazılım ile set/reset'lenir.

19 Güç Kontrolu (Power Control) 8051'de güç harcamasını minimuma indirebilmek için iki yazılım seçim modu vardır. Bunlar; Idle ve Power Down Modlarıdır. CPU Idle modda iken dahili RAM, zamanlayıcı, seri port ve interrupt sistem fonsiyonlarının işlemesine izin verir. Power Down modunda iken sadece dahili RAM değerleri korunur ve diğer bütün fonksiyonlar işlevsizdir. Bu özel modlar yazılım yolu ile aktif hale geçerler. Aktif hale geçirmek için gerekli register SFR' deki PCON registeridir SMOD GF1 GF0 PD IDL msb lsb PCON(POWER CONTROL REGİSTER) SMOD : Çift veri iletim hızı (baud) oranı biti. Eğer setlenirse veri iletim hızı iki katına çıkar. Bu halde iken seri port varolan diğer modları kullanır. GF1 : Genel amaçlı bayrak biti. GF0 : Genel amaçlı bayrak biti. PD : Power Down biti. Bu bit setlenirse Power Down moduna girilir. IDL : Idle mode biti. Setlenirse Idle moduna girilir. Bazen aynı anda hem PD hem de IDL bitleri setlenmeye çalışılabilir. Bu durumda üstünlük PD' ye verilmiş olduğundan Power Down moduna girilir. PCON Registerinin reset değeri (0***0000)'dır IDLE Modu CPU, Idle modunda iken, Stack Pointer(SP), Program Counter (PC), Program Status Word(PSW), Akümülatör, Dahili RAM ve bütün diğer registerlerin değerleri korunur. Idle modu, donanım ile geçerli bazı interruptlar sayesinde PCON.0'ın resetlenmesi ile sona erdirilebilir. Bu modu sona erdirmenin diğer bir yolu ise donanım reseti vermektir. Önce osilatör koşturulur ve donanım resetinin aktif olabilmesi için yalnızca 2 makine saykılı (24 Osc. Periyodu) ile karşılaşılınca reset işlemi tamamlanacaktır POWER DOWN Modu PCON.1 bitinin setlenmesi ile aktif olur. Power Down' da osilatör durdurulur. Çipin üzerindeki RAM' ın ve SFR' nin içeriği bu modda korunur. Bu moddan çıkmanın tek yolu donanım reseti vermektir ama donanım reseti vermek SFR yeniden tanımlanmasına rağmen dahili RAM' ın içeriği değiştirilemez. Power Down modu ile devrede en küçük güç harcaması gerçekleşir ve Vcc gerilimi yaklaşık 2V seviyesini kadar indirilebilir. Ama Power Down moduna girilene kadar Vcc geriliminin

20 20 düşürülmemesi gerekir. Power Down moduna girildikten en az 10msn sonra Vcc erilimi 2V'a çekilebilir Mikrokontrolörlerde İletişim Data bir noktadan diğer bir noktaya iletilirken ya seri ya da paralel formatta düzenlenir. Her ikisinin de birbirine göre avantaj ve dezavantajlı olduğu yönler bulunmaktadır. Paralel data transferi genelde belirli sürede çok miktarda data transferinin gerektiği yerlerde kullanılır.(pc ile Printer arasındaki gibi). Seri data iletim metotlarında yüksek data transfer hızlarına erişilebilir fakat paralel data transferine göre en önemli üstünlüğü datanın iletilebilmesi için gerekli iletken sayısının paralele göre daha az olmasıdır Paralel Haberleşme Paralel data transferinde,bir bilgisayarın mikroişlemcisi ile çevre birimler arasındaki data bus üzerindeki bilgilerin iletimi gibi datalar bu metodda paralel olarak iletilir. Paralel ve seri data transferinde bir karakterin iletimi 8 bit ile yapılıyorsa, paralel data iletimi seri iletime göre daha hızlı olacağı hiç şüphesizdir. Çünkü seri data iletiminde bir karakter iletmek için 8t süre harcanıyorsa (start,stop ve parity bitleri hariç) paralel data iletiminde t kadar bir sürede işlem gerçeklenmiş olacaktır(buna diğer üç bitin eklenmediğine dikkat!). Paralel data iletiminde polling ve handshaking gibi kontrol işlemleri için de ayrı kabloların kullanılması maliyeti iyiden iyiye arttırmaktadır. Ayrıca uzak mesafelere iletimde sinyal zayıflamasını kompanze etmek için Repeater cihazının kullanılması ekonomikliği ortadan kaldırmaktadır. Böylece paralel data iletimi, bilgisayar sistemlerinin çevre birimlerle haberleşmesinde ve mesafenin kısa olması durumunda tercih edilebilir Seri Haberleşme Uzak mesafelere dataların paralel iletimi için kablo ve diğer masrafların çok olmasından dolayı bu durumda daha çok seri data iletimi tercih edilir. Tek bir iletim kanalı üzerinden belirli bir zamanda bir bit iletilmesi seri data transferi olarak adlandırılabilir. Seri iletişim kendi arasında ikiye ayrılır. Şimdi de bunlar hakkında kısa ve öz bilgiler verelim; Seri-Senkron Haberleşme Senkron seri data iletiminde önemli bir konu iletim kanalının iki ucundaki alıcı ve verici düzeneklerin birbiriyle her zaman senkronize çalışması gerekmesidir. Senkronizasyon işlemi ikinci bir iletim hattı üzerinden ortak bir clock (saat) sinyalinin hem alıcıya hem de vericiye gönderilmesi ile elde edilebilir. İletim kanalının her iki ucunda zamanlamayı sağlamak, senkronizasyonu elde etmek için her zaman bir ana saat sinyali kullanılır. Senkron seri data iletimi veri bloklarının hazır olduğu durumlarda

21 21 kullanılır. Örneğin ; Harddisk' teki bilgilerin karşı tarafa gönderilmesinde. Senkron iletişim asenkron iletişime göre daha karmaşıktır. Bunun ana nedeni alıcı ünitede Byte Eşzamanlısının yapılmasının gerekmesindendir Seri Asenkron Haberleşme Asenkron seri data iletimi, veri iletişiminde kullanılan en basit ve en kolay yöntemdir. Verimliliği düşük olduğu için düşük hızlardaki veri iletiminde daha çok kullanılır. Transmitter' den gönderilen her bir karakter 8 bit ile temsil edilir ve iletim sırasında veri karakterlerinin başına start biti (lojik - 0) ve sonuna parity (hata denetimi amacıyla) ile stop bitleri eklenir. Her bir data dizisinin ilk biti start bitidir, lojik-1'den lojik-0'a geçişle belirtilir ve bu start biti bir bit süresince lojik-0'da kalır. Ardından data bitleri gelir ve data biti sayısı 5..8 bit arası seçilebilir. Hemen ardından hata denetimi biti ve stop biti gelir. Stop biti 1,1.5 ve 2 bit sürelerinde seçilir ve bu süre boyunca lojik-1'de kalır. Hat boş iken aradaki hat sürekli lojik-1 seviyesinde tutulur. Bunun nedeni tabi ki hattaki gürültülerden etkilenmemek içindir. PC kullanıcıları data iletimi yapmak için bir RS-232 seri port' a ihtiyaç duyarlar. Bu konnektör için bacak numaraları ve sinyal adları aşağıdaki tabloda verilmiştir.

22 22 BACAK NO ORTAK İSİM RS232C İSMİ TANIM 1 AA Koruma toprağı 2 TxD BA Gönderilen data 3 RxD BB Alınan data 4 RTS CA Gönderme için istek 5 CTS CB Gönderme için serbest 6 DSR CC Veri kümesi hazır 7 GND AB Sinyal toprağı 8 CD CF Alınan hat sinyal algılayıcı 9 10 Veri kümesi testi için ayrılmış 11 Tanımlanmamış 12 SCF İkincil alınan hat sinyali algılayıcı 13 SCB İkincil gönderme serbest 14 SBA İkincil gönderme veri 15 DB İletim sinyal elemanı zayıflaması (DCE) 16 SBB İkincil alınan veri 17 DD Alıcı sinyal elemanı zayıflaması (DC) 18 Tanımlanmamış 19 SCA İkincil gönd.içn istek 20 DTR CD Veri terminali hazır 21 CG Sinyal kalitesi algılayıcı 22 CE Halka gösterge 23 CH/CI Veri sinyali hızı seçici(dte/ DCE) 24 DA İletken sinyal elemanı zayıflaması 25 Tanımlanmamış Tablo RS-232 Bacak Bağlantıları Tablosu

23 Standart Seri Arabirim 8051'deki seri portumuz Full -Dublex' tir. Yani hem alıcı hem de verici eşzamanlı olarak gerçeklenebilir. Seri portun alıcı ve verici (receiver - transmitter ) registerlerı SFR 'de SBUF adı ile bulunmaktadır. Gönderilecek bilgiler SBUF' a yazılır, alınacak bilgiler ise SBUF' dan okunur. Seri portun dört işlem modu vardır; Mode-0 : Seri data giriş ve çıkışı RxD üzerindendir. TxD çıkışı saat için kullanılır. Bu uç kaydırmalı-kaydedicileri (Shift -Register) uyarmak için kullanılabilir. 8 bit alınır/gönderilir. Mutlaka TTL veya CMOS kaydırmalı-kaydedicilerle senkronize I/O biçiminde kullanılmalıdır. Bu modun Baud Rate değeri 1/12 osilatör frekansına eşittir. Sistem seri ise bu modda hız, eğer osilatör 12MHz ise baud rate 1Mbit/sn gibi UART'nin çok üstünde bir değer olabilmektedir. Ayrıca paralel sistemlerde Shift - Register' den önce sadece iki hatta (RxD ve TxD) ihtiyaç duyması avantajdır. Mode-1 : 10 bit RxD ucundan ya da 10 bit TxD ucundan alınır/gönderilir. Bir adet başlama (start) biti,8 data biti ve birde durdurma (stop) biti bulunur. Alıcı durumda, durdurma biti SCON' daki RB8 bitinin içeriğine gider. Baud Rate değeri değişkendir. Mode-2 : 11 bit RxD ucundan ya da 11 bit TxD ucundan alınır/gönderilir. Bir start biti, 8 data biti, bir adet programlanabilir 9. data biti ve bir stop biti bu modda bulunur. Gönderici durumda 9. data biti SCON registerindeki TB8 bitinin içeriğine gider. Ya da örneğin, PSW 'nin içindeki P (parity bit),tb8 'in üzerine taşınabilir. Alıcı durumda 9.data biti SCON üzerindeki RB8 değerine gider (eğer stop bitine önem verilmezse).baud Rate değeri osilatör frekansının 1/32 veya 1/64 'ü olarak programlanabilir. Mode-3 : 11 bit RxD üzerinden veya 11 bit TxD üzerinden alınır/gönderilir. Bir start biti, 8 data biti, bir programlanabilir 9. data biti ve bir adet stop biti bulunur. Gerçekte Mode-3 ile Mode-2 arasındaki fark, Mode-3'ün istisnai Baud Rate değerlerine ayarlanabilmesidir. Yani Baud Rate değeri değişkendir. Tüm bu dört modda iletişim bazı komutların SBUF gibi tanımlama registerlerini kullanması ile sağlanır. SCON registerinin içeriği yalnız mod seçmek için gerekli bitleri içermeyip,alıcı ve verici için 9.biti (TB8 ve RB8) ve seri port interrupt bitleri olan RI ve TI 'yı da içerir. SM0 SM1 SM2 REN TB8 RB8 TI RI msb lsb SERİ PORT KONTROL (SCON) REGİSTER

24 24 SM0 SM1 mode Baud Rate Fosc/ Değişken Fosc/32 yada Fosc/ Değişken SM0, SM1, SM2 : Seri port modu kontrol biti. Yazılımla set / resetlenir. REN : Alma yetkili kontrol biti. Seri data alma yetkili/yetkisiz yapmak için yazılımla set / resetlenir. TB8 : 9. data bitinin (mode-2 ve 3'e göre) gönderilip gönderilmeyeceğini belirlemek için kullanılan yazılım ile set/resetlenebilen bitdir. RB8 : 9. data bitinin alınıp alınmayacağını belirlemek için kullanılan yazılım ile set/resetlenebilen bitdir. TI : Gönderme interrupt bayrağı. Byte gönderildiğinde donanım tarafından setlenir. İşlem tamamlandığında yazılım ile resetlenmelidir. RI : Alma interrupt bayrağı. Byte alındığında donanım tarafından setlenir. İşlem tamamlandıktan sonra yazılım ile resetlenmelidir Çokişlemcili Haberleşme (Multiprocessor Communications) Çokişlemcili Haberleşmede Mode-2 ve Mode-3 çok özel durumlara sahiptir. Bu modlarda 9.data biti kullanılabilir. Data alınırken 9.bit RB8'e yazılır ve arkasından stop biti gelir. Stop biti alındığında port programlanabilir böylece seri port interrupt' ı yalnız RB8=1 iken aktif olur. Bu özellik SCON üzerindeki SM2 bitinin setlenmesi ile geçerlidir. Bu özelliğin Çokişlemcili Haberleşme sistemlerinde kullanımı şu şekilde olabilir; Birincil(Master) işlemci bir ya da birkaç İkincil(Slave) işlemciye data bloklarını göndermek isterken,ilk olarak hedef slave işlemciyi tanımlayan adres byte' larını yollar. Burada adres byte' ı ile data byte' larının farkını 9.bit belirler. 9.bit 1 ise adres byte' ı, 0 ise data byte' ıdır. SM2=1 yapmak ile, data byte' ı ile slave işlemci interruptlanmayacaktır. Adres byte' ında tüm slave işlemciler interruptlanacaktır. Bu yüzden slave işlemciler eğer belirtilen adresin kendi başlangıç adresleri (kendilerine ayrılan adres ise) olup olmadığını aldıkları adres byte' ını inceleyerek anlayabilirler. Adreslenmiş olan slave işlemci kendi SM2 bitini temizleyecek ve gelecek olan data byte' larını almak için kendilerini hazırlayacaklardır. Yani slave işlemciler başlama adresi verildikten sonra bunun kendi adresleri olup olmadığını test edeceklerdir ve daha sonra gelecek dataları alarak işleyeceklerdir. SM2 (SCON.5) biti Mode-0 'da kullanım dışıdır ve Mode-1 'de stop bitinin sağlamlığını(doğruluğunu) test etmek için kullanılır. Mode-1 'de SM2=1 ise alınan interruptlar stop biti alınıncaya kadar aktif olmayacaktır.

25 BAUD RATE Değerleri Mode-0 'da baud rate değeri (osilatör frekansı/12) 'dir. Mode-2 'de PCON registerindeki SMOD biti 1 ise baud rate 1/32 ve SMOD 0 ise 1/64 osilatör frekansına eşittir. Mode-1 ve Mode-3 'de baud rate timer-1'in taşma zamanı (overflow rate) ile karakterize edilebilir. Timer-1 'in Baud Rate Generatörü Olarak Kullanılması: Timer-1 'in baud rate generatörü olarak kullanılırken, baud rate değeri SMOD bitinin ve Timer-1 taşma değerine göre karakterize edilmiştir. Bu uygulamada Timer-1 interrupt' ı geçersiz kılınacaktır. Mode-1,3 BR= (2 (SMOD) /32)*(Timer-1 taşma zamanı) BR : Baud Rate Timer-1 bazı durumlarda otomatik yeniden yüklemeli (Auto Reload Mode) modda konfigüre edilebilir. Bu durumda baud rate değeri ise; Mode-1,3 BR=(2* (SMOD) /32)*(O_Freq /(12*[256-(TH1)])) ile verilebilir.aşağıdaki tabloda Timer-1 ile çok kullanılan bazı baud rate değerlerinin elde edilmesi için gereken değerler verilmiştir. Baud Rate Mode-0 Max :1.67MHz Mode-2 Max : 625 khz Mode-1,3 Max : khz OSC_freq SMOD C/T Mode Reload (MHz) c=1,t=0 value 20 X X X X X X X FFh 19.2k FDh 9.6k FDh 4.8k FAh 2.4k F4h 1.2k E8h Dh h FEEBh { Timer-1 için }

26 26 Özetlenecek olursa seri port timer-1'in taşması tarafından saatlenecektir. Timer-1'in girişinde osilatör frekansı 12'ye bölünür ya da harici saat uygulanır. Mode-0'da 12MHz'lik bir kristal ile 1Mbit/sn ve Mode-2'de ise gene 12Mhz'lik kristal ile 187.5kHz'lik baud rate değerlerine erişilebilir. Mode-1,3'de ise baud rate timer-1'e bağlıdır ve timer yeniden yükleme değeri ile istenen frekansa eşitlenebilir. Şimdi bu yeniden yükleme değerinin nasıl hesaplandığına dair bir örneğe bakalım. UART işlem hızının 300 bps ve osilatör frekansının 12Mhz olduğu durumdaki yeniden yükleme değerini hesaplayalım; (ARV:Auto Reload Value) ARV=(Clock rate)/(12*32*bit rate) ; Eğer T1 üzerinden harici saat kullanılıyorsa; ARV=(Clock rate)/(32*bit rate) ; olur. Yaklaşık tamsayı olarak 104 kabul edilir ve Timer için aktüel değer =152=98h ' dir. Eğer TH1 98h değeri ile yüklenirse doğru hız olan 300 bps alınır. Buna göre bizim kullanacağımız sistemde 9600 bps için ve kristalinde 12MHZ olduğu kabulu ile hesap yapılacak olursa; ARV=12M/(12*32*9600)=3.25 olur. Yaklaşık olarak 3 kabul edilir ve 256-3=253d=0FCh bulunur PC Seri I/O Arayüz Cihazının Kontrolü ve Programlama Çalışmaları PC' lerde seri ara yüz I/O cihazı olarak 8250 entegresi kullanılmaktadır. PC' lerde genel olarak iki seri ve bir paralel portları vardır. Bu sayı genel kullanım için yeterlidir. Amaca göre istenildiğinde arttırılabilir. Sistemde bulunan seri port,taban vektör ve adresleri tabloda verilmiştir. COM :00400H 03F8H COM :00402H 02F8H COM :00404H 0378H COM :00406H 0278H Bu portların kullanımı için bazı registerlerin bulunması ve bunların gerekli değerlere setlenmeleri gereklidir. Bu registerler ;

27 27 1. Data Register 2. Interrupt Enable Register 3. Interrupt Identification Register 4. Data Format Register 5. Serial Control Register 6. Serial Status Register 7. Modem Status Register' dir. 1.Data Register: Data register göndermek ve almak için 1 byte tutar. İçindeki bitler alınacak veya gönderilecek bitleri tutar. Data Bit7 msb Data Bit6 Data Bit5 Data Bit4 Data Bit3 lsb Data Bit2 Data Bit1 Data Bit0 2.Interrupt Enable Register: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Bit0:Veri geldiğinde interrupt üret. Bit1:Veri gönderme işlemi tamamlandığında interrupt üret. Bit2:Hat durum değişikliğinde interrupt üret. Bit3:Modem hattı değişikliğinde interrupt üret. Bit4-7:Kullanılmaz. 3.Interrupt Identification Register: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Bit0:Interrupt bekliyor. Bit1-2: 00:Modem hattında değişiklik oldu. 01:Gönderme tamamlandı. 10:Veri geldi. 11:Hattın durumunda değişiklik oldu. Bit3-7:Kullanılmaz. 4.Data Format Register: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0

28 28 Bit0-1:Veri uzunluğu: 00 5bit 01 6bit 10 7bit 11 8bit Bit2:Durdurma biti sayısı: 0 1bit 1 2bit Bit3:Parity var/yok: 0 OFF 1 ON Bit4:Parity tek/çift: 0 Tek 1 Çift Bit5 : Stick parity Bit6 : Set Break Bit7 : Bölücüye erişim biti: 0 Diğer kütükler 1 Bölücü 5.Serial Control Register: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Bit0: Terminal iletişime hazır. Bit1: Gönderme isteği. Bit2: Out1 Bit3: Out2 Bit4: Geri beslemeli teste geç. Bit5-7:Kullanılmaz. 6.Serial Status Register : Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Bit0: Veri hazır. Bit1: Veri ezilmesi var. Bit2: Parity biti hatası var. Bit3: Zamanlama hatası. Bit4: Alıcı işlemi yarıda kesti. Bit5: Gönderme tamamlandı. Bit6: Kaydırma tamamlandı. Bit7 : Kullanılmaz.

29 29 7.Modem Status Register: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Bit0: CTS değişti. Bit1: DSR değişti Bit2: RI kesildi. Bit3: RLSD kesildi. Bit4: CTS' nine sıfıra tümleyeni. Bit5: DSR' nine sıfıra tümleyeni. Bit6: RI' nın sıfıra tümleyeni. Bit7: RLSD' nin sıfıra tümleyeni Program Communicatıons' un Açıklanması Procedure BaudRate Aktif: Data Format registerinin en anlamlı biti 1 yapılırsa, data register ile interrupt enable registeri baud rate değerinin belirlenmesinde kullanılabilir. Procedure' de data format registeri (2FB)' nin 8. Biti setlenmektedir. Procedure DataAktif : Data Format registerinin en anlamlı biti resetlenmektedir. Data ve Interrupt Enable registerleri asıl işlevlerinde kullanılmaya başlanır. Procedure DataHız Tanımı: BaudRate Aktif yapıldıktan sonra 2F8 ve 2F9 adreslerine verilen word baudrate değeri olarak yazılır. Procedure DataHız Tanımı: Baud rate değeri okunuyor. Procedure PortuSetle: Seçilen haberleşme portuna gerekli tanımlamalar yazıldı. Function InterruptDurumu: Interrupt ID registeri okunarak verinin geldiğini veya gönderildiğini belirler. Function PortuOku: Porttan gelen verinin okunmasını sağlar. Procedure PortaYaz : Porta bir byte' lık veriyi koyar. Gönderilecek karakter data registerine konulur. Function ByteToString: Byte olarak verilen veriyi string' e dönüştürür. Function StringToByte: String olarak verilen veriyi byte' a dönüştürür. Procedure SeriCom: PC' de 8051 işlemcisi için assembler program yazıp derlendikten sonra HEX uzantılı bir dosya oluşmaktadır. Bu HEX uzantılı dosya assembly emirlerin kodlarını ve adreslerini içermektedir. Dosyanın bir satırının formatı ;

30 30 dataların_uzunluğu+adres+kayıt_tipi+datalar+kontrol_byte'ı, şeklindedir. Bu procedure ile ismi verilen HEX uzantılı dosyadan okunmakta ve seri porttan gönderilmektedir. Program Communications; uses dos,crt; {*************************************************************} const {baud rate tanımlamaları} br_9600 =$000C; {parity biti tanımlamaları} pr_none =$00; pr_odd =$08; pr_even =$18; {data uzunluk tanımlamaları} dl_6 =$01; dl_7 =$02; dl_8 =$03; {stop biti tanımlamaları} sb_1 =$00; sb_2 =$04; {seri port tanımlamaları} com1 =0; com2 =1; {8250 entegresi içerisindeki register tanımlamaları} data =0; interrupt_enable =1; interrupt_identification =2; data_format =3; seri_control =4; seri_status =5; modem_status =6; yetkilendir =128; {register için port adresleri} regs:array[0..1,0..6] of word=(($3f8,$3f9,$3fa,$3fb,$3fc,$3fd,$3fe), ($2f8,$2f9,$2fa,$2fb,$2fc,$2fd,$2fe));

31 31 {interrupt_identification tanımlamaları} veri_geldi =4; veri_gonderme_tamamlandi =2; {Hexadecimal Rakamların Tanımlanması} Hexal:Array[1..16] of String[1]=('0','1','2','3','4','5','6','7', '8','9','A','B','C','D','E','F'); var sayih,sayil:byte; {ByteToString Function'u için} hsayih,hsayil:string[1]; {StringToByte Function'u için} ch:char; {*************************************************************} {data_format registerinin en anlamlı biti 1 yapılıyor} procedure BaudRateAktif(pn:byte); var temp:byte; begin temp:=port[regs[pn,data_format]] or yetkilendir; port[regs[pn,data_format]]:=temp; end; {*************************************************************} {data_format registerinin en anlamlı biti 0 yapılyor} procedure DataAktif(pn:byte); var temp:byte; begin temp:=port[regs[pn,data_format]] and (not yetkilendir); port[regs[pn,data_format]]:=temp; end; {*************************************************************} {baud_rate değeri ilgili registere yerleştiriliyor} procedure DataHizAyari(pn:byte;speed:word); begin baudrateaktif(pn); port[regs[pn,data]]:=lo(speed); port[regs[pn,data+1]]:=hi(speed); end; {*************************************************************} {byte tipinde olan register word olarak tanımlanıyor} function DataHiziTanimi(pn:byte):word; begin baudrateaktif(pn);

32 32 datahizitanimi:=portw[regs[pn,data]]; end; {*************************************************************} {seçilen haberleşme portunun tanımlaması yapılıyor} procedure PortuSetle(pn:byte;speed:word;parity,datalen,stopbits:byte); var kontrolreg:byte; begin datahizayari(pn,speed); kontrolreg:=parity or stopbits or datalen; port[regs[pn,data_format]]:=kontrolreg; end; {*************************************************************} {veri geldiğinde ilgili registeri setler} function InterruptDurumu(pn:byte):byte; var b:byte; begin b:=port[regs[pn,interrupt_identification]]; interruptdurumu:=b and (veri_gonderme_tamamlandi+veri_geldi); end; {*************************************************************} {port veri koruması için setleniyor veya okunuyor} function PortuOku(pn:byte):byte; begin dataaktif(pn); portuoku:=port[regs[pn,data]]; end; {*************************************************************} {data registerine bir byte yazar} procedure PortaYaz(pn:byte;ch:byte); begin dataaktif(pn); port[regs[pn,data]]:=ch; end; {*************************************************************} Function ByteToString(Sayi:Byte):String; Var HexSayi:String[2]; ie:byte; Begin SayiH:=Trunc(Sayi/16); SayiL:=Trunc(Sayi-SayiH*16); For ie:=0 to 15 do

33 33 if SayiH=ie then HexSayi:=Hexal[ie+1]; For ie:=0 to 15 do if SayiL=ie then HexSayi:=HexSayi+Hexal[ie+1]; ByteToString:=HexSayi; End; {*************************************************************} Function StringToByte(HexSayi1:String):Byte; Var Sayi1:Byte; ie:byte; Begin HSayiH:=(Copy(HexSayi1,1,1)); HSayiL:=(Copy(HexSayi1,2,1)); For ie:=0 to 15 do if HSayiH=Hexal[ie+1] then Sayi1:=ie*16; For ie:=0 to 15 do if HSayiL=Hexal[ie+1] then Sayi1:=Sayi1+ie; StringToByte:=Sayi1; End; {*************************************************************} Procedure SeriCom; Label Oku; Var DosyaAdi:String[50]; Run:String; Test:Boolean; PortOkunan:Byte; Dosya:Text; Uzunluk,KayitTipi,RamAdrH,RamAdrL,RamData:String[2]; UzunlukByte,RamAdrHByte,RamAdrLByte,RamDataByte:Byte; i,j:integer; Begin clrscr; TextBackGround(7);TextColor(0); GotoXY(18,12);Write('-'); for i:=19 to 66 do Begin GotoXY(i,12); Write('-'); End; GotoXY(67,12);Write('-'); GotoXY(18,20);Write('-'); for i:=19 to 66 do Begin GotoXY(i,20); Write('-'); End; GotoXY(67,20);Write('-');

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR: KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR: 1) Etkilenen Bayraklar (E.B.) : Bazı komutlar koşturulurken PSW saklayacısındaki bayrakların değeri değişebilir. Herbir komut için etkilenen bayraklar belirtilmiştir.

Detaylı

BÖLÜM 6 Seri Port Đşlemleri

BÖLÜM 6 Seri Port Đşlemleri C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 6 Seri Port Đşlemleri Amaçlar Seri haberleşmenin önemini kavramak 8051 seri port kontrol saklayıcılarını öğrenmek Seri port çalışma modları hakkında bilgi

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ı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 3 MSC-51 Ailesi Mikrodenetleyicilerin Komut Kümesi Mikroişlemci Programlama Mikroişlemci ikilik komutlar kabul eder ve sonuçlarını

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ı

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ Yrd.Doç.Dr.

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ı

Mikrobilgisayar Mimarisi ve Programlama

Mikrobilgisayar Mimarisi ve Programlama Mikrobilgisayar Mimarisi ve Programlama 2. Hafta Bellek Birimleri ve Programlamaya Giriş Doç. Dr. Akif KUTLU Ders web sitesi: http://www.8051turk.com/ http://microlab.sdu.edu.tr Bellekler Bellekler 0 veya

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ı

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ı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 6 Seri Veri İletimi ve 8051 in Seri Portunun Kullanımı 6 Seri Veri İletimi ve 8051 in Seri Portunun Kullanımı UART I2C SPI USB CAN

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ı

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

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 5 Seri Veri İletimi Seri Veri İletimi Uzun mesafeli, Düşük hızın yeterli olduğu durumlarda kullanılır. Senkron ve Asenkron olmak

Detaylı

Ayhan Yüksel. (Son güncelleme: 06.03.2013 Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları (06.03.2013)

Ayhan Yüksel. (Son güncelleme: 06.03.2013 Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları (06.03.2013) ADuC 841 μ-denetleyicisi Ayhan Yüksel (Son güncelleme: 06.03.2013 Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları (06.03.2013) 1 Sunum Planı Mikrodenetleyici ADuC841 mikrodenetleyicisi ADuC 841

Detaylı

Ad Soyad: Öğrenci No:

Ad Soyad: Öğrenci No: ADUC841 sayma değeri P3.4 (T0) osc E TH0 TL0 MOD Seçimi Taşma (overflow) TMOD 1. Giriş kaynağı kontrol GATE0 C/T0 M1 M0 3. Yenileme modu P3.2 (INT0) 2. Çalışma kontrol TCON TF0 TR0 Zamanlayıcı/Sayıcı-0

Detaylı

BÖLÜM in Bellek Organizasyonu

BÖLÜM in Bellek Organizasyonu C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 3 8051 in Bellek Organizasyonu Amaçlar 8051 mikrodenetleyicisinin bellek türlerini öğrenmek Dahili veri belleği (Internal RAM) hakkında bilgi sahibi olmak

Detaylı

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

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 3 LCD Gösterge Kullanımı +5 LCD Modülün Bağlantısı 8K2 1K +5 10 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 1 2 3

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ı

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ı

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

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma

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ı

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

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu BÖLÜM 7 7. ZAMANLAYICI/SAYICI YAPISI: 7.1. Sistem Saat üreteci ve Makine Çevrimi Bilgi: Saat üreteci bir mikrodenetleyicinin fonksiyonlarını yerine getirebilmesi için gerekli olan saat darbelerini üreten

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ı

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ı

8051 DONANIM ÖZELLİKLERİ

8051 DONANIM ÖZELLİKLERİ 8051 DONANIM ÖZELLİKLERİ Şekil 4.1 8051 Mikrocontrollerinin mimari Blok Diyagramı 36 4.1. ÖZEL FONKSİYON REGİSTERLERI (Special Function Registers / SFRs) 8051 mikrodenetleyicisi, pek çok çalışma moduna

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ı Zamanlayıcılar ve Sayıcılar Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt

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 3 Assembler Programlama ve Program Geliştirme Program Geliştirme Problem Tanımlama Bağlantı Şekli Algoritma Akış Diyagramı Kaynak

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ı

BÖLÜM 4. Dahili veri hafıza transfer komutlarının genel yapısı, mov <hedef>, <kaynak> şeklindedir

BÖLÜM 4. Dahili veri hafıza transfer komutlarının genel yapısı, mov <hedef>, <kaynak> şeklindedir BÖLÜM 4 4. 8051 KOMUT KÜMESİ Farklı uzunlukta (1, 2 ve 3 Byte) ve farklı koşturma sürelerine (1,2,3 ve 4 makine çevrimi) sahip 255 komuttan oluşan ve Ek-1 de detaylı açıklamaları ile birlikte verilen 8051

Detaylı

8051 Mikrokontrolcü Ailesi

8051 Mikrokontrolcü Ailesi 8051 Mikrokontrolcü Ailesi 8051 mikrokontrolcü entegrenin temel blok iç şeması aşağıda gösterilmiştir. İç hafıza olarak 8051 entegre 4Kx8 ROM iç hafızaya, ve 128x8 RAM iç hafızaya sahiptir. Entegre iki

Detaylı

BÖLÜM 7 Kesmeler.

BÖLÜM 7 Kesmeler. C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 7 Kesmeler www.8051turk.com Amaçlar Kesme tanımını ve önemini kavramak 8051 mikrodenetleyicisinin kesme yapısını öğrenmek 8051 de kullanılan kesme türlerini

Detaylı

ADCCON1: MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C

ADCCON1: MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C CFG841 Saklayıcısı ADUC841 mimarisinde yer alan çeşitli çevre birimlerinin ayarının yapıldığı CFG841 SFR si bit adreslenemez. Reset sonrası başlangıç değeri 10h dir. CFG841: EXSP PWPO DBUF EPM2 EPM1 EPM0

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 5 Zamanlayıcılar Zamanlayıcı/Sayıcı 3 Zamanlayıcı/Sayıcı Zamanlayıcı: Zaman geciktirici olarak kullanıldığında verilen isim. Sayıcı:

Detaylı

Mikrobilgisayar Donanımı

Mikrobilgisayar Donanımı KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ MĠKROĠġLEMCĠ LABORATUARI Mikrobilgisayar Donanımı 1. GiriĢ Bu deneyde 16 bit işlemci mimarisine dayalı 80286 mikroişlemcisini kullanan DIGIAC

Detaylı

8051 MİMARİSİ. Temel mimari yapısı Şekil 3.1 de görülmekte olan 8051 mikrodenetleyici ailesinin başlıca özellikleri aşağıda verilmiştir.

8051 MİMARİSİ. Temel mimari yapısı Şekil 3.1 de görülmekte olan 8051 mikrodenetleyici ailesinin başlıca özellikleri aşağıda verilmiştir. 8051 MİMARİSİ Temel mimari yapısı Şekil 3.1 de görülmekte olan 8051 mikrodenetleyici ailesinin başlıca özellikleri aşağıda verilmiştir. Kontrol uygulamaları için optimize edilmiş 8 bitlik CPU Genişletilmiş

Detaylı

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür. İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 1 Adresleme modları

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ı

BÖLÜM 3 3.1. 8051 MİKROİŞLEMCİSİ

BÖLÜM 3 3.1. 8051 MİKROİŞLEMCİSİ BÖLÜM 3 31 8051 MİKROİŞLEMCİSİ Standart 8051: 8051 Intel firması tarafından, 1980 lerin başında piyasaya sunulan, dünyanın en popüler 8-bit mikroişlemcisidir Bu mikroişlemci için, başta Intel olmak üzere,

Detaylı

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

Mikroişlemciler-IMikrodenetleyiciler. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu Mikroişlemciler-I Mikrodenetleyiciler Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu 2014 Sunuma Genel Bakış Sunuma Genel Bakış I 1 Mikrodenetleyiciler 8051 Mikrodenetleyici Ailesi 8051 Mikrodenetleyicisinin

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ı

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1 Von Neumann Mimarisi Mikroişlemciler ve Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar

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 7 Kesmeler Kesme (Interrupt) Donanım işareti ile mikroişlemcinin program akışını değiştirme işlemine kesme denir. Kullanım amacı;

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ı

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları Paralel ve Seri İletişim Şekil1a: Paralel İletişim Şekil1b. Seri iletişim Şekil 2: İletişim Modları Asenkron/Senkron İletişim PROTEUS/ISIS SANAL SERİ PORT ile C# USART HABERLEŞMESİ Seri iletişimde, saniyedeki

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ı

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ı

8086 Mikroişlemcisi Komut Seti

8086 Mikroişlemcisi Komut Seti 8086 Mikroişlemcisi Komut Seti X86 tabanlı mikroişlemcilerin icra ettiği makine kodları sabit olmasına rağmen, programlama dillerinin komut ve ifadeleri farklı olabilir. Assembly programlama dilininde

Detaylı

Mikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin

Mikrobilgisayarlar ve Assembler. Bahar Dönemi. Vedat Marttin Mikrobilgisayarlar ve Assembler Bahar Dönemi Vedat Marttin Bellek Haritası Mikroişlemcili örnek bir RAM, ROM ve G/Ç adres sahalarının da dahil olduğu toplam adres uzayının gösterilmesinde kullanılan sisteme

Detaylı

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar Adresleme Modları 1 Adresleme Modları İşlenenin nerede olacağını belirtmek için kullanılırlar. Kod çözme aşamasında adresleme yöntemi belirlenir ve işlenenin nerede bulunacağı hesaplanır. Mikroişlemcide

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ı

BİLGİSAYAR KONTROLLÜ KAMERALI ROBOT KOL PROJESİ

BİLGİSAYAR KONTROLLÜ KAMERALI ROBOT KOL PROJESİ ELEKTRİK MÜHENDİSLERİ ODASI İSTANBUL ŞUBESİ 2004-2005 ÖĞRETİM YILI PROJE YARIŞMASI BİLGİSAYAR KONTROLLÜ KAMERALI ROBOT KOL PROJESİ Proje Yöneticisi : Yrd. Doç. Dr. Lale ÖZYILMAZ HAZIRLAYANLAR Dinçer ÖZGÜR

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 Operand türleri Assembly dili 2 İşlemcinin yapacağı iş makine komutlarıyla belirlenir. İşlemcinin

Detaylı

Çalışma Açısından Bilgisayarlar

Çalışma Açısından Bilgisayarlar Çalışma Açısından Bilgisayarlar Ölçme sistemi ile hesaplama sistemi birbiriyle ilgili olmasına rağmen aynı değillerdir. Suyun sıcaklığı ve gürültünün şiddeti ile evdeki lambaların ölçülmesi aynı değillerdir.

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1 SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1 Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ

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ı

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ı

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü 1 BİLGİSAYAR MİMARİSİ Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü http:// http:// Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

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ı Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ Yrd.Doç.Dr. Murat

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ı

İletişim Protokolleri (Communication Protocols)

İletişim Protokolleri (Communication Protocols) İletişim Protokolleri (Communication Protocols) Arduino dış dünya ile iletişim kurabilmek için genel amaçlı i/o pinleri önceki konu başlığında incelenmişti. LED, buton, role vb. cihazlardan girdi almak

Detaylı

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri Öğrenci No Ad-Soyad Puan Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri S1) 8086 mikroişlemcisi bitlik adres yoluna ve.. bitlik veri yoluna sahip bir işlemcidir. S2) 8086 Mikroişlemci mimarisinde paralel

Detaylı

Y. Müh. Ayhan Yüksel. (Son güncelleme: Zafer Đşcan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

Y. Müh. Ayhan Yüksel. (Son güncelleme: Zafer Đşcan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( ) ADuC 841 μ-denetleyicisi (2) Y. Müh. Ayhan Yüksel (Son güncelleme: 07.03.2012 - Zafer Đşcan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları (07.03.2012) Sunum Planı Mikrodenetleyici Çevre Elemanları ADC

Detaylı

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-1/ Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi

Detaylı

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU ÖNSÖZ: Delta IFD8520 izoleli adreslenebilir RS-232 RS-422/RS-485 çevirici, RS-422/RS-485 'den RS-232 protokolüne haberleşme arabirimi

Detaylı

UYGULAMA-2 1. ÖZET 2. UYGULAMALAR. 2.1 PORT2 nin kullanımı

UYGULAMA-2 1. ÖZET 2. UYGULAMALAR. 2.1 PORT2 nin kullanımı UYGULAMA-2 1. ÖZET Bu uygulamada ADuC 841 µ-denetleyicisine ait ASM komutlarının, zamanlama biriminin, ADC / DAC birimlerinin, seri portun ve kesmelerin kullanımı ile ilgili çalışmalar yapılacaktır. Bu

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ı

Kesmeler (Interrupts)

Kesmeler (Interrupts) Kesmeler (Interrupts) Kesme, isminden de anlaşılacağı üzere yürütülmekte olan işlemi kesen (geçici olarak durduran) ve derhal cevaplandırılması gereken, iç veya dış kaynağa bağlı olarak yazılımsal/donanımsal

Detaylı

Bölüm 4 Aritmetik Devreler

Bölüm 4 Aritmetik Devreler Bölüm 4 Aritmetik Devreler DENEY 4- Aritmetik Lojik Ünite Devresi DENEYİN AMACI. Aritmetik lojik birimin (ALU) işlevlerini ve uygulamalarını anlamak. 2. 748 ALU tümdevresi ile aritmetik ve lojik işlemler

Detaylı

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR Toplama (Addition) Toplama (ADD) belirtilen iki yazaç veya yazaç ile belleğin içeriğini toplar ve kullanılan adresleme moduna göre sonucu belirtilen yazaca

Detaylı

MİKROBİLGİSAYAR LABORATUVARI DENEY RAPORU

MİKROBİLGİSAYAR LABORATUVARI DENEY RAPORU İ.T.Ü. Elektrik-Elektronik Fakültesi Bilgisayar Mühendisliği Bölümü MİKROBİLGİSAYAR LABORATUVARI DENEY RAPORU Deney No: 7 Deney Adı: Asenkron Seri İletişim Arabirimi (ASİA) Deney Tarihi: 05.12.2003 Grup:

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ı

XC8 ile PİC uygulamaları

XC8 ile PİC uygulamaları XC8 ile PİC uygulamaları Modül tanıtımı : LCD kullanımı Öncelikle Lcd nedir ne değildir biraz tanımamız gerekiyor. LED göstergelerin fazla akım çekmesi ve kullanım zorluğu, son yıllarda LCD göstergelerin

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 Processor organization Register organization Instruction cycle 2 Processor organization İşlemci

Detaylı

Komutların Yürütülmesi

Komutların Yürütülmesi Komutların Yürütülmesi Bilgisayar Bileşenleri: Genel Görünüm Program Sayacı Komut kaydedicisi Bellek Adres Kaydedicisi Ara Bellek kaydedicisi G/Ç Adres Kaydedicisi G/Ç ara bellek kaydedicisi 1 Sistem Yolu

Detaylı

Mikrobilgisayar Sistemleri ve Assembler

Mikrobilgisayar Sistemleri ve Assembler Mikrobilgisayar Sistemleri ve Assembler Bahar Dönemi Öğr.Gör. Vedat MARTTİN Konu Başlıkları Mikrobilgisayar sisteminin genel yapısı,mimariler,merkezi işlem Birimi RAM ve ROM bellek özellikleri ve Çeşitleri

Detaylı

8. MİKROİŞLEMCİ MİMARİSİ

8. MİKROİŞLEMCİ MİMARİSİ 1 8. MİKROİŞLEMCİ MİMARİSİ Gelişen donanım ve yazılım teknolojilerine ve yonga üreticisine bağlı olarak mikroişlemcilerin farklı komut tipleri, çalışma hızı ve şekilleri vb. gibi donanım ve yazılım özellikleri

Detaylı

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

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN Merkezi İşlemci Biriminde İletişim Yolları Mikroişlemcide işlenmesi gereken komutları taşıyan hatlar yanında, işlenecek verileri taşıyan hatlar ve kesme işlemlerini

Detaylı

KASIRGA 4. GELİŞME RAPORU

KASIRGA 4. GELİŞME RAPORU KASIRGA 4. GELİŞME RAPORU 14.07.2008 Ankara İçindekiler İçindekiler... 2 Giriş... 3 Kasırga Birimleri... 3 Program Sayacı Birimi... 3 Bellek Birimi... 3 Yönlendirme Birimi... 4 Denetim Birimi... 4 İşlem

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

Mikrodenetleyiciler İ ZMİ R 8051 Uygulamaları

Mikrodenetleyiciler İ ZMİ R 8051 Uygulamaları EGE ÜNİVERSİTESİ EGE MESLEK YÜKSEKOKULU Mikrodenetleyiciler 8051 Uygulamaları Yrd. Doç. Dr. Mustafa Engin 2014 Mikrodenetleyiciler İ ZMİ R 8051 Uygulamaları EGE ÜNİVERSİTESİ EGE MESLEK YÜKSEKOKULU Mikrodenetleyiciler

Detaylı

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar (1946) Transistörün bulunuşu (1947) İlk transistörlü

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ı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ 8259 PIC (Programmable Interrupt Controller) ve 8086 CPU tümleşik devrelerin sinyal akışı

Detaylı

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman WiFi RS232 Converter Sayfa 1 / 12 WiFi RS232 Converter Teknik Döküman WiFi RS232 Converter Sayfa 2 / 12 1. ÖZELLĐKLER 60.20mm x 40.0mm devre boyutları (5-15)VDC giriş gerilimi Giriş ve çalışma gerilimini

Detaylı

8086 Mikroişlemcisi Komut Seti

8086 Mikroişlemcisi Komut Seti 8086 Mikroişlemcisi Komut Seti SUB ve SBB komutları: SUB (Subtract) yani çıkartma SBB ise borç ile çıkart (SuBtract with Borrow) anlamına gelir. Her iki çıkartma işlemi bir çıkartma sonucu üretmenin yanı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ı

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ı

İş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ı

C-Serisi PLC İleri Seviye Eğitim

C-Serisi PLC İleri Seviye Eğitim C-Serisi PLC İleri Seviye Eğitim 1 PLC ye Giriş 2 PLC ye Giriş 3 PLC ye Giriş CJ1 I/O Modülleri - 8/16/32/64pts Max I/O - 160,640 Max Program Kapasitesi - 20K Steps Komut sayısı - 400 4 PLC Ladder Diyagram

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ı

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı 80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi Özet Murat ÇAKIROĞLU 1 Ahmet Turan ÖZCRİT 1 alil İbrahim SKİKURT 1 Özdemir ÇTİN 1 1 Sakarya Üniversitesi,

Detaylı

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR GÖMÜLÜ PROGRAMLAMA Selçuk Üniversitesi Bilgisayar Mühendisliği Bölümü 2012-2013 Bahar Dönemi Doç.Dr.Erkan ÜLKER 1 İçerik 1. Adresleme Modları 2. İskelet Program

Detaylı

Alt Programdan Ana Programa Dönüş Adresine Donanım Tarafından Hesaplanması

Alt Programdan Ana Programa Dönüş Adresine Donanım Tarafından Hesaplanması 4.3.1 Duruma Bağlı Dallanma ve Alt Program Bir programın yazımı esnasında, program içerisinde birden fazla koşturulacak olan kodlar olabilir. Bu kodların gerekli olduğu her yerde tekrar yazılması program

Detaylı

BEKLEMELĐ ÇALIŞMA VE ZAMAN SINIRLI ĐŞLER. 1. Genel Tanıtım. 2- WAIT işaretinin üretilmesi

BEKLEMELĐ ÇALIŞMA VE ZAMAN SINIRLI ĐŞLER. 1. Genel Tanıtım. 2- WAIT işaretinin üretilmesi K TÜ Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemciler Laboratuarı BEKLEMELĐ ÇALIŞMA VE ZAMAN SINIRLI ĐŞLER 1. Genel Tanıtım CPU lar bazı çevre birimlerine göre daha hızlı çalışabilir

Detaylı

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir. Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir. Bunun için X86 PC Assembly dili, Power PC Assembly dili veya 8051 Assembly

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ı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN Mikroişlemci Nedir? Bir bilgisayarın en önemli parçası Mikroişlemcisidir. Hiçbir bilgisayar mikroişlemci olmadan çalışamaz. Bu nedenle Mikroişlemci

Detaylı

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1 Program Kontrol Komutları Mikroişlemciler ve Mikrobilgisayarlar 1 Bu başlık, altında incelenecek olan komutlar program akışını oluşan bazı koşullara göre değiştirmektedirler Program akışında meydana gelen

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ı