Mikroişlemciye 8051 Arayüz Eden Başlıca Elektronik Çevre Birimleri

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Arayüz, şu alandaki önemli kavramlardan biridir: mikrodenetleyici 8051 çünkü mikro denetleyici, bir veri üzerinde bazı işlemler gerçekleştirebilen ve çıktı veren bir CPU'dur. Bununla birlikte, işlemi gerçekleştirmek için verileri girmek için bir giriş cihazına ihtiyacımız var ve bunun karşılığında çıkış cihazı işlemin sonuçlarını görüntüler. Burada mikro denetleyici ile birlikte giriş ve çıkış cihazları olarak klavye ve LCD ekran kullanıyoruz.

Mikrodenetleyici 8051 Çevresel cihazlar

Mikrodenetleyici 8051 Çevresel cihazlar



Arabirim, aygıtları bilgi alışverişi yapabilmeleri için birbirine bağlama işlemidir ve bu, programları yazmanın daha kolay olduğunu kanıtlar. LED'ler, LCD'ler, 7 segment, tuş takımı, motorlar ve diğer cihazlar gibi ihtiyacımıza göre farklı tipte giriş ve çıkış cihazları bulunmaktadır.


Burada, mikro denetleyici 8051 ile arabirim oluşturan bazı önemli modüller verilmiştir.



1. Mikrodenetleyiciye LED Arayüzü:

Açıklama:

LED'ler, çoğu uygulamada çıkışı göstermek için en yaygın şekilde kullanılır. Sonuçların farklı aşamalarda geçerliliğini kontrol etmek için test sırasında gösterge olarak çok çeşitli uygulamalar bulurlar. Çok ucuzdurlar ve çeşitli şekil, renk ve boyutlarda kolayca temin edilebilirler.

Işık Yayan Diyot

Işık Yayan Diyot

Prensibi LED'lerin çalışması çok kolay. Basit LED'ler aynı zamanda temel görüntüleme cihazları olarak hizmet verir, Açık ve KAPALI durumu, bir cihaz hakkında tam bilgi anlamına gelir. Yaygın olarak kullanılan LED'ler, 1.7V voltaj düşüşüne sahiptir, bu da 1.7V'un üzerinde uyguladığımızda diyotun ilettiği anlamına gelir. Diyotun tam yoğunlukta parlaması için 10mA akıma ihtiyacı vardır.


Aşağıdaki devre 'LED'lerin nasıl yanacağını' açıklamaktadır.

LED'ler, mikro denetleyiciye ortak anot veya ortak katot konfigürasyonunda arayüzlenebilir. Burada LED'ler ortak anot konfigürasyonunda bağlanır çünkü ortak katot konfigürasyonu daha fazla güç tüketir.

Devre şeması

Mikrodenetleyiciye LED Arayüzü

Mikrodenetleyiciye LED Arayüzü

Kaynak kodu:

#Dahil etmek
void main ()
{
imzasız int i
süre (1)
{
P0 = 0x00
için (i = 0i<30000i++)
P0 = 0xff
için (i = 0i<30000i++)
}
}

2. 7 Segmentli Ekran arayüz devresi

Açıklama:
Yedi bölümlü ekran en temel elektronik ekrandır. Uygun LED kombinasyonları açıldığında 0'dan 9'a kadar olan rakamları gösterecek şekilde sırayla ilişkilendirilmiş sekiz LED'den oluşur. 7 segmentli bir ekran, 0'dan 9'a kadar rakamları görüntülemek için yedi LED kullanır ve nokta için 8. LED kullanılır. Tipik bir yedi segment, aşağıdaki şekilde gösterildiği gibi benzer görünüyor.

7 Segmentli Ekran

7 Segmentli Ekran

7 segmentli ekranlar, sayısal bilgileri görüntülemek için bir dizi sistemde kullanılır. Her seferinde bir rakam görüntüleyebilirler. Bu nedenle, kullanılan segment sayısı görüntülenecek basamak sayısına bağlıdır. Burada 0 ile 9 arasındaki rakamlar önceden tanımlanmış bir zaman gecikmesiyle sürekli olarak görüntülenir.

7 segmentli ekranlar, ortak anot ve ortak katot olan iki konfigürasyonda mevcuttur. Burada, mikro denetleyicinin çıkış akımı LED'leri çalıştırmak için yeterli olmadığından ortak anot yapılandırması kullanılır. 7 segmentli ekran negatif mantık üzerinde çalışır, LED üzerinde parlama yapmak için ilgili pime 0 mantığı sağlamamız gerekir.

7 Segmentli Ekran Yapılandırmaları

7 Segmentli Ekran Yapılandırmaları

Aşağıdaki tablo, farklı basamakları görüntülemek için kullanılan onaltılık değerleri göstermektedir.

7 Segment Gösterge Tablosu

7 Segment Gösterge Tablosu

Devre şeması

7 Segmentli Ekran arabirimi

7 Segmentli Ekran arabirimi

Kaynak kodu:

#Dahil etmek
sbit a = P3 ^ 0
void main ()
{
işaretsiz karakter n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
işaretsiz int i, j
a = 1
süre (1)
{
için (i = 0i<10i++)
{
P2 = n [i]
için (j = 0j<60000j++)
}
}
}

3. Mikrodenetleyiciye LCD Arayüzü

LCD, satır başına karakterleri gösterebilen sıvı kristal ekran anlamına gelir. Burada 16'ya 2 LCD ekran satır başına 16 karakter görüntüleyebilir ve 2 satır vardır. Bu LCD'de her bir karakter 5 * 7 piksel matriste görüntülenir.

LCD ekran

LCD ekran

LCD, çamaşır makinesi, otonom robot gibi hemen hemen tüm otomatik cihazlarda kullanılan çok önemli bir cihazdır, güç kontrol sistemleri ve diğer cihazlar. Bu, durumlarının 7-yedi segmentli ekranlar, çok segmentli LED'ler vb. Gibi küçük ekran modüllerinde gösterilmesiyle elde edilir. Bunun nedenleri, LCD'lerin makul fiyatlı olması, kolayca programlanabilmesi ve özel karakterleri gösterme sınırlamalarının olmamasıdır.

Komut / talimat kaydı ve veri kaydı gibi iki kayıttan oluşur.

Komut / talimat kaydı, LCD'ye verilen komut talimatlarını saklar. Bir komut, LCD'ye verilen ve başlatma, ekranı temizleme, imleç pozunu ayarlama, ekranı kontrol etme vb. Gibi önceden tanımlanmış görevleri yerine getiren bir talimattır.

Veri kaydı, LCD'de görüntülenecek verileri depolar. Veriler, LCD'de görüntülenecek karakterlerin bir ASCII değeridir.

LCD'nin çalışması iki komutla kontrol edilir. RS = 0, R / W = 1 olduğunda veriyi okur ve RS = 1, R / W = 0 olduğunda veriyi yazar (yazdırır).

LCD aşağıdaki komut kodlarını kullanır:

LCD Ekran Komutları

LCD Ekran Komutları

Devre şeması:

Mikrodenetleyiciye LCD Arayüzü

Mikrodenetleyiciye LCD Arayüzü

Kaynak kodu:

#Dahil etmek
#define kam P0

sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit at = P2 ^ 2

geçersiz lcd_initi ()
void lcd_dat (işaretsiz karakter)
void lcd_cmd (işaretsiz karakter)
void delay (unsigned int)
geçersiz görüntüleme (işaretsiz karakter * s, işaretsiz karakter r)
void main ()
{

lcd_initi ()
lcd_cmd (0x80)
gecikme (100)
ekran ('EDGEFX TECHLNGS', 15)
lcd_cmd (0xc0)
ekran ('KİTLER VE ÇÖZÜMLER', 15)
süre (1)
}

geçersiz görüntüleme (işaretsiz karakter * s, işaretsiz karakter r)
{
imzasız int w
için (w = 0w{

lcd_dat (s [w])
}
}

geçersiz lcd_initi ()
{
lcd_cmd (0x01)
gecikme (100)
lcd_cmd (0x38)
gecikme (100)
lcd_cmd (0x06)
gecikme (100)
lcd_cmd (0x0c)
gecikme (100)
}
void lcd_dat (işaretsiz karakter dat)
{
tarak = o
rs = 1
rw = 0

in = 1
gecikme (100)
in = 0
}
geçersiz lcd_cmd (işaretsiz karakter cmd)
{
geldi = cmd
rs = 0
rw = 0

in = 1
gecikme (100)
in = 0
}
void delay (unsigned int n)
{

imzasız int a
için (a = 0a}

4. Step motor arayüz devresi

Step Motor Tipleri-1

Unipolar Step Motor

KİME step motor hassas açısal hareket için en yaygın kullanılan motorlardan biridir. Kademeli motor kullanmanın avantajı, motorun açısal pozisyonunun herhangi bir geri bildirim mekanizması olmadan kontrol edilebilmesidir. Step motorlar endüstriyel ve ticari uygulamalarda yaygın olarak kullanılmaktadır. Robotlar, çamaşır makineleri vb. Tahrik sistemlerinde de yaygın olarak kullanılırlar.

Step Motor Tipleri-2

Bipolar Step Motor

Step motorlar tek kutuplu veya iki kutuplu olabilir ve burada tek kutuplu kademeli motor kullanıyoruz. Tek kutuplu step motor, dördü motorun bobinine bağlı ve ikisi ortak tel olan altı kablodan oluşur. Her bir ortak tel bir voltaj kaynağına bağlanır ve kalan teller mikrodenetleyiciye bağlanır.

Devre şeması:

Step motor arayüz devresi

Step motor arayüz devresi

Kaynak kodu:

#Dahil etmek
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3

geçersiz gecikme ()

void main ()
{

süre (1)
{

a = 0
b = 1
c = 1
d = 1
gecikme ()
a = 1
b = 0
c = 1
d = 1
gecikme ()
a = 1
b = 1
c = 0
d = 1
gecikme ()
a = 1
b = 1
c = 1
d = 0

}
}

geçersiz gecikme ()
{

işaretsiz karakter i, j, k
için (i = 0i<6i++)
için (j = 0j<255j++)
(k = 0k için<255k++)

}

5. 8051'e matris tuş takımı arabirimi

Açıklama:

Matrix Tuş Takımı

Matrix Tuş Takımı

Tuş takımı, telefon, bilgisayar, ATM, elektronik kilit vb. Birçok uygulamada yaygın olarak kullanılan bir giriş cihazıdır. Daha sonraki işlemler için kullanıcıdan girdi almak için bir tuş takımı kullanılır. Burada sıralar ve sütunlar halinde düzenlenmiş anahtarlardan oluşan 4'e 3 matris tuş takımı mikro denetleyiciye arayüzlü . Çıkışı görüntülemek için 16'ya 2 LCD arabirim de vardır.

Tuş takımının arayüz konsepti çok basittir. Her tuş takımına sıra ve sütun (R, C) olmak üzere iki benzersiz parametre atanır. Bu nedenle, bir tuşa her basıldığında numara tuş takımının sıra ve sütun numaralarını tespit ederek tanımlamaktadır.

Tuş Takımı İç Şeması

Tuş Takımı İç Şeması

Başlangıçta tüm satırlar denetleyici tarafından sıfıra ('0') ayarlanır ve herhangi bir tuşa basılıp basılmadığını kontrol etmek için sütunlar taranır. Herhangi bir tuşa basılmaması durumunda, tüm sütunların çıktısı yüksek ('1') olacaktır.

Devre şeması

8051

8051'e matris tuş takımı arabirimi

Kaynak kodu:

#Dahil etmek
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit at = P2 ^ 2
sbit c1 = P1 ^ 4
sbit c2 = P1 ^ 5
sbit c3 = P1 ^ 6
sbit r1 = P1 ^ 0
sbit r2 = P1 ^ 1
sbit r3 = P1 ^ 2
sbit r4 = P1 ^ 3
geçersiz lcd_initi ()
void lcd_dat (işaretsiz karakter)
void lcd_cmd (işaretsiz karakter)
void delay (unsigned int)
geçersiz görüntüleme (işaretsiz karakter * s, işaretsiz karakter r)

void main ()
{
lcd_initi ()
lcd_cmd (0x80)
gecikme (100)
ekran ('0987654321', 10)
süre (1)
}

geçersiz görüntüleme (işaretsiz karakter * s, işaretsiz karakter r)
{

imzasız int w
için (w = 0w{

lcd_dat (s [w])
}
}
geçersiz lcd_initi ()
{
lcd_cmd (0x01)
gecikme (100)
lcd_cmd (0x38)
gecikme (100)
lcd_cmd (0x06)
gecikme (100)
lcd_cmd (0x0c)
gecikme (100)
}

void lcd_dat (işaretsiz karakter dat)
{
tarak = o
rs = 1
rw = 0

in = 1
gecikme (100)
in = 0
}
geçersiz lcd_cmd (işaretsiz karakter cmd)
{
geldi = cmd
rs = 0
rw = 0

in = 1
gecikme (100)
in = 0

}
void delay (unsigned int n)
{

imzasız int a
için (a = 0a}
}

Temel ancak önemli arayüz devreleri hakkında geniş bilgi sağlayabilmiş olmayı umuyoruz. mikrodenetleyici 8051 . Bunlar, herhangi bir gömülü sistem uygulamasında gerekli olan en temel devrelerdir ve size iyi bir revizyon sağladığımızı umuyoruz.

Bu konuyla ilgili başka bir sorgu veya geri bildirim aşağıdaki yorum bölümünde belirtilebilir.

Fotoğrafa katkı verenler