منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :

اذهب الى الأسفل

استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد : Empty استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :

مُساهمة من طرف Admin الأحد مايو 03, 2015 12:26 am

استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
يتضمن المترجم CCS C مكتبة دوال لتشغيل لوحة مفاتيح 3 X 4 تسمى KBD.C ، تحتوى على المكتبات التالية :

• الدالة kbd_init() :

لتهيئة لوحة المفاتيح ، ويجب وضعها فى الدالة الرئيسية .

• الدالة kbd_getc() : للحصول على بيانات المفتاح الذى تم الضغط عليه وفقا لما هو مذكور بالملف kbd.c ، كما هو مبين بالشكل التالى :

استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد : 124

كما هو موضح بالملف kbd.c ، يمكن ربط لوحة المفاتيح مع المنفذ PORTB أو المنفذ PORTD

استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد : 221

المنفذ الافتراضى اربط لوحة المفاتيح هو المنفذ PORTD ، ولربطها مع المنفذ PORTB يتم إزالة رمز التعليق “//” من أمام السطر المبين بالشكل التالى ، مع التأكد من المنفذ المستخدم به مقامات رفع (أو وحدة LCD) فى أطراف الأعمدة :

استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد : 317

تدريب : استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد :
الأدوات المستخدمة فى برنامج المحاكاة ISIS : PIC16F877A , LM016L , KEYPAD-PHONE .


استخدام وحدة LCD لعرض بيانات المفتاح الذى تم الضغط عليه باستخدام الربط مع منفذ واحد : 415

البرنامج :

الكود:


#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");
      }
  }
}


Admin
Admin

عدد المساهمات : 1194
تاريخ التسجيل : 28/01/2014

https://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى