Periferal Elektronik Utama yang Berinteraksi dengan Mikrokontroler 8051

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Interfacing adalah salah satu konsep penting dalam mikrokontroler 8051 kerana mikrokontroler adalah CPU yang dapat melakukan beberapa operasi pada data dan memberikan output. Namun untuk melakukan operasi kita memerlukan perangkat input untuk memasukkan data dan pada gilirannya peranti output memaparkan hasil operasi. Di sini kita menggunakan papan kekunci dan paparan LCD sebagai peranti input dan output bersama dengan mikrokontroler.

Peranti mikrokontroler 8051

Peranti mikrokontroler 8051



Interfacing adalah proses menyambungkan peranti bersama-sama sehingga mereka dapat bertukar maklumat dan terbukti lebih mudah untuk menulis program. Terdapat pelbagai jenis input dan output peranti untuk keperluan kami seperti LED, LCD, 7segment, keypad, motor dan peranti lain.


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



1. Antaramuka LED ke Mikrokontroler:

Penerangan:

LED paling sering digunakan dalam banyak aplikasi untuk menunjukkan output. Mereka menemui sebilangan besar aplikasi sebagai petunjuk semasa ujian untuk memeriksa kesahihan keputusan pada tahap yang berbeza. Mereka sangat murah dan mudah didapati dalam pelbagai bentuk, warna dan saiz.

Diod pemancar cahaya

Diod pemancar cahaya

Prinsip operasi LED sangat mudah. LED sederhana juga berfungsi sebagai peranti paparan asas, keadaan Hidup dan NONAKTIF menyatakan maklumat penuh mengenai peranti. LED yang tersedia biasa mempunyai penurunan voltan 1.7v yang bermaksud apabila kita menggunakan di atas 1.7V, diod tersebut akan dijalankan. Diod memerlukan arus 10mA untuk bersinar dengan intensiti penuh.


Litar berikut menerangkan 'cara menyalakan LED'.

LED boleh dihubungkan ke mikrokontroler dalam konfigurasi anod biasa atau katod biasa. Di sini LED disambungkan dalam konfigurasi anod biasa kerana konfigurasi katod biasa menggunakan lebih banyak kuasa.

Rajah Litar

LED Antara Muka ke Pengawal Mikro

LED Antara Muka ke Pengawal Mikro

Kod sumber:

#sertakan
kekosongan utama ()
{
int tidak bertanda tangan i
semasa (1)
{
P0 = 0x00
untuk (i = 0i<30000i++)
P0 = 0xff
untuk (i = 0i<30000i++)
}
}

2. Litar antara muka Paparan 7-Segmen

Penerangan:
Paparan tujuh segmen adalah paparan elektronik paling asas. Ini terdiri daripada lapan LED yang dihubungkan secara berurutan sehingga dapat menampilkan digit dari 0 hingga 9 ketika kombinasi LED yang betul dihidupkan. Paparan 7 segmen menggunakan tujuh LED untuk memaparkan digit dari 0 hingga 9 dan LED ke-8 digunakan untuk titik. Tujuh segmen khas kelihatan seperti yang ditunjukkan dalam gambar di bawah.

Paparan 7-Segmen

Paparan 7-Segmen

Paparan 7 segmen digunakan dalam sejumlah sistem untuk memaparkan maklumat angka. Mereka dapat memaparkan satu digit pada satu masa. Oleh itu, bilangan segmen yang digunakan bergantung pada jumlah digit yang akan dipaparkan. Di sini digit 0 hingga 9 dipaparkan secara berterusan pada kelewatan masa yang telah ditentukan.

Paparan 7 segmen boleh didapati dalam dua konfigurasi iaitu anod biasa dan katod biasa. Di sini konfigurasi anod biasa digunakan kerana arus keluaran mikrokontroler tidak mencukupi untuk menggerakkan LED. Paparan 7-segmen berfungsi pada logik negatif, kita harus memberikan logik 0 ke pin yang sesuai untuk membuat cahaya LED.

Konfigurasi Paparan 7-Segmen

Konfigurasi Paparan 7-Segmen

Jadual berikut menunjukkan nilai hex yang digunakan untuk memaparkan digit yang berbeza.

Jadual Paparan 7-Segmen

Jadual Paparan 7-Segmen

Rajah Litar

Antaramuka Paparan 7-Segmen

Antaramuka Paparan 7-Segmen

Kod sumber:

#sertakan
sbit a = P3 ^ 0
kekosongan utama ()
{
tanda tidak bertanda n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
int i, j
a = 1
semasa (1)
{
untuk (i = 0i<10i++)
{
P2 = n [i]
untuk (j = 0j<60000j++)
}
}
}

3. Antaramuka LCD ke Mikrokontroler

LCD bermaksud paparan kristal cair yang dapat menampilkan watak setiap baris. Di sini paparan LCD 16 x 2 dapat memaparkan 16 aksara setiap baris dan terdapat 2 baris. Dalam LCD ini setiap watak dipaparkan dalam matriks 5 * 7 piksel.

Paparan LCD

Paparan LCD

LCD adalah alat yang sangat penting yang digunakan untuk hampir semua peranti automatik seperti mesin basuh, robot autonomi, sistem kawalan kuasa dan peranti lain. Ini dicapai dengan menampilkan status mereka pada modul paparan kecil seperti paparan segmen 7-tujuh, LED pelbagai segmen dan lain-lain. Sebabnya, LCD berharga masuk akal, mudah diprogramkan dan mereka tidak mempunyai batasan untuk menampilkan watak khas.

Ia terdiri daripada dua daftar seperti daftar arahan / arahan dan daftar data.

Daftar arahan / arahan menyimpan arahan arahan yang diberikan kepada LCD. Perintah adalah arahan yang diberikan kepada LCD yang melakukan sekumpulan tugas yang telah ditentukan seperti menginisialisasi, membersihkan layar, mengatur kursor berpose, mengendalikan paparan dll.

Daftar data menyimpan data yang akan dipaparkan di LCD. Data adalah nilai ASCII watak yang akan dipaparkan di LCD.

Operasi LCD dikendalikan oleh dua arahan. Apabila RS = 0, R / W = 1 ia membaca data dan ketika RS = 1, R / W = 0, ia menulis (mencetak) data.

LCD menggunakan kod arahan berikut:

Perintah Paparan LCD

Perintah Paparan LCD

Rajah Litar:

Antara muka LCD ke Mikrokontroler

Antara muka LCD ke Mikrokontroler

Kod sumber:

#sertakan
#tentukan kam P0

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

batal lcd_initi ()
batal lcd_dat (char tidak bertanda tangan)
batal lcd_cmd (char tidak bertanda tangan)
kelewatan tidak sah (int tidak ditandatangani)
paparan kekosongan (char *s yang tidak ditandatangani, char yang tidak ditandatangani)
kekosongan utama ()
{

lcd_initi ()
lcd_cmd (0x80)
kelewatan (100)
paparan ('EDGEFX TECHLNGS', 15)
lcd_cmd (0xc0)
paparan ('KIT & PENYELESAIAN', 15)
semasa (1)
}

paparan kekosongan (char *s yang tidak ditandatangani, char yang tidak ditandatangani)
{
int tidak bertanda tangan
untuk (w = 0w{

lcd_dat (s [w])
}
}

batal lcd_initi ()
{
lcd_cmd (0x01)
kelewatan (100)
lcd_cmd (0x38)
kelewatan (100)
lcd_cmd (0x06)
kelewatan (100)
lcd_cmd (0x0c)
kelewatan (100)
}
batal lcd_dat (dat yang tidak ditandatangani)
{
sisir = itu
rs = 1
rw = 0

dalam = 1
kelewatan (100)
dalam = 0
}
batal lcd_cmd (char cmd yang tidak ditandatangani)
{
datang = cmd
rs = 0
rw = 0

dalam = 1
kelewatan (100)
dalam = 0
}
kelewatan tidak sah (int tidak ditandatangani)
{

tidak bertanda tangan a
untuk (a = 0a}

4. Litar penghubung motor stepper

Jenis Motor Stepper-1

Motor Stepper Unipolar

KE motor stepper adalah salah satu motor yang paling biasa digunakan untuk pergerakan sudut tepat. Kelebihan menggunakan motor stepper ialah kedudukan sudut motor dapat dikawal tanpa adanya mekanisme maklum balas. Motor stepper banyak digunakan dalam aplikasi industri dan komersial. Mereka juga biasa digunakan dalam sistem pemacu seperti robot, mesin basuh dll.

Jenis-jenis Stepper Motors-2

Motor Stepper Bipolar

Motor stepper boleh menjadi unipolar atau bipolar dan di sini kita menggunakan motor stepper unipolar. Motor stepper unipolar terdiri daripada enam wayar di antaranya empat disambungkan ke gegelung motor dan dua adalah wayar biasa. Setiap wayar biasa disambungkan ke sumber voltan dan wayar yang tersisa disambungkan ke mikrokontroler.

Rajah Litar:

Litar antara muka motor stepper

Litar antara muka motor stepper

Kod sumber:

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

kelewatan tidak sah ()

kekosongan utama ()
{

semasa (1)
{

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

}
}

kelewatan tidak sah ()
{

char i, j, k yang tidak ditandatangani
untuk (i = 0i<6i++)
untuk (j = 0j<255j++)
untuk (k = 0k<255k++)

}

5. Pad muka pad matriks ke 8051

Penerangan:

Pad Kekunci Matriks

Pad Kekunci Matriks

Pad kekunci adalah peranti input yang banyak digunakan dengan banyak aplikasi seperti telefon, komputer, ATM, kunci elektronik dan lain-lain. Pad kekunci digunakan untuk mengambil input dari pengguna untuk proses selanjutnya. Di sini pad kekunci 4 by 3 matriks yang terdiri daripada suis yang disusun dalam baris dan lajur adalah dihubungkan ke mikrokontroler . LCD 16 by 2 juga dihubungkan untuk memaparkan output.

Konsep pad kekunci antara muka sangat mudah. Setiap bilangan papan kekunci diberikan dua parameter unik iaitu baris dan lajur (R, C). Oleh itu setiap kali kekunci ditekan, nombor akan dikenal pasti dengan mengesan nombor baris dan lajur papan kekunci.

Rajah Dalaman Pad Kekunci

Rajah Dalaman Pad Kekunci

Pada mulanya semua baris diatur ke sifar (‘0’) oleh pengawal dan lajur diimbas untuk memeriksa apakah ada kekunci yang ditekan. Sekiranya tidak ada kekunci ditekan, output semua lajur akan tinggi (‘1’).

Rajah Litar

Pad muka pad matriks ke 8051

Pad muka pad matriks ke 8051

Kod sumber:

#sertakan
#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
batal lcd_initi ()
batal lcd_dat (char tidak bertanda tangan)
batal lcd_cmd (char tidak bertanda tangan)
kelewatan tidak sah (int tidak ditandatangani)
paparan kekosongan (char *s yang tidak ditandatangani, char yang tidak ditandatangani)

kekosongan utama ()
{
lcd_initi ()
lcd_cmd (0x80)
kelewatan (100)
paparan ('0987654321', 10)
semasa (1)
}

paparan kekosongan (char *s yang tidak ditandatangani, char yang tidak ditandatangani)
{

int tidak bertanda tangan
untuk (w = 0w{

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

batal lcd_dat (dat yang tidak ditandatangani)
{
sisir = itu
rs = 1
rw = 0

dalam = 1
kelewatan (100)
dalam = 0
}
batal lcd_cmd (char cmd yang tidak ditandatangani)
{
datang = cmd
rs = 0
rw = 0

dalam = 1
kelewatan (100)
dalam = 0

}
kelewatan tidak sah (int tidak ditandatangani)
{

tidak bertanda tangan a
untuk (a = 0a}
}

Kami harap kami dapat memberikan banyak pengetahuan mengenai rangkaian antara muka asas tetapi penting mikrokontroler 8051 . Ini adalah litar paling asas yang diperlukan dalam mana-mana aplikasi sistem tertanam dan kami harap kami memberikan semakan yang baik kepada anda.

Pertanyaan atau maklum balas lebih lanjut yang berkaitan dengan topik ini dipersilakan untuk disebut di bahagian komen di bawah.

Kredit Foto