Elektronik / Programlama test devreleri/

8051 ile Display Kontrolü (display deney kartı)

Sponsorlu Bağlantılar

Projeyi Hazırlayan : Hakan BARUTÇU – Emeği geçen kişilere Teşekkürler

Uygulama devrenin devre şekli Proteus-Isis elektronik devre simülasyon programında tasarlanıp çalıştırılmıştır.

Kullanılan elemanlar:

1 adet AT89C51 mikrodenetleyicisi
1 adet 7447 display sürücü entegre
1 adet 7SEG-MPX2CA tümleşik display
2 adet BC548 NPN transistör
1 adet 10µF elektrolitik kondansatör
2 adet 22pF kondansatör
1 adet 12MHz kristal
1 adet 8.2K direnç
2 adet 10K direnç
2 adet 2.2K direnç
7 adet 220? direnç
2 adet buton

Uygulama Devrenin Baskı Devre Şekli

Uygulama Devre Şeması

Baskı devre şekli Proteus-Ares programında çizilmiştir.

Kullanılan kalıplar:

DIL40
DIL16
ELEC-RAD10
P1
LED
RES40
T092/18
XTAL18
CAP10

Kullanılan buton ve displayların kalıpları mevcut olmadığı için el ile üretilmiştir.

7805 Besleme Katı

Uygulama devrenin girişine bağlanan sabit +5V çıkış üreten 7805 devresi

Kullanılan devre elemanları

1 adet 7805
1 adet 470µF kondansatör
2 adet 100nF kondansatör
1 adet 390? direnç
1 adet LED

7805 katında devrenin girişine uygulanan gerilimi 7805 +5V sabit olarak çıkışında üretmektedir Uygulama devrenin sağlıklı bir şekilde çalışabilmesi için yapılmıştır. 7805 katının sağlıklı çalışabilmesi için girişten en az 8V uygulanmalıdır

Devrenin Çalışma Prensibi

Devrenin osilatör girişine 12MHz’lik kristal bağlanarak clock palsi üretmesi sağlanmıştır.dahili ROM dan veri okuyacağı için EA ucu +5V’a çekilmiştir. Port 1 e 2 adet buton bağlanmıştır. Bu butonlara basıldığı zaman port 0’a çekilmiş olur. Böylelikle programda belirtilen if(!asagi) ve if(!yukari) döngüleri icra edilmiş olur. Ama devre düşen kenar tetiklemeli olarak çalıştığı için buton bırakıldıktan sonra satı displaylerde görülür.

Port 1 den uygulanan girişlere göre port 2 ye hexedesimal olarak sayı üretilir. 7447’nin girişine uygulanan bu sayıya göre 7447’nin çıkış uçlarının hangisinin aktif(0) olacağı belirlenir. Burada aktiften kasıt 7447 ortak anot display sürücü olduğu için çışı 0 olur demektir.

Port 2’nin çıkışı tan olarak +5v üretemediği için displayların sönük yanmamaları için NPN transistör ile sürülerek daha canlı yanmaları sağlanmıştır.

7447 Displaya Sürücü Entegre


7447’nin çalışmasının gösterimi


7447 sembolü

7447 display sürücü şekil 4.4’te de görüldüğü gibi 4 girişe 7 çıkışa sahiptir. Girişlerinden uygulanan BCD sayının durumuna göreçıkıştaki uçlarını aktif (0) yapar. Çıkışları terslendiği için yalnızca ortak anot displaylarda kullanıla bilir.

Devrenin C Programı

/*kütühane dosyalari*/
#include 
#include 

/* uç tanımlamari*/
#define asagi P1_1	//asagi butonu
#define yukari P1_0	//yukari butonu
#define cikis P2//cikis portu
#define dispsol P3_0	//sol display taimlamasi
#define dispsag P3_1	//sag display tanimlamasi
int sayi;
void bekle(void)
	{
int j;
for(j=0;j<=200;j++);
	}
void yazma(sayi)
	{
while(asagi && yukari)
	{
cikis=sayi%10;   //birler basamaginin yazilmasi
dispsag=1;
dispsol=0;

bekle();
cikis=sayi/10;    //onlar basamaginin yazilmasi
dispsag=0;
dispsol=1;
bekle();
	}
	}
void main()
{
	sayi=0;
	asagi=1;    //giris olarak tanimlandi
	yukari=1;	//giris olarak tanimlandi
	cikis=0;	//cikis olarak tanimlandi
	while(1)	//sonsuz bir döngü meydana getirildi
  	{
	if(!asagi)//eger asagi butonuna basilirsa
{
while(!asagi);	//asagi butonu bırakılıncaya  //kadar bekler
	if(sayi>0)
	sayi--;
	else sayi=99;
	yazma(sayi);
}
	 if(!yukari)
	 	{
while(!yukari);	//yukari butonu //bırakılıncaya kadar //bekler
	if(sayi<99)
	sayi++;
	else sayi=0;
	yazma(sayi);
}
 }
 }
 

Program 2 fonksiyon ve ana programdan oluşmaktadır.

P1.0 portuna yukarı butonu P1.1 portuna aşağı butonu bağlanmıştır.P2 portu çıkış P3.0 portu soldaki displayi seçmek için P3.1 portu ise sağdaki portu seçmek için tanımlanmıştır. Programın anlaşılırlığını arttırmak için makrolar kullanılmıştır.

Program tarama yöntemine göre çalışmaktadır. Tarama frekansı bir döngü ile oluşturulmuştur. Sayılan değerlerin birler ve onlar basamaklarının göstergelere 1 msn’lik zaman aralıklarında uygulanması işlemi ana programdaki for döngüsü ve içindeki bekle() fonksiyonu ile sağlanmaktadır. Bekle() fonksiyonu displayların ne kadar zaman aktif kalacaklarını belirtir. Sayıların ekrana yazılması işlemi ise yazma() fonksiyonu içerisinde yapılmaktadır.

Program düşen kenar tetiklemeli olarak çalıştığı için while(!asagi) ve while(!yukari) döngüleri kullanılmıştır.eğer yükselen kenar tetiklemeli olarak çalışsaydı butona basım süresi çok kısa olmalıydı. Bu da insan için çok zor bir durum teşkil edecekti.

Program keil µVision programında C dili ile yazılıp derlenmiştir.

IR Alıcı Verici Tümleşik Devresi

IR Alıcı Verici Tümleşik Devresinin Çalışma Prensibi

Devreye gerilim uygulandığında IR led kızıl ötesi bant da ışık yaymaya baslar.Bunu takiben foto diyot üzerine gelen bu ışık sayesin de iletime gecerek Q1 transistörünün beyz ucunu şaseye çeker ; böylece Q1 kesimdedir.Bunun sonucu olarak role gerilimlenemez ve kontakları yer değiştirmez.IR ile foto diyot arasına bir engel gelirse foto diyot kesime gider ; bunu takiben Q1 beyz terminali gerilimlenir ve iletime geçer.İletime geçen Q1 rolenin gerilimlenmesini sağlar ve kontakları yer değiştirir.

Kullanılan devre elemanları
1 adet 7805
1 adet 330? direnç
1 adet 10K? direnç
1 adet 390? direnç
1 adet IR LED
1 adet foto diyot
1 adet BC 140 tr.
1 adet role (5 voltluk)

Uygulama Kartı ile Çalıştırılan Devreler

Bu uygulama kartı “8051 Mikrodenetleyici Uygulamaları” kitabındaki “7-Parçalı Gösterge (display) Uygulamaları” kısmındaki bütün uygulamarın çalıştığını görmek mümkündür.

1-) 7-Parçalı Gösterge Uygulaması 1:Bu uygulama devresi 7 parçalı göstergenin her bir elemanını sırası ile yankar (a’dan g’ye) ve en son g’ye geldiğinde işlem tersten tekrar eder.

2-) 7-Parçalı Gösterge Uygulaması 2: Bu uygulama devresi 7 parçalı göstergede hexdecimal olarak 0’dan F’ye kadar sayma işlemini gösterir.

3-) 7-Parçalı Gösterge Uygulaması 3: Bu uygulama devresi hex göstergede decimal olarak 0’dan F’ye kadar sayma işlemini gösterir.

4-) Aşağı Yukarı BCD Sayıcı Uygulaması : Bu uygulama devresi hex göstergede decimal olarak 0’dan F’ye kadar sayma işlemini gösterir.Sayma işlemi buton kontrolü ile gerçekleşir.

5-) Tarama Yöntemi İle 0-99 Sayıcı Uygulaması : Bu uygulama devresi 2 adet 7 parcalı göstergede decimal olarak 0’dan 99’a kadar sayma işlemini gösterir. Sayma işlemi buton kontrolu ile gerçekleşir.

6-) Tarama Yöntemi Aşağı Yukarı İle 0-99 Sayıcı Uygulaması : Bu uygulama devresi 2 adet 7 parcalı göstergede decimal olarak 0’dan 99’a kadar sayma işlemini gösterir. Sayma işlemi buton kontrolü ile gerçekleşir.

Devrelerin Deney kartına Bağlanışı

1-) 7-Parçalı Gösterge Uygulaması 1 : 8051 Geliştirme Kartının ilgili portunun uygulama kartının connector-a kısmına ilişkilendirilmesi ile bu uygulamanın calışması takip edilir.

2-) 7-Parçalı Gösterge Uygulaması 2 : 8051 Geliştirme Kartının ilgili portunun uygulama kartının connector-a kısmına ilişkilendirilmesi ile bu uygulamanın calışması takip edilir.

3-) 7-Parçalı Gösterge Uygulaması 3: 8051 Geliştirme Kkartının ilgili portunun uygulama kartının connector-c kısmına ilişkilendirilmesi ve uygulama kartındaki anahtarın 1 konumuna getirilmesi ile bu uygulamanın calışması takip edilir.

4-) Aşağı Yukarı BCD Sayıcı Uygulaması : 8051 Geliştirme Kartının ilgili portlarının uygulama kartının ilgili portlarına ilişkilendirilmesi ile yani butonları kontrol eden port’un connector-b’ye , displayleri kontrol eden port’un connector-c’ye bağlanması ile uygulamanın calışması takip edilir.Bunun yanında anahtarın 1 konumuna getirilmesi gereklidir.

5-) Tarama Yöntemi İle 0-99 Sayıcı Uygulaması : 8051 Geliştirme Kartının ilgili portlarının uygulama kartının ilgili portlarına ilişkilendirilmesi ile yani displaylerin seçme uçlarını kontrol eden port’un connector-d’ye , displayleri kontrol eden port’un connector-c’ye bağlanması ile uygulamanın calışması takip edilir.Bunun yanında anahtarın 2 konumuna getirilmesi gereklidir.

6-) Tarama Yöntemi Aşağı Yukarı İle 0-99 Sayıcı Uygulaması : 8051 geliştirme kartının ilgili portlarının uygulama kartının ilgili portlarına ilişkilendirilmesi ile yani displaylerin seçme uçlarını kontrol eden port’un connector-d’ye , displayleri kontrol eden port’un connector-c’ye ve butonları kontrol eden port’un connector-b’ye bağlanması ile uygulamanın calışması takip edilir.Bunun yanında anahtarın 2 konumuna getirilmesi gereklidir.

8051 Deney kartına ait dosyalar: 8051 ile Display Kontrolü (display deney kartı)

Dosya indirme LINK listesi (TXT formatında) link-3057.zip şifre-pass: 320volt.com

  • Harry Kewell

    Öncelikle Selam..

    yaklaşık 3 haftadır aradığım basit IR ALICI-VERİCİ devresini şans eseri bu başlık altında bulmam, 2.5 haftadır arıyor olup bulamamanın verdiği sinir stress ile kendime kızmalımıyım yoksa şansıma sevinip mutlu mu olmalıyım bilemedim.Ir alıcı-verici yazdığımda birbirinin kopyası olan PIClı devreler cıkıyor..yaklaşık 1.675.000 sonuç arasında bala şansa bu başlık bu devreyi bulmam inanın ne diyceğimi bilmiyorum :D

    ama bu devre çookk işime yarayacak buraya koyan eller dert görmesin.. ;)

  • Harry Kewell

    Ben bu devreyi uyguladığım zaman Led sürekli yanıyor..ve 7805 çok aşırı ısınıyor..led bi süre sonra ışık vermemeye başlıyor..sanırım 7805 in ısınmasıyla bi alakası var.. bi yardım lutfen

  • erdem

    devre kesinlikle çalışıyormu ?