ربط الميكروكونترولر PIC16F877A مع لوحة مفاتيح Keypad ووحدة عرض LCD
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
ربط الميكروكونترولر PIC16F877A مع لوحة مفاتيح Keypad ووحدة عرض LCD
ربط الميكروكونترولر PIC16F877A مع لوحة مفاتيح Keypad ووحدة عرض LCD
سوف نستعرض كيفية قراءة مدخلات لوحة مفاتيح نوع 3X4 وكتابة النتيجة على وحدة عرض LCD ، الطريقة سهلة وبسيطة .
لوحة المفاتيح Keypad :
لوحة المفاتيح هى مصفوفة matrix من المفاتيح الضاغطة مرتبة فى صفوف وأعمدة لتوفير مدخلات المستخدم ، الشكل التالى يبين المخطط الأساسى للوحة المفاتيح نوع 3X4 :
كما فى المخطط ، تتكون لوحة المفاتيح من ثلاثة أعمدة columns وأربعة صفوف rows ، ومن هنا جاء الاسم ، عندما يضغط المستخدم على أحد مفاتيح اللوحة يحدث قصر (توصيل) بين العامود والصف المناظر لهذا المفتاح ، على سبيل المثال ، إذا ضغط المستخدم المفتاح “5” يدث قصر بين العامود الثانى col2 والصف الثانى row2 ، وإذا ضغط المستخدم على المفتاح “0” يحدث قصر بين العامود الثانى col2 والصف الرابع row4 ، وهلم جرا .
استخدام المترجم CCS C لقراءة لوحة المفاتيح :
يوفر المترجم CCS C مكتبة لقراءة لوحة المفاتيح تسمى kbd.c ، كل ما عليك القيام به هو ضم هذه المكتبة فى برنامجك (#include <kpd.c>) ، واستخدام الدالة kbd_getc(); لمسح لوحة المفاتيح .
المكتبة kbd.c تستخدم المنفذ Port D أو المنفذ Port B لربط لوحة المفاتيح كما هو مبين بالدائرة المبينة أدناه .
ملحوظة :
الدالة kbd_getc(); تعود بكود أسكى للمفتاح المضغوط ( تعود بحرف character) .
الدائرة الكهربية :
البرنامج :
سوف نستعرض كيفية قراءة مدخلات لوحة مفاتيح نوع 3X4 وكتابة النتيجة على وحدة عرض LCD ، الطريقة سهلة وبسيطة .
لوحة المفاتيح Keypad :
لوحة المفاتيح هى مصفوفة matrix من المفاتيح الضاغطة مرتبة فى صفوف وأعمدة لتوفير مدخلات المستخدم ، الشكل التالى يبين المخطط الأساسى للوحة المفاتيح نوع 3X4 :
كما فى المخطط ، تتكون لوحة المفاتيح من ثلاثة أعمدة columns وأربعة صفوف rows ، ومن هنا جاء الاسم ، عندما يضغط المستخدم على أحد مفاتيح اللوحة يحدث قصر (توصيل) بين العامود والصف المناظر لهذا المفتاح ، على سبيل المثال ، إذا ضغط المستخدم المفتاح “5” يدث قصر بين العامود الثانى col2 والصف الثانى row2 ، وإذا ضغط المستخدم على المفتاح “0” يحدث قصر بين العامود الثانى col2 والصف الرابع row4 ، وهلم جرا .
استخدام المترجم CCS C لقراءة لوحة المفاتيح :
يوفر المترجم CCS C مكتبة لقراءة لوحة المفاتيح تسمى kbd.c ، كل ما عليك القيام به هو ضم هذه المكتبة فى برنامجك (#include <kpd.c>) ، واستخدام الدالة kbd_getc(); لمسح لوحة المفاتيح .
المكتبة kbd.c تستخدم المنفذ Port D أو المنفذ Port B لربط لوحة المفاتيح كما هو مبين بالدائرة المبينة أدناه .
ملحوظة :
الدالة kbd_getc(); تعود بكود أسكى للمفتاح المضغوط ( تعود بحرف character) .
الدائرة الكهربية :
البرنامج :
- الكود:
/* PIC16F877A interface to 3x4 Keypad and 16x2 LCD */
#include <16f877a.h>
#use delay(clock=4000000)
#define use_portb_lcd TRUE
#include <lcd.c>
#include <kbd.c>
void main()
{
char k=0; // Character k to store keypad input
/* Peripherals Configurations */
lcd_init(); // Turn LCD ON, along with other initialization commands
kbd_init(); // Initialize Keypad
lcd_gotoxy(1,1); // point LCD cursor to col1 row1
lcd_putc("Hello World !!"); // print on LCD
lcd_gotoxy(1,2); // point LCD cursor to col1 row2
while(TRUE) // infinite loop
{
k = kbd_getc(); // read keypad input (if exists)
if(k!=0) // if key captured
{
lcd_putc(k); // print captured key to lcd
k=0; // reset k for another loop round
delay_ms(250); // delay between key presses
}
}
}
مواضيع مماثلة
» مراجعة برمجة الميكروكونترولر PIC من خلال مشاريع الميكروكونترولر PIC16F877A مع الدايودات المشعة للضوء والمترجم ميكروسى برو :
» فكرة إنشاء ثرموستات باستخدام المقاومة السالبة NTC والمحول ADC ووحدة العرض LCD مع المترجم CCS C
» المؤقتات والمقاطعة والميكروكونترولر PIC16F877A مع المترجم CCS C :
» مشروع قفل إلكترونى بسيط باستخدام ذاكرة EEPROM بالميكروكونترولر ولوحة مفاتيح وشاشة LCD :
» تدريبات ومشاريع الأردوينو Arduino Tutorials and Projects
» فكرة إنشاء ثرموستات باستخدام المقاومة السالبة NTC والمحول ADC ووحدة العرض LCD مع المترجم CCS C
» المؤقتات والمقاطعة والميكروكونترولر PIC16F877A مع المترجم CCS C :
» مشروع قفل إلكترونى بسيط باستخدام ذاكرة EEPROM بالميكروكونترولر ولوحة مفاتيح وشاشة LCD :
» تدريبات ومشاريع الأردوينو Arduino Tutorials and Projects
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى