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
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
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
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 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
Jadual berikut menunjukkan nilai hex yang digunakan untuk memaparkan digit yang berbeza.
Jadual Paparan 7-Segmen
Rajah Litar
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
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
Rajah Litar:
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
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.
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
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 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
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
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
- Peranti mikrokontroler 8051 oleh aninditadhikary
- Paparan 7-Segmen oleh alat elektronik
- Konfigurasi Paparan 7-Segmen oleh thelearningpit
- Paparan LCD oleh bp.blogspot
- Stepper Unipolar & Bipolar oleh jurutera
- Pad Kekunci Matriks oleh vetco
- Rajah Dalaman Pad Kekunci oleh bp.blogspot