منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > منتدى الحاكمات الدقيقة Microcontroller > منتدى المتحكمات ميكرو بلغة السي MikroC

  #1  
قديم 07-31-2011, 03:10 AM
الصورة الرمزية احمدابوالمعاطى
احمدابوالمعاطى احمدابوالمعاطى غير متواجد حالياً
أستاذ
PIC Microcontroller
 
تاريخ التسجيل: May 2009
المشاركات: 294
معدل تقييم المستوى: 14
احمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the rough
افتراضي التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

التدريب الشامل على استخدام وحدات العرض LCD فى قياس الجهد أودرجة الحرارة أو أى كمية فيزيائية أخرى






هذا التدريب يوضح استخدام المحول من تناظرى لرقمى ADC ووحدة العرض LCD .
توجد عدة تقنيات لكتابة هذا البرنامج وسوف اتبع التقنية الأوسع انتشارا .
دوال المكتبات تسهل هذا البرنامج وهو ما يعني أن الجهود المبذولة لإنشاء برمجيات تؤتي ثمارها في النهاية.

ملخص لبرنامج التدريب :
  • فى البداية يتم عرض رسالة إفتتاحية مكونة من سطرين ( يمكنك تغييرهما ):
ENG.F.ABD ELAZIZ


LCD example
  • بعد ثانيتين تتغير الرسالة الافتتاحية المعروضة فى السطر الثانى ليتم عرض الجهد الموجود على مدخل المحول A/D بالطرف RA2 أى على سبيل المثال :
ENG.F.ABD ELAZIZ
voltage:2.497V
  • فى الأجهزة الفعلية يمكن عرض درجة الحرارة الحالية أو أى قيمة فيزيائية أخرى بدلا من الجهد .
من أجل أن يعمل البرنامج بشكل صحيح يجب جلب المكتبات الآتية لمدير المكتبة قبل الترجمة :

· ADC
· LCD

التعليق على البرنامج :

1- المقدمة

/*Header******************************************* ***********/

2- التعريف بتوصيلات وحدة العرض LCD :

يستخدم التعبير :
sbit LCD_RS at RB4_bit ;








3- الإعلان عن المتغيرات :
  • المتغير unsigned char ch ( 1 بايت – المدى 0 - 255) .
  • المتغير unsigned int adc_rd (2 بايت – المدى 0 - 65535 )
  • المتغير char *text مؤشر إلى النص المطلوب كتابته وهو من نوع char .




1- الدالة الرئيسية :


أ- إعداد المنافذ
  • إعداد القناة الثانية AN2 بالطرف RA2 كمدخل تناظرى وباقى الأطراف كمداخل / مخارج رقمية .







ب*- تهيئة وحدة العرض LCD
  • التهيئة بالدالة Lcd_Init( ) ; وعدم إظهار المؤشر بالأمر Lcd_Cmd(_LCD_CURSOR_OFF) ; ومسح الشاشة بالأمر Lcd_Cmd(_LCD_CURSOR_OFF) ; .




كتابة الافتتاحية :
  • السطر الأول ENG.F.ABD ELAZIZ والسطر الثانى LCD example حيث يتم إسناد نص للمتغير text الذى تم الإشارة إلية text = "ENG.F.ABD ELAZIZ" ; واستخدام الدالة Lcd_Out(1,1,text) ; ) فى إرساله إلى وحدة العرض وتحديد بدايته بالصف الأول والعامود الأول .
  • بينما النص text = "LCD example" ; فيتم تحديد بدايته بالصف الثانى والعامود الأول .
  • ونستخدم دالة التأخير Delay_ms(2000) ; ) فى الانتظار المدة الكافية للعرض قبل الانتقال للعرض القادم وهى هنا 2 ثانية .





ب*- بداية العرض الثانى والدائم :
  • سوف نترك السطر الأول الأول كما هو (بالطبع يمكن تغييره) ونغير فى الصف الثانى بحيث يظهر على الصور voltage:2.497V . وهو مكون من عدة أجزاء وسوف يتم معالجة جزء جزء .
· الجزء الأول هو كلمة (النص) voltage: " " ويتم كتابتة بالطريقة المعتادة حيث يعرف أولا بالصيغة text = "voltage:" ; لحين كتابته بالدالة Lcd_Out .

ت*- ننشأ حلقة غير منتهية while (1) {….} تحتوى على :
  • قراءة الجهد التناظرى من على دخل القناة التناظرية الثانية وتحويله إلى قيمة رقمية ذو عشر خانات ونسخها إلى المتغير adc_rd بالدالة adc_rd = ADC_Read(2); .
  • كتابة النص "voltage:" من بدايةالصف الثانى والعاكود الأول بالدالة Lcd_Out(2,1,text) ;





  • تحويل نتيجة التحول وهى عدد يقع بين 0 و 1023 إلى قيمة إخرى تمثل جهد يقع بين 0 و 5000mV . بمعنى أن نفس العدد الداخلى 1023 يجب إظهاره خارجيا على الشاشة فى شكل العدد 5000 فإذا ضرب العدد 1023 فى 5000 وقسمنا النتيجة على 1023 لكانت النتيجة 5000 فقط أى تم تحوي المدى من 0 إلى 1023 لكى يظهر على صورة مدى من 0 إلى 5000 وهو ما يعرف بموائمة التدريج scale , وهذا ما يحدث مع أى عدد يمثل النتيجة التناظرية الحالية adc_rd حيث يجب ضربه فى 5000 ثم قسمة الناتج على 1023 وحفظ الناتج فى المتغير tlong مع ملاحظة الآتى :
أ*- أن الضرب أولا ثم القسمة .
ب*- وعند ضرب محتويات المتغيرadc_rd فى 5000 سوف تخرج عن المدى المعلن عنه فى البداية وهو unsigned int adc_rd (2 بايت – المدى 0 - 65535 ) لذلك يجب توسعته بكتابة (long) قبله حتى تكون سعته 4 بايت .





  • أصبح لدينا قيمة مكونة من أربع أرقام تبدأ بالعدد صفر 0000 وتنتهى بالعدد 5000 أى تتكون من اليسار من : رقم للآلاف - ورقم للمئات – ورقم للعشرات – ورقم للآحاد .
  • للحصول على رقم الآلاف نقسم النتيجة على 1000 والعدد الصحيح هو الرقم المطلوب ويحفظ فى المتغير ch والكسر لن يظهر ولن يؤثر لأن النتيجة المطلوبة هى صحيح خارج القسمة وهى خاصية عملية القسمة باستخدام المؤثر " / " كما يلى :





  • بالطبع هذا الرقم يقع بين 0 و 9 وكى يظهر فى هذا الشكل على وحدة العرض LCD يجب تحويله من خريطة أسكى أو باختصار يضاف إليه العدد 48 ليكون 48+ch . من ثم نكتب هذا الرقم باستخدام دالة كتابة "حرف" Lcd_chr فى الصف الثانى والعمود التاسع ( يلى الثمانى أحرف voltage: مباشرة )
  • نكتب العلامة العشرية كحرف فى الموقع الحالى للمؤشر أى بعد رقم الآلاف بالدالة Lcd_Chr_CP :



  • الحصول على رقم المئات : بقسمة محتويات المتغير tiong ( بالملى فولت) أولا على 100 لايجاد آخر رقمين من على اليسار ثم نوجد باقى قسمة الناتج على الرقم 10 بالموثر "% " فينتج الرقم الموجود فى خانة المئات فيتم حفظه بالمتغير ch أى ch = (tlong / 100) % 10 ;.
  • ثم كتابته (بعد تحويله بإضافة العدد 48) فى مكان المؤشر الحالى أى بعد العلامة العشرية بالدالة Lcd_Chr_CP(48+ch) ; .




  • كرر لعدد العشرات :




  • كرر لعدد الآحاد :





وأخيرا كتابة حرف V ثم تأخير زمنى وتكرار الحلقة إلى مالانهاية :


البرنامج :







النتيجة :


صاحب الموضوع الاصلى المهندس F.Abdelaziz
رد مع اقتباس
  #2  
قديم 07-31-2011, 03:22 AM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,241
معدل تقييم المستوى: 24
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

موضوع غاية فى الجمال

جزاكم الله كل خير
__________________
رد مع اقتباس
  #3  
قديم 07-31-2011, 03:27 AM
الصورة الرمزية احمدابوالمعاطى
احمدابوالمعاطى احمدابوالمعاطى غير متواجد حالياً
أستاذ
PIC Microcontroller
 
تاريخ التسجيل: May 2009
المشاركات: 294
معدل تقييم المستوى: 14
احمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the rough
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

شكرا اخى الكريم وما زاد الموضوع من جمال مرورك عليه
رد مع اقتباس
  #4  
قديم 08-08-2011, 08:50 AM
م جميل السامرائي م جميل السامرائي غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Apr 2011
المشاركات: 51
معدل تقييم المستوى: 9
م جميل السامرائي is on a distinguished road
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

استاذ الفاضل احمدابوالمعاطى المحترم
هل ممكنان تضع البرنامج لاني البرنامج لم ينفذ في micro c*
رد مع اقتباس
  #5  
قديم 08-13-2011, 05:54 AM
الصورة الرمزية m.tolba
m.tolba m.tolba غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Jun 2011
المشاركات: 74
معدل تقييم المستوى: 9
m.tolba is on a distinguished road
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

شكرا جزيلا علي الموضوع الأكثر من رائع و ننتظر من حضرتك إكمال الموضوع
رد مع اقتباس
  #6  
قديم 08-18-2011, 02:39 AM
الصورة الرمزية احمدابوالمعاطى
احمدابوالمعاطى احمدابوالمعاطى غير متواجد حالياً
أستاذ
PIC Microcontroller
 
تاريخ التسجيل: May 2009
المشاركات: 294
معدل تقييم المستوى: 14
احمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the rough
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

اقتباس:
المشاركة الأصلية كتبت بواسطة m.tolba مشاهدة المشاركة
شكرا جزيلا علي الموضوع الأكثر من رائع و ننتظر من حضرتك إكمال الموضوع

ان شاء الله سوف ارفق ملف البروتوس والبرنامج فى اقرب فرصه واعذرنى لضيق الوقت فى الشهر الكريم
رد مع اقتباس
  #7  
قديم 08-18-2011, 03:40 AM
osser osser غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Oct 2010
المشاركات: 10
معدل تقييم المستوى: 0
osser is on a distinguished road
Talking رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

شكرا لك اخي الفاضل و جازى الله خيرا المهندس الفذ اخونا فتح الله. فتح الله عليه
رد مع اقتباس
  #8  
قديم 08-19-2011, 09:01 AM
الصورة الرمزية احمدابوالمعاطى
احمدابوالمعاطى احمدابوالمعاطى غير متواجد حالياً
أستاذ
PIC Microcontroller
 
تاريخ التسجيل: May 2009
المشاركات: 294
معدل تقييم المستوى: 14
احمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the rough
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

اقتباس:
المشاركة الأصلية كتبت بواسطة osser مشاهدة المشاركة
شكرا لك اخي الفاضل و جازى الله خيرا المهندس الفذ اخونا فتح الله. فتح الله عليه
بارك الله لك اخى
رد مع اقتباس
  #9  
قديم 08-19-2011, 09:03 AM
الصورة الرمزية احمدابوالمعاطى
احمدابوالمعاطى احمدابوالمعاطى غير متواجد حالياً
أستاذ
PIC Microcontroller
 
تاريخ التسجيل: May 2009
المشاركات: 294
معدل تقييم المستوى: 14
احمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the roughاحمدابوالمعاطى is a jewel in the rough
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

ملف المحاكاه والبرنامج

من هنا





رد مع اقتباس
  #10  
قديم 09-02-2011, 11:36 PM
btibad btibad غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Aug 2011
المشاركات: 42
معدل تقييم المستوى: 0
btibad is on a distinguished road
افتراضي رد: التدريب الشامل على استخدام وحدات العرض lcd فى قياس الجهد أودرجة الحرارة أو أى كمية

ممكن نرسل لنا الموضوع في ملف pdf او word
وشكرا
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 01:40 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77