استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
يتضمن المترجم CCS C مكتبة دوال لتشغيل لوحة مفاتيح 3 X 4 تسمى KBD.C ، تحتوى على المكتبات التالية :
• الدالة kbd_init() :
لتهيئة لوحة المفاتيح ، ويجب وضعها فى الدالة الرئيسية .
• الدالة kbd_getc() : للحصول على بيانات المفتاح الذى تم الضغط عليه وفقا لما هو مذكور بالملف kbd.c ، كما هو مبين بالشكل التالى :
كما هو موضح بالملف kbd.c ، يمكن ربط لوحة المفاتيح مع المنفذ PORTB أو المنفذ PORTD
المنفذ الافتراضى اربط لوحة المفاتيح هو المنفذ PORTD ، ولربطها مع المنفذ PORTB يتم إزالة رمز التعليق “//” من أمام السطر المبين بالشكل التالى ، مع التأكد من المنفذ المستخدم به مقامات رفع (أو وحدة LCD) فى أطراف الأعمدة :
تدريب : استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
الأدوات المستخدمة فى برنامج المحاكاة ISIS : PIC16F877A , LM016L , KEYPAD-PHONE .
البرنامج :
يتضمن المترجم CCS C مكتبة دوال لتشغيل لوحة مفاتيح 3 X 4 تسمى KBD.C ، تحتوى على المكتبات التالية :
• الدالة kbd_init() :
لتهيئة لوحة المفاتيح ، ويجب وضعها فى الدالة الرئيسية .
• الدالة kbd_getc() : للحصول على بيانات المفتاح الذى تم الضغط عليه وفقا لما هو مذكور بالملف kbd.c ، كما هو مبين بالشكل التالى :
كما هو موضح بالملف kbd.c ، يمكن ربط لوحة المفاتيح مع المنفذ PORTB أو المنفذ PORTD
المنفذ الافتراضى اربط لوحة المفاتيح هو المنفذ PORTD ، ولربطها مع المنفذ PORTB يتم إزالة رمز التعليق “//” من أمام السطر المبين بالشكل التالى ، مع التأكد من المنفذ المستخدم به مقامات رفع (أو وحدة LCD) فى أطراف الأعمدة :
تدريب : استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
الأدوات المستخدمة فى برنامج المحاكاة ISIS : PIC16F877A , LM016L , KEYPAD-PHONE .
البرنامج :
- الكود:
#include <16F877A.h>
#use delay(clock= 4000000)
#define use_portb_kbd TRUE
#define use_portb_lcd TRUE
#include <lcd.c>
#include <kbd.c>
void main() {
char k;
int x;
lcd_init();
kbd_init();
port_b_pullups(TRUE);
lcd_putc("\fPreee Key...\n"); // Initially clear screen and print fPreee Key... , then new line
while (TRUE) {
k=kbd_getc(); // get key as character , save in k
x=k-48; //convert character k to numeric value x
if(k!=0){ // if any key is pressed
if(k=='*') // if k is *
lcd_putc('\f'); // clear screen
else
lcd_putc(k); // r print character k
delay_ms(1000);
//after that or both cases
printf(lcd_putc,"\f Char=%c",k); // clear and print k as character %c
delay_ms(1000);
printf(lcd_putc,"\f Char=%u",k); //clear and Print k as ASCII value %u
delay_ms(1000);
printf(lcd_putc,"\f Nume=%u",x); //clear and Print the numerical value of the character
delay_ms(1000);
lcd_putc("\fPress Key...\n");
}
}
}
مواضيع مماثلة
» الليد ماتريكس LED MATRIX علميا وعمليا والبرمجة بلغة السى والمترجم MIKROC والمترجم CCS C :
» كيفية البدء فى عمل شاشة ليد ماتريكس ناجحة والبرمجة بلغة السى مع المترجم ميكروسى برو :
» دليل برمجة وحدة العرض LCD باستخدام المترجم mikroC PRO
» تدريب : برنامج بسيط لعداد تصاعدى تنازلى باستخدام وحدة العرض LCD :
» تدريب : برنامج إنشاء ساعة بسيطة قابلة للإعداد (الضبط) باستخدام وحدة العرض LCD :
» كيفية البدء فى عمل شاشة ليد ماتريكس ناجحة والبرمجة بلغة السى مع المترجم ميكروسى برو :
» دليل برمجة وحدة العرض LCD باستخدام المترجم mikroC PRO
» تدريب : برنامج بسيط لعداد تصاعدى تنازلى باستخدام وحدة العرض LCD :
» تدريب : برنامج إنشاء ساعة بسيطة قابلة للإعداد (الضبط) باستخدام وحدة العرض LCD :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى