Periferal Elektronik Utama yang Berinteraksi dengan Mikrokontroler 8051

Periferal Elektronik Utama yang Berinteraksi dengan Mikrokontroler 8051

Antarmuka adalah salah satu konsep penting dalam mikrokontroler 8051 karena mikrokontroler merupakan CPU yang dapat melakukan beberapa operasi pada suatu data dan memberikan keluaran. Namun untuk melakukan operasi tersebut kita membutuhkan perangkat input untuk memasukkan data dan pada gilirannya perangkat output menampilkan hasil operasi tersebut. Di sini kami menggunakan keyboard dan layar LCD sebagai perangkat input dan output bersama dengan mikrokontroler.



Mikrokontroler 8051 Perangkat periferal

Mikrokontroler 8051 Perangkat periferal

Antarmuka adalah proses menghubungkan perangkat bersama-sama sehingga mereka dapat bertukar informasi dan itu terbukti lebih mudah untuk menulis program. Ada berbagai jenis perangkat input dan output untuk kebutuhan kami seperti LED, LCD, 7segment, keypad, motor dan perangkat lainnya.






Di sini diberikan beberapa modul penting yang dihubungkan dengan mikrokontroler 8051.

1. Antarmuka LED ke Mikrokontroler:

Deskripsi:



LED paling sering digunakan dalam banyak aplikasi untuk menunjukkan keluaran. Mereka menemukan berbagai macam aplikasi sebagai indikator selama tes untuk memeriksa validitas hasil pada berbagai tahap. Mereka sangat murah dan mudah tersedia dalam berbagai bentuk, warna dan ukuran.

Light Emitting Diode

Light Emitting Diode

Prinsip pengoperasian LED sangat mudah. Sebuah LED sederhana juga server sebagai perangkat tampilan dasar, itu On dan OFF menyatakan arti informasi lengkap tentang suatu perangkat. LED umum yang tersedia memiliki penurunan tegangan 1,7v yang berarti ketika kita menerapkan di atas 1,7V, dioda bekerja. Dioda membutuhkan arus 10mA untuk bersinar dengan intensitas penuh.


Sirkuit berikut menjelaskan 'cara menyalakan LED'.

LED dapat dihubungkan ke mikrokontroler baik dalam konfigurasi anoda umum atau katoda umum. Di sini LED dihubungkan dalam konfigurasi anoda umum karena konfigurasi katoda umum mengkonsumsi lebih banyak daya.

Diagram Sirkuit

Antarmuka LED ke Mikrokontroler

Antarmuka LED ke Mikrokontroler

Kode sumber:

#include
void main ()
{
unsigned int i
sementara (1)
{
P0 = 0x00
untuk (i = 0i<30000i++)
P0 = 0xff
untuk (i = 0i<30000i++)
}
}

2. 7-Segmen Tampilan sirkuit interfacing

Deskripsi:
Tampilan tujuh segmen adalah layar elektronik paling dasar. Ini terdiri dari delapan LED yang dikaitkan secara berurutan sehingga dapat menampilkan angka dari 0 hingga 9 ketika kombinasi LED yang tepat dinyalakan. Tampilan 7-segmen menggunakan tujuh LED untuk menampilkan angka dari 0 hingga 9 dan LED ke-8 digunakan untuk titik. Tujuh segmen yang khas terlihat seperti yang ditunjukkan pada gambar di bawah ini.

Tampilan 7-Segmen

Tampilan 7-Segmen

Tampilan 7-segmen digunakan di sejumlah sistem untuk menampilkan informasi numerik. Mereka dapat menampilkan satu digit dalam satu waktu. Jadi jumlah segmen yang digunakan tergantung pada jumlah digit yang akan ditampilkan. Di sini angka 0 sampai 9 ditampilkan terus menerus pada waktu tunda yang telah ditentukan.

Tampilan 7 segmen tersedia dalam dua konfigurasi yaitu common anoda dan common katoda. Di sini konfigurasi anoda umum digunakan karena arus keluaran mikrokontroler tidak cukup untuk menggerakkan LED. Tampilan 7-segmen bekerja pada logika negatif, kita harus memberikan logika 0 ke pin yang sesuai agar LED menyala.

Konfigurasi Tampilan 7-Segmen

Konfigurasi Tampilan 7-Segmen

Tabel berikut menunjukkan nilai hex yang digunakan untuk menampilkan digit yang berbeda.

Tabel Tampilan 7-Segmen

Tabel Tampilan 7-Segmen

Diagram Sirkuit

7-Segment Display interfacing

7-Segment Display interfacing

Kode sumber:

#include
sbit a = P3 ^ 0
void main ()
{
karakter tak bertanda tangan [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
unsigned int i, j
a = 1
sementara (1)
{
untuk (i = 0i<10i++)
{
P2 = n [i]
untuk (j = 0j<60000j++)
}
}
}

3. Antarmuka LCD ke Mikrokontroler

LCD adalah singkatan dari liquid crystal display yang dapat menampilkan karakter per baris. Disini layar LCD 16 by 2 dapat menampilkan 16 karakter tiap barisnya dan ada 2 baris. Dalam LCD ini setiap karakter ditampilkan dalam matriks 5 * 7 piksel.

Layar LCD

Layar LCD

LCD adalah perangkat yang sangat penting yang digunakan untuk hampir semua perangkat otomatis seperti mesin cuci, robot otonom, sistem kontrol daya dan perangkat lainnya. Hal ini dicapai dengan menampilkan statusnya pada modul layar kecil seperti layar 7-seven segmen, LED multi segmen, dll. Alasannya adalah, harga LCD terjangkau, mudah diprogram dan tidak ada batasan untuk menampilkan karakter khusus.

Terdiri dari dua register seperti register perintah / instruksi dan register data.

Register perintah / instruksi menyimpan instruksi perintah yang diberikan ke LCD. Perintah adalah instruksi yang diberikan ke LCD yang melakukan serangkaian tugas yang telah ditentukan seperti menginisialisasi, membersihkan layar, mengatur posisi kursor, mengontrol tampilan, dll.

Register data menyimpan data untuk ditampilkan pada LCD. Data adalah nilai ASCII dari karakter yang akan ditampilkan pada LCD.

Pengoperasian LCD dikendalikan oleh dua perintah. Ketika RS = 0, R / W = 1 membaca data dan ketika RS = 1, R / W = 0, ia menulis (mencetak) data.

LCD menggunakan kode perintah berikut:

Perintah Layar LCD

Perintah Layar LCD

Diagram Sirkuit:

Antarmuka LCD ke Mikrokontroler

Antarmuka LCD ke Mikrokontroler

Kode sumber:

#include
#tentukan kam P0

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

void lcd_initi ()
void lcd_dat (karakter tidak bertanda tangan)
void lcd_cmd (karakter tidak bertanda tangan)
void delay (unsigned int)
void display (unsigned char * s, unsigned char r)
void main ()
{

lcd_initi ()
lcd_cmd (0x80)
penundaan (100)
tampilan ('EDGEFX TECHLNGS', 15)
lcd_cmd (0xc0)
tampilan ('KITS & SOLTIONS', 15)
sementara (1)
}

void display (unsigned char * s, unsigned char r)
{
unsigned int w
untuk (w = 0w{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
penundaan (100)
lcd_cmd (0x38)
penundaan (100)
lcd_cmd (0x06)
penundaan (100)
lcd_cmd (0x0c)
penundaan (100)
}
void lcd_dat (data karakter tidak bertanda)
{
sisir = itu
rs = 1
rw = 0

dalam = 1
penundaan (100)
dalam = 0
}
void lcd_cmd (unsigned char cmd)
{
datang = cmd
rs = 0
rw = 0

dalam = 1
penundaan (100)
dalam = 0
}
batal penundaan (unsigned int n)
{

unsigned int a
untuk (a = 0a}

4. Sirkuit interfacing motor stepper

Jenis Motor Stepper-1

Motor Stepper Unipolar

UNTUK motor stepper adalah salah satu motor yang paling umum digunakan untuk gerakan sudut yang presisi. Keuntungan menggunakan motor stepper adalah posisi sudut motor dapat dikontrol tanpa mekanisme umpan balik. Motor stepper banyak digunakan dalam aplikasi industri dan komersial. Mereka juga biasa digunakan seperti pada sistem penggerak seperti robot, mesin cuci, dll.

Jenis Motor Stepper-2

Motor Stepper Bipolar

Motor stepper bisa unipolar atau bipolar dan disini kita menggunakan motor stepper unipolar. Motor stepper unipolar terdiri dari enam kabel dimana empat di antaranya terhubung ke koil motor dan dua kabel umum. Setiap kabel biasa dihubungkan ke sumber tegangan dan kabel yang tersisa dihubungkan ke mikrokontroler.

Diagram Sirkuit:

Sirkuit penghubung motor stepper

Sirkuit penghubung motor stepper

Kode sumber:

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

batal penundaan ()

void main ()
{

sementara (1)
{

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

}
}

batal penundaan ()
{

unsigned char i, j, k
untuk (i = 0i<6i++)
untuk (j = 0j<255j++)
untuk (k = 0k<255k++)

}

5. Antarmuka keypad matriks ke 8.051

Deskripsi:

Papan tombol Matriks

Papan tombol Matriks

Keypad adalah perangkat input yang banyak digunakan dengan banyak aplikasi seperti telepon, komputer, ATM, kunci elektronik dll. Keypad digunakan untuk mengambil input dari pengguna untuk diproses lebih lanjut. Disini keypad matriks 4 x 3 yang terdiri dari saklar-saklar yang disusun dalam baris dan kolom dihubungkan ke mikrokontroler . LCD 16 x 2 juga dihubungkan untuk menampilkan output.

Konsep antarmuka keypad sangat sederhana. Setiap nomor keypad diberikan dua parameter unik yaitu baris dan kolom (R, C). Oleh karena itu setiap kali tombol ditekan, nomor tersebut mengidentifikasi dengan mendeteksi nomor baris dan kolom dari keypad.

Diagram Internal Keypad

Diagram Internal Keypad

Awalnya semua baris disetel ke nol ('0') oleh pengontrol dan kolom dipindai untuk memeriksa apakah ada tombol yang ditekan. Jika tidak ada tombol yang ditekan, output dari semua kolom akan menjadi tinggi ('1').

Diagram Sirkuit

Antarmuka keypad matriks ke 8051

Antarmuka keypad matriks ke 8051

Kode sumber:

#include
#tentukan kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit pada = 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
void lcd_initi ()
void lcd_dat (karakter tidak bertanda tangan)
void lcd_cmd (karakter tidak bertanda tangan)
void delay (unsigned int)
void display (unsigned char * s, unsigned char r)

void main ()
{
lcd_initi ()
lcd_cmd (0x80)
penundaan (100)
tampilan ('0987654321', 10)
sementara (1)
}

void display (unsigned char * s, unsigned char r)
{

unsigned int w
untuk (w = 0w{

lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
penundaan (100)
lcd_cmd (0x38)
penundaan (100)
lcd_cmd (0x06)
penundaan (100)
lcd_cmd (0x0c)
penundaan (100)
}

void lcd_dat (data karakter tidak bertanda)
{
sisir = itu
rs = 1
rw = 0

dalam = 1
penundaan (100)
dalam = 0
}
void lcd_cmd (unsigned char cmd)
{
datang = cmd
rs = 0
rw = 0

dalam = 1
penundaan (100)
dalam = 0

}
batal penundaan (unsigned int n)
{

unsigned int a
untuk (a = 0a}
}

Kami berharap kami dapat memberikan pengetahuan yang cukup tentang sirkuit interfacing dasar namun penting mikrokontroler 8051 . Ini adalah rangkaian paling dasar yang diperlukan dalam aplikasi sistem tertanam mana pun dan kami harap kami telah memberikan Anda revisi yang baik.

Pertanyaan atau umpan balik lebih lanjut terkait dengan topik ini dipersilakan untuk disebutkan di bagian komentar di bawah.

Kredit Foto