Giriş

07/17/08

Home
Up

 

GİRİŞ

Bu giriş bölümünde, önce, kitabın mikroişlemci/mikrodenetleyici tabanlı sistemlerin temel kavramlarını ve uygulamalarını öğretmede takip ettiği yaklaşım sunulacaktır. Sonra, 8051 mikrodenetleyicisinin kitapta örnek işlemci olarak seçilmesinin nedenleri verilecektir. Daha sonra, kitapta yer alan bölümler ve ekler özet olarak tanıtılacaktır.

Türkçe dili ile yazılan teknik bir kitaptaki zorluklardan biri, hiç şüphesiz, yabancı dildeki kelimelere karşı gelen Türkçe kelimelerin seçimidir. Aşağıda, Kitabın Dili kısmında, Türkçe-İngilizce eğitim problemine biraz değinilmekte ve ayrıca kitapta kullanılan Türkçe teknik dilin yaklaşımı hakkında bilgi verilecektir.

En son olarak, kitapta yer alan önemli 8051 uygulama dosyalarının bulunduğu, ayrıca, çeşitli mikroişlemci/mikrodenetleyici kaynaklarının da yer aldığı, kitabın Internet desteği hakkında kısaca bilgi sunulacaktır.

Kitabın Yaklaşımı

Bu kitap mikroişlemci/mikrodenetleyici tabanlı elektronik sistemlere bir giriş kitabı olarak yazılmıştır. Mikroişlemcilere klasik giriş kitapları, genelde, endüstride ve eğitimde yaygın olarak kullanılmış, Zilog Z80, Intel 8085A, 8086 veya Motorola 6800, 68000 gibi klasik eski işlemcilerinden birini örnek işlemci olarak almakta, detaylı olarak tanıtmakta ve bu işlemciye yönelik donanım ve yazılım teknikleri sunmaktadır.

Günümüzde, 2000’li yıllarda, mikroişlemcilerin eğitimi için bu tarz yaklaşım artık çok eskimiş durumdadır. Çünkü, başta, mikroişlemciler bugün elektronik sistem tasarımlarında artık kullanılmayıp yerlerine, uygulamaya göre tümdevre-üzerinde değişik donanım birimleri içeren, mikrodenetleyiciler, sayısal işaret işlemciler gibi değişik işlemciler kullanılmaktadır. Mikroişlemciler bugün daha çok bilgisayarlarda kullanılmaktadır ve mikroişlemci tabanlı elektronik kontrol sistemleri artık pek geliştirilmemektedir.

Mikroişlemci eğitiminde, yukarıda adları geçen ve artık kullanılmayan işlemcilerden birini ve uygulamalarını, önce detaylı bir şekilde sunup sonra diğer yaygın olarak kullanılan işlemcilerin öğretilmesi, zaman almakta ve birçok gereksiz ve pratik değeri olmayan bilginin sunulmasını gerektirmektedir. Daha modern bir yaklaşım, ticari kullanıma girmemiş, eğitim amaçlı bir mimariyi genel hatlarıyla öğretip daha sonra, yaygın kullanımda olan bir işlemciyi öğretmektir. Bu yaklaşımda da, pratik değeri olmayan bilgilerin öğretilmesi ve zaman kaybı kaçınılmazdır.

Bu kitap, yukarıdaki iki yoldan da farkı bir yol takip etmiştir. Temel mikroişlemci ve mikrodenetleyici kavramları, Intel ailesinin pek çok işlemcisini mimari olarak etkilemiş 8085A örneği ile genel hatlarıyla sunulmaktadır. Bu işlemci ile, Intel ailesinin birçok işlemcisinde ortak olan temel donanım özellikleri sunulmuş olup bu işlemci çok detaylı olarak anlatılmamıştır. Daha sonra, çok yaygın olarak günümüzde kullanılmakta olan klasik 8051 mikrodenetleyicisi ve uygulamaları detaylı olarak sunulmaktadır.

Kullanımda olan bir işlemcinin ve uygulamalarının kitapta verilmesi, ilk bakışta, yukarıda bahsedilen mikroişlemci eğitimindeki birinci yola benzemesine rağmen önemli farkları bulunmaktadır. Birinci fark, günümüzde yaygın olarak kullanımda olan bir mikrodenetleyici, mikroişlemci/mikrodenetleyici tabanlı sistemlerin kavramlarını öğretmede kullanılmaktadır. Diğer önemli farklar, kullanım yaygınlığı, işlemcinin ömrü ve sunduğu klasikleşen donanım ve yazılım kavramlarıdır. Muhakkak 8051 işlemcisinin de bir ömrü vardır. Fakat, tümdevre üzerinde sunmuş olduğu özellikler ile bir klasik olduğu için ve şu an pek çok türevlerinin bulunmasından ve birçok başka mikrodenetleyiciyi mimari olarak etkilemesinden dolayı, kendisi ve sunmuş olduğu donanım ve yazılım kavramları daha uzun yıllar yaşayacaktır.

Bir mikroişlemci/mikrodenetleyici tabanlı sistem, işlemci, hafıza ve giriş/çıkış birimlerinden oluşan adreslenebilir saklayıcılar topluluğu olarak basit bir şekilde modellenebilir. Bu modelde, işlemcinin içindeki saklayıcılar, iç saklayıcılar ve dışındakiler (hafıza hücreleri ve giriş/çıkış birimleri) dış saklayıcılar olarak belirtilebilir. Kitapta, bu modelleme temel olarak alınmakta ve mikroişlemci/mikrodenetleyici tabanlı sistemlerin temel kavramlarını sunmada, Bölüm 2’de, böyle bir sistemin en küçük yapı taşları olan saklayıcılardan başlanmaktadır. Sonra, saklayıcıların birleştirilmesiyle oluşan hafıza birimi sunulmaktadır. Daha sonra, bir mikroişlemcili sistem için hafıza tasarımı anlatılmaktadır.

Bölüm 3’te mikroişlemci mimarisi ve çalışması detaylı bir şekilde öğretilmektedir. Bu bölümde Intel x86 çekirdeğini ve daha başka işlemcileri, (Intel 8051, 8096, 80960 gibi mikrodenetleyiciler ve Zilog firmasının Z80 mikroişlemcisi gibi işlemciler) mimari olarak etkileyen, 8085A mikroişlemcisi, 8-bit bir mikroişlemcinin yapısını ve çalışmasını öğretmede örnek işlemci olarak kullanılmaktadır. Bu işlemcinin tam komut kümesi sunulmayıp, sadece mikroişlemci-hafıza haberleşmesindeki iki komut (LDA ve STA) ve mikroişlemci-giriş/çıkış cihazları haberleşmesinde kullanılan iki komut (IN ve OUT) ve bu komutların yürütülmesindeki sinyalleme detaylı olarak anlatılmaktadır. Bölüm 2 ve Bölüm 3’te anlatılan kavramların pek çoğu genel olup bilhassa Intel’in birçok işlemcisi için geçerlidir. Bölüm 4’ten başlayıp Bölüm 10’a kadar olan kısımlarda, Intel’in 8051 mikrodenetleyicisinin mimarisi, programlanması ve uygulamaları detaylı olarak sunulmaktadır.

8051 Mikrodenetleyicisi

8051 eski yaşına rağmen, bugün hala yaygın kullanımda olan en gözde mikrodenetleyicidir. 1980’lerden bugüne pek çok 8051 uyumlu ürünler ve 8051 türevleri çıkmıştır. 8051 programcılığı, bugün, mikrodenetleyici kullanan ürünler geliştirmek isteyenler için, önemli bir başlangıç olmuştur. 8051 geliştiricileri için bir çok Internet Web sayfası, kitaplar, teknik dokümanlar, yazılım ve donanım gereçleri bulunmaktadır.

Mikrodenetleyicilere yeni başlayanlar için, veri kitaplarından bir mikrodenetleyiciyi öğrenmek oldukça zor olmaktadır. Bu kitabın amaçlarından biri, 8051 mikrodenetleyici ailesini ve uygulamalarını öğrenmeyi kolaylaştırmak ve hızlandırmaktır. Kitapta tipik bir 8051 programcısı ve donanımcısının ihtiyaçları göz önüne alınmış, donanım ve yazılım konularına eşit ağırlıklı olarak değinilmiş ve en gerekli konulara ve tekniklere yer verilmiştir.

Bu kitapta sunulan bazı konularda, 8051 ailesini bütün yönleriyle tanıtan, 8051 tümdevresini üreten firmaların veri kitaplarına ihtiyaç vardır. Özellikle donanıma ait teknik detaylı bilgiler için, üretici firmaların veri kitaplarına bazen başvurmak gerekebilir.

Kitaptaki Konular

Kitaptaki konular genel olarak iki kısma ayrılmaktadır. İlk üç bölümde mikroişlemcili sistemlerin temel kavramları anlatılmakta, mikroişlemcilere genel bir giriş yapılmaktadır.  Bölüm 4’ten itibaren, 8051 mikrodenetleyicisinin mimarisi, programcılığı ve uygulamaları sunulmaktadır. Kitapta özet olarak aşağıdaki bölümler bulunmaktadır:

KISIM I: MİKROİŞLEMCİLERE GİRİŞ

n    Bölüm 1, Bilgisayarlar ve Mikroişlemciler’de, bilgisayarların ve özellikle Intel işlemcilerinin genel bir tarihçesi detaylı olarak sunulmakta ve Motorola ailesi hakkında da bilgi verilmektedir.

n    Bölüm 2, Hafıza Temelleri ve Hafıza Sistem Tasarımı’nda, temel statik hafıza kavramları, RAM ve EPROM hafızlar anlatılmaktadır. Ayrıca, 8-bit veri yoluna sahip bir Intel işlemcisine yönelik hafıza sistem tasarım örnekleri sunulmaktadır.

n    Bölüm 3, Mikroişlemci Mimarisi ve Çalışması’nda, mikroişlemcili sistemlerin temel kavramları, mikroişlemci mimarisi ve çalışması anlatılmaktadır. Ayrıca, 8-bit bir mikroişlemciye örnek olarak 8085A verilmekte ve hafıza ve giriş/çıkış birimleri üzerindeki çalışması, LDA, STA, IN ve OUT komutlarıyla anlatılmaktadır. Bir mikroişlemcinin hafıza haritasına giriş/çıkış birimlerinin yerleştirilmesi ve 8255A Programlanabilir Çevre Arabirimiyle giriş/çıkış işlemi de bu bölümde sunulmaktadır.

KISIM II: 8051 MİKRODENETLEYİCİSİ VE UYGULAMALAR

n    Bölüm 4, Mikrodenetleyiciler ve 8051 Ailesinde’nde, kitabın ikinci kısmı başlamakta, mikrodenetleyicilere ve 8051 ailesine genel bir giriş yapılmaktadır.

n    Bölüm 5, 8051 Mikrodenetleyici Ailesinin Mimarisi’nde, 8051 çekirdeğinin donanım mimarisi, CPU zamanlaması ve makine çevrimleri detaylı sinyalleme diyagramlarıyla verilmektedir. Ayrıca, 8051 tümdevresinde yer alan, paralel giriş/çıkış portları, zamanlayıcı ve sayıcılar, kesme kontrol ve seri port gibi önemli yapıların genel özellikleri anlatılmaktadır.

n    Bölüm 6, 8051 Assembly Dili’nde, önce 8051 için program geliştirme yöntemleri sunulmaktadır. Daha sonra, 8051 adresleme modları ve 8051 komut kümesi verilmektedir. Bu bölümde ayrıca, basit program örnekleri ile, 8051 komutlarının kullanımları gösterilmektedir.

n    Bölüm 7, 8051 Assembly ve C Dili Programcılığına Giriş’te, 8051 ile yapılan temel giriş/çıkış işlemleri, basit boolean fonksiyonlarını gerçekleştirme, altprogram çağırma, kesme hizmet programları, zamanlayıcı/sayıcı işlemleri, 8051 C dili programcılığı gibi konular bulunmaktadır. Bu bölümde, orta uzunlukta ve zorlukta olan program ve donanım örnekleri, hem assembly hem de C dili ile verilmektedir.

n    Bölüm 8, Yazılım Tasarımı ve Doküman Hazırlama’da, iyi yazılım tasarımı ve program dokümanlarını hazırlamak için bazı teknikler sunulmaktadır.

n    Bölüm 9, 8051 Tabanlı Bir Geliştirme Kartı ve Bir Eğitim Seti Tasarımı’nda, 8051 programları için bir geliştirme kartının tasarımı verilmektedir. Bu kartın detaylı elektronik devre şeması sunulmakta ve çalışması açıklanmaktadır. Ayrıca, kartın EPROM monitör programı da verilmekte ve detaylı olarak anlatılmaktadır. İsteyenlerin kolay ve ucuz bir şekilde bu kartı yapmaları mümkündür. Bu bölümün sonunda Siemens 80C535 işlemcisi tabanlı bir eğitim setinin donanım tasarımı sunulmaktadır.

n    Bölüm 10, 8051 Uygulamaları’nda, Bölüm 7’ye göre, daha uzun ve zor yazılım ve donanım uygulamaları sunulmaktadır. Bu uygulamaları, bölüm 9’da sunulan geliştirme kartı ile gerçekleştirmek mümkündür. Çok az veya hiçbir değişiklik gerektirmeden, bu bölümde sunulan uygulama programlarını, değişik ortamlarda çalıştırmak mümkündür. Kitapta yer alan bütün uygulamalar, Bölüm 9’da anlatılan geliştirme katında çalıştırılmıştır.

KISIM III: EKLER

n       Ek A’da 8051 komut kümesi verilmiştir. Bu bölümde ayrıca, 8051 adresleme modlarında kullanılan gösterim ve her komut için basit kod örnekleri de sunulmaktadır.

n       Ek B’de kitapta kullanılan sembollerin listesi verilmektedir.

n       Ek C’de kitapta kullanılan Türkçe teknik kelimeler ve bunlara karşı gelen İngilizce kelimeler verilmektedir.

n       Ek D, Kaynaklar’da, mikroişlemci/mikrodenetleyici tabanlı elektronik sistemlere yönelik bazı güzel kitaplar verilmektedir. Ayrıca mikroişlemciler/mikrodenetleyiciler hakkında bazı önemli Internet adresleri ve bu kaynakları tanıtıcı bilgiler de sunulmaktadır.

Kitabın Dili

Bu kitabın önemli büyük bir bölümü (ilk sekiz bölümü) Türkçe ve İngilizce eğitim yapan iki ayrı üniversitenin farklı iki bölümünde (Uludağ Üniversitesi Elektronik Mühendisliği ve Marmara Üniversitesi Bilgisayar Mühendisliği Bölümleri) okutulmuştur.

Marmara Üniversitesi Bilgisayar Mühendisliği Bölümündeki eğitime dikkat çekmek istiyorum. (İngilizce eğitim yapan bir bölümde, Türkçe kaynak kullanılıyor, dikkat! Türkçe kaynak sınıfta İngilizce sunuluyor, belki ilk defa! Gayet başarılı bir eğitim oluyor!? Tabii, bu tartışılabilir!) Tahminim, genel eğitimin İngilizce olmasından dolayı, öğrencilerin, bilmeleri gereken, saklayıcı (register, flip-flop) ve çalışması gibi, bazı en temel kavramlarda eksikliklerini gördüm. Ayrıca, Türkçe bir kaynaktan, kavramları daha çabuk öğrendiklerini gözlemledim.

İngilizce eğitim yapan bir okulda, Türkçe kaynak kullanmam çok ilginç karşılanabilir; zira, 7 yıl çalıştığım ve Türkçe eğitim yapan Uludağ Üniversitesi Elektronik Mühendisliği Bölümünde hiç bir zaman Türkçe kaynak kullanmadım veya kullanamadım. Bu da her zaman öğrenciler açısından büyük bir problem olmuştu.

Lisans ve yüksek lisansını İngilizce, doktorasını Türkçe eğitim yapan üniversitelerde bitirmiş biri olarak, kanaatimce, ülkemizde üniversite eğitim dili Türkçe olmalıdır. Bunun yanında, İngilizce ile teknik dersler de verilmelidir. Bu sayede öğrenci, temel kavramları daha çabuk öğrenebilecek, daha güzel bir Türkçe’ye sahip olacak, dilde ve dolayısıyla yaşantısında batı kültürünün zararlı olabilecek etkisinden bir derece kurtulacaktır. İkinci planda olan bir İngilizce eğitimi ile de, öğrenci, rahat bir şekilde bilimsel ve teknolojik gelişmeleri takip edebilecek ve ayrıca, evrensel bilime ve teknolojiye katkıda bulunabilecektir.

Kitapta mümkün olduğunca, yerleşik teknik Türkçe kelimeler kullanılmıştır. Bunların, ayrıca, kitapta ilk geçtikleri yerde, İngilizce karşılıkları da verilmiştir. Kullanılan Türkçe teknik kelimelerde birlik sağlamak pek mümkün değildir. Türkçe kullanılacak diye, aşırıya kaçıp gerçekte, günlük hayatta teknik insanlar arasında kullanılmayan kelimelerden kaçınılmıştır. Yaygın olmayan kelimelerin kullanılması, bence, konuların anlaşılmasını zorlaştırmakta ve bir perde olmaktadır. Bununla beraber, yaygın olmayan, Türkçe’ye uyan ve teknik bir heyetin de tasdikinden geçen kelimeleri, yaygın hale getirmeye de çalışmak gerekmektedir.

Kitapta, özellikle konuşurken kullandığım, alıştığım ve yaygın olduğuna inandığım kelimeleri kullandım. Kitapta geçen kelimelerin değişik karşılıklarının kullanılması mümkündür. Örneğin, kitaptaki hafıza kelimesi yerine bellek kullanılabilir. Bence, bu kelimeler gibi dilimizde yaygın olan, değişik kullanımlar dilimizin zenginliğini yansıtır. Bu gibi kelimelerden sadece birinin veya bazılarının kullanılmasının istenmesi, dilimizi fakirleştirir ve kavram karmaşası oluşturur. İngilizce’de ve diğer dillerde, teknik veya teknik olmayan pek çok kelimenin, eş anlamlılarının bulunduğunu, hatta yabancı dillerden karşılıklarının olduğunu ve kullanıldığını unutmamak gerekir.

Internet Desteği

Bu kitapta yer alan 8051 programlarının kaynak dosyaları Internet web adresimden (http://www.gumuskaya.com) alınabilir. Ayrıca, kitabın web sitesinde bilgisayarlar, mikroişlemciler ve mikrodenetleyiciler hakkında bazı önemli Internet kaynaklarının adresleri ve bu kaynakları tanıtıcı bilgiler de sunulmaktadır.

 

Home | İçindekiler | Kitap Hakkında Düşünceler | Sunuş | Önsöz | Giriş

This site was last updated 12/11/05