MİKRODENETLEYİCİ-3


 MCS–51 AİLESİ MİKRODENETLEYİCİLER




            GİRİŞ

8051 mikrodenetleyicileri ilk olarak INTEL tarafından 1980 yılında üretilmiştir. MCS– 51 ailesi mikrodenetleyiciler olarak ta adlandırılan 8051’in kullanım haklarını INTEL 30’dan fazla fimaya satmıştır. 1990’lı yıllardan başlayarak Intel 8051 üretimini kademeli olarak durdurmasına rağmen kullanım hakkını alan 30’dan fazla firma çekirdek yapısına ve komut setine sadık kalarak gününüz ihtiyaçlarına yanıt verecek şekilde geliştirerek günümüze kadar güncel kalmasını sağlamıştır. Ayrıca KEIL, IAR, NOHAU, TASKING, RAISONANCE gibi birçok firma ise geniş bir donanım ve yazılım geliştirme araçları desteği sunmaktadır. Bunun sonucu olarak 8051 ailesi, 1980’lerden bugüne bir endüstri standardı olmuştur.

 Pek çok üretici firma, orijinal 8051’e çeşitli ek özellikler katarak türev ürünler geliştirmiştir. Çok değişik 8051 türev ürünler bulunmasına rağmen komut seti ve çekirdek yapı olarak bütün ürünler uyumludur. 8051 çekirdek mimarisi en basitten en karmaşığına kadar her türlü endüstriyel otomasyon uygulamalarında kullanıma uygundur. Piyasaya ilk sunuldukları tarihte 12 MHz’lik modelleri bir saniyede 1 milyon (1 MIPS, Mega Instruction Per Second) komut yürütüyorken yeni türevlerde 24 MIPS, 50 MIPS ve 100 MIPS’lik hızlara ulaşılmıştır. 8051 Ailesi ürünlerin teknik ve ticari avantajlarının yanı sıra eğitimde de kullanmanın birçok avantajı vardır. 8051 hakkında birçok ders kitabı, teknik doküman, yazılım ve donanım gereçleri, pek çok İnternet Web Sayfası mevcuttur.. Diğer bir kolaylığı ise 8051 mikrodenetleyicisini birçok elektronik parça satan firmadan ucuz olarak temin edilebilmesidir. Mikroişlemci‐mikrodenetleyici derslerinde her hangi bir mimari yapının öğretilmesi halinde bir başka mimari yapıya sahip aileye uyum sağlamak çok fazla zaman almayacaktır. Ancak olanaklar elverdiğince piyasada yaygın kullanılan bir mikrodenetleyici ailesinin seçilmiş olması öğrencilerin iş hayatına uyumunu hızlandıracaktır. 


       MCS–51 AİLESİ MİKRODENETLEYİCİLER

MCS–51 ailesi mikrodenetleyicilerin ilk üyesi 8051’dir. Üzerinde 4 Kbayt bir defa programlanabilir (OTP) tipi ROM program belleği yer alır. Bu ilk ürünün ismi çoğu zaman ailenin genel adı olarak söylenir. Birçok kaynak ya da kişi “MCS–51 ailesi mikrodenetleyiciler” yerine “8051 ailesi” kısaltmasını kullanmaktadır. Ailenin ilk üyesinin özelliklerini şöyle sıralayabiliriz.

 8 bit Mikroişlemci,
 Mantıksal işlemler yapabilen işlemci,
 4x8 biçiminde düzenlenmiş, 32 adet Giriş/Çıkış hattı,
 128 bayt RAM bellek,
 ROM veya bazı modellerinde EPROM, FLASH bellek
 128 adet bit adreslenebilen bellek hücresi,
 ACC ve B yazacına ek olarak 8 adet yazaç (R0, R1, ...., R7),
 Programlanabilir çift yönlü (full‐duplex) seri port,
 Üzerinde var olan iç belleklere ek olarak dış bellekler ekleyebilme özelliği,
 İki adet 16 Bitlik zamanlayıcı/sayıcı,
 İki öncelik düzeyi olan beş adet kesme kaynağı,


8051’in program belleği ROM belleğin içeriğinin değiştirilememesi bazı kullanıcıların işini zorlaştırmıştır. Bu sorun program belleği EPROM olan 8751 üretilerek giderilmiştir. Bu ürünün içerisinde 8051’den farklı olarak 4 kbayt EPROM bellek kullanılmıştır. 8751’in iç program belleği özel programlayıcı ile programlanabir, programı değiştirmek istediğimizde EPROM silici ultraviyole ışık ile 15 dakidada silinip tekrar programlanabilir. Programlama silme aygıtlarının pahalı olması nedeniyle birçok amatör kullanıcı 8751’i kullanamamıştır. Amatör kullanıcılar için fiyatı ucuz iç program belleği olmayan fakat diğer özellikleri 8051’ile aynı olan 8031 üretilmiştir. Daha sonraki yıllarda program ve veri belleklerinin gereksinimi karşılamaması nedeniyle bellek miktarları iki katına çıkarılmıştır. 8051’in ROM program belleği 8 Kbayt’a ve RAM veri belleği 256 Bayt çıkarılmış ve 8052, 8751 EPROM program belleği 8 Kbayt’a ve RAM veri belleği 256 Bayt çıkarılmış ve 8752, 8031’in ise veri belleği 256 bayta çıkarılmış ve 8032 olarak adlandırılmıştır. Çizelge– 2.1’de 8051 ailesi mikrodenetleyicilerin en temel üyelerinin özellikleri gösterilmiştir.



1990’lı yıllardan sonra tümdevre (on chip) üzerinde yer alan program belleği önce EEPROM bellekle değiştirilmiş böylece elektrik ile silinebilir hale gelmiştir. Daha sonraki yıllarda daha ucuz üretim teknolojisine sahip FLASH EEPROM üretilmiş ve program bellekleri bu tür bellek kullanılarak üretilmeye başlanmıştır. Intel ve bazı firmalar bu tür belleğe sahip MCS ailesi ürünleri 89FXX olarak adlandırmışlardır. FLASH EEPROM belleklerin yama silme adedi 1000 defadır, bu adet aşıldıktan sonra en son yapılan program bellekte kalır yeni yazma yapılamaz. Günümüzde üretilen 8051 türevlerini programlamak için özel programlayıcıya gereksinim yoktur. Üretici firmaya bağlı olarak bilgisayarın seri, paralel ve USB portunu kullanarak yapılacak basit bir devre ile hızlı bir şekilde programlama yapılabilmektedir. Hatta adım modunda çalıştırılarak yazaçların içerikleri okunarak program hataları belirlenebilmektedir. 8051’in satış fiyatları içerisinde yer alan birime bağlı olarak bir € ile 50 € aralığında değişmektedir. 1985 yılından sonra Intel firması MCS–51 ailesi mikrodenetleyicilerin çekirdek yapısı ve komut setinin kullanım hakkını diğer firmalara satmaya başlamış ve günümüzde birçok firma tarafından 8051 çekirdeği ve komut kümesi kullanılmaktadır. Bu firmalar kendi kullanım alanlarına göre uygulamaya özel, her tüketiciye uygun 8051 çeşitleri üretmişlerdir. Bu özelliklerin bazılarını şöyle yazabiliriz.

 Programlanabilir sayıcı dizisi (PCA),
 Analog sayısal ve Sayısal analog dönüştürücüler,
 SPI, USB, I2C ve Microwire gibi seri haberleşme kanalları,
 CAN denetleyici,
 PWM,
 LCD sürücü birimi,
 RAM, EEPROM veri bellekleri.





8051 mikrodenetleyici olduğu için denetim uygulamalarında kullanılmak üzere  geliştirilmiştir. Diğer yandan 8051 ile aynı yıllarda üretime başlayan 8088  mikroişlemcisi bilgisayarlarda kullanılmak üzere geliştirilmiş ve bugün Pentium ailesi olarak devam etmektedir. 8051 ile Pentium ailesi mikroişlemcilerin özelliklerinin karşılaştırılması çizelge–2.2’de gösterilmiştir. 

Şekil–2.1’de 8051’in mantık simgesi ve bacak bağlantısı verilmiştir. 8051’in 40 bacağından 32 tanesi I/O hattıdır. Geriye kalan 8 bacak ise besleme ve denetim hatlarıdır. 32 I/O hattı 4 adet 8 hatlı port olarak adlandırılır. Bu portların I/O hattı dışında ikincil görevleri vardır. Eğer dış veri ve program belleği tasarlanan sistemde gerekli değilse bu hatlar serbest I/O hattı gibi kullanılabilirler. 


               
             8051’İN ÇEKİRDEK YAPISI

8051 MİB’inin içerisinde 8 bit ALU (Arithmetic Logic Unit), 8 bit A akümülatörü ve 8 bit B akümülatörü yer alır. Bunların dışında her MİB’de bulunması gereken komut yazacı, kod çözme birimi, port tutucuları ve sürücüleri, zamanlama ve kesme öncelikleme birimleri yer alır. Bu yapının tanınması program yazımı sırasında mikrodenetleyicinin daha etkin kullanılmasını sağlar. Şekil–2.2’de 8051’in basitleştirilmiş yazaç yapısı gösterilmiştir. 8051’de mikroişlemciden farklı olarak iç RAM bellek birimi ile zamanlayıcı ve seri port denetim birimleride çekirdek yapı içerisine alınmıştır. Diğer birçok mikroişlemciden farklı olarak A ve B yazaçlarınında adresleri vardır. 



        DENETİM HATLARI

8051’in denetim hatları osilatör girişleri, reset girişi ve dış bellek kullanımını sağlayan PSEN, ALE, EA hatlarından oluşmaktadır. Dış bellek kullanılmadığında bazı denetim hatları işlevsiz kalır, bu sebeple yeni türev 8051’lerde bu hatlar yer almayabilir. Bazılarında ise programlama sırasında yapılan seçimle etkin yapılabilir. 


                 
             PSEN

Dış program belleğinden okuma yapan işaret çıkışıdır, program belleğinin (EPROM’un) OE girişine bağlanır. PSEN çıkışı dış bellekten program işletilirken komutun okunması sırasında düşük seviyeli vuru verir. Bu işaret etkin olduğunda adres yolu tarafından seçilmiş bellek satırının içeriği veri yoluna aktarılır. İç bellekten program işletildiğinde etkin olmaz.

                ALE

Bu işaret PORT 0 adres ve veri yolu olarak kullanıldığında veri bilgisi ile adres bilgisinin demultiplex edilmesini sağlar. Dış bellekten işlem yapma saykılının ilk yarısında adres bilgisi PORT 0’a yazılır ve bu periyodun sonunda ALE işareti etkin yapılarak Port 0’ın içeriği D tutucu çıkışına aktarılır. Saykılın ikinci yarısında ALE işareti etkin olmaz ve Port 0 belleğin veri girişine bağlı kalır. Veri aktarımı bellekten işlem yapma saykılının ikinci yarısında gerçekleşir. ALE işareti on‐chip osilatörün 1/6’sı hızında vuru üretir. 12 MHz ile çalışmada 2 MHZ’lik bir vuru çıkışı verir. Bu kural, sadece MOVX komutu işletilirken geçerli değildir, bu komut için ALE işareti bir saykıl süresince sıfır düzeyinde kalır.

             EA (EXTERNAL ACESS)

EA (external acess) girişi dış ya da iç program bellekleri arasında seçim yapmak için kullanılır. Bu girişe mantık 1 uygulandığında (3K3’lük bir direnç üzerinden +5V’a bağlanırsa) 8051 iç program belleğinden komut işletir. Mantık 0 uygulanırsa (GND hattına bağlanarak) ise dış program belleğinden komut işletir. 8031/8032’de iç program belleği bulunmadığından mutlaka şaseye bağlanmalıdır. İç program belleğinin programlama aşamasında bu girişe programlama gerilimi uygulanır. 8051’in EPROM’lu sürümü olan 8751’de programlama gerilimi 21 Volt, 87C52’de ise programlama gerilimi 12 volttur. Flash EPROM’lu sürümlerde ise 5 volttur. Açıklama: Son yıllarda üretilen 8051 türevlerinde yeteri kadar iç program belleği (64 Kbayt) ve iç veri belleği (4 Kbayt) bulunduğu için dış belleğe ihtiyaç duyulmamaktadır. Bu tür türevlerde (yaklaşık %90’ında) PSEN, ALE ve EA hatları bulunmaz. Bazı türevlerde ise programlama sırasında seçim yapılır. Eğer dış bellek bağlantısı seçilirse giriş/çıkış hatları bu iş için görevlendirilir.

              RESET

8051 RST girişine en az 2 makine saykılı süresince yüksek seviye uygulandıktan sonra düşük seviye uygulanırsa başlangıç konumuna gelir (resetler). RST girişi bir basmalı anahtarla veya bir RC devre ile sadece güç verildiğinde (Power On Reset, POR) etkin hale getirilir. Şekil–2.3’te her iki devre bağlantısı gösterilmiştir. 8051 resetlendiğinde SFR yazaçlarının içerikleri değişir ve başlangıç durumlarını alırlar. Bunlardan en önemlisi (PC) program sayacıdır. Reset sonrası program sayacının içeriği 0000H olur ve 8051 program işletmeye bu adresten başlar. Bu adrese reset vektörü denir. İç RAM belleğin içeriği reset işleminden etkilenmez. 8051’in çalışmaya başlayabilmesi için mutlaka POR’i alması gerekir, aksi halde çalışmaya başlamaz.




               OSİLATÖR GİRİŞLERİ

Şekil–2.4’te gösterildiği gibi 8051’in iki adet osilatör girişi vardır. Bu girişlere içerideki osilatöre kaynak olacak bir rezonans devresi bağlanır. Genellikle bir kristal bu görevi yerine getirir. MSC–51 ailesi mikrodenetleyicilerin yazılı kristal frekansları 12 MHz’dir, fakat 8051 her 12 osilatör saykılında 1 işlem gerçekler. Piyasaya ilk sunuldukları tarihte 12 MHz’lik modelleri bir saniyede 1 milyon (1 MIPS, Mega Instruction Per Second) komut yürütüyorken yeni türevlerde 24 MIPS, 50 MIPS ve 100 MIPS’lik hızlara ulaşılmıştır.



Mikroişlemcilerin bir komutu yürütme süresine makine saykılı denir. Her mikroişlemcinin makine saykılı kendine özgü formulü ile hesaplanır. Osilatör frekansı bilinen 8051’in makine saykılı aşağıda verilen formülle hesaplanabilir.

TMak. Say. = 12 / fOSC

Bunun anlamı 8051 bir komutun işlenmesini 12 osilatör saykılında tamamlar. Bu durum birçok kullanıcı tarafından eleştirilmiştir. Motorola firmasının ürettiği 68HC12XX ailesi mikrodenetleyiciler 1 osilatör saykılında 1 komut işlerken PIC ailesi mikrodenetleyiciler 4 osilatör saykılında 1 komut işler. Yeni türev 8051’lerde istenirse programlama sırasında 6 osilatör, 4 osilatör veya 1 osilatör saykıllarında bir komut işlemesi için seçim olanağı tanınmıştır. Tüm 8051 türevleri başlangıç olarak 12 osilatör saykılında 1 komut işleyecek seçilde programlanmıştır.




           GERİLİM BAĞLANTILARI

8051 mikrodenetleyicisi tek bir 5 voltluk kaynaktan beslenir. VCC 40 numaralı bacak, VSS ise 20 numaralı bacaktır. Kaynaktan çekilen akımın miktarı üretim teknolojisine ve güç denetim yazacı içerisinde yer alan kısık güç ve aylak kip bitlerinin değerlerine bağlıdır. Philips CMOS 8051 mikrodenetleyicilerin çektiği akım değerleri çizelge– 2,3’de verilmiştir. Tasarım sırasında bu tabloda yer alan en büyük değeri dikkate alınız.




         GİRİŞ ÇIKIŞ HATLARI

8051’in 4 port şeklinde düzenlenmiş 32 adet giriş ve çıkış olarak kullanılabilen hattı vardır. Bu hatlara giriş çıkışın yanı sıra bazı ikincil görevler de verilmiştir. P1, P2, P0’ın hatlarının sürme kapasitesi 4 adet LS (low power Schottky) TTL yüktür. P3’ün sürücü devresi güçlendirilmiş olduğu için 8 LS TTL yükü sürebilmektedir. Bu değerler yeni üretilen türev 8051’lerde farklıdır. Kullanılan 8051 türevinin veri yapraklarında en doğru değer elde edilebilir. Portlar SFR bölgesinde yazaç olarak yerleştirilmiştir. Portları 8’li olarak veya tek hat olarak okuma ve yazma yapabiliriz. Portların okunması ve yazması yapılarında küçük farklılıklar olmasına rağmen aynıdır. Reset sonrası portların çıkışları mantık “1” değerini alır. 

  

Yorumlar

Bu blogdaki popüler yayınlar

MİKRODENETLEYİCİ-4

MİKRODENETLEYİCİ-5