قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 27-11-2012, 10:40 AM المشاركة 81   
افتراضي



كل عام و الامة الاسلامية بالف خير
مرحبا بك أخ شهاب فى هذا المنتدى الكبير ، ويشرفنى أن تكون أولى مشاركاتك هنا ، وكل عام وأنت بخير

--------

السلام عليكم

نعود من جديد مع كود البرنامج


كود:
 
// PIC18F4550  40MHz
كود:
 
unsigned long tmp[128], Var; char Xx , Yy2 ; #include "pin_connect.c" #include "Logo.c" void main() { delay_ms(2); trisd = 0; adcon1=0b111 ; Glcd_Init(); do{ for ( Xx=0; Xx<127; Xx++){ tmp[xx] = ADC_Read(0);
}
delay_ms(500); Glcd_Image(bldgs);
for ( Xx=0; Xx<127; Xx++){ Var = tmp[xx] * 64 ; Var= Var >> 10 ;
if( Xx==0){ Yy2= 0 ;}
Glcd_Line( Xx , 65-var , Xx , 65-Yy2 , 1); Yy2= Var ; } // }while (1); }





كتبت البرنامج بلغة السى لأنى أرى الكثير فى هذا المنتدى يتعامل بها بخلاف مشروعى القديم عن جهاز راسم الموجات منذ أعوام فقد نفذته بلغة المايكرو بيزيك



فى البرنامج قمنا بحجز المتغيرات اللازمة حسب حجمها المطلوب




كود:
 
unsigned long tmp[128], Var; char Xx , Yy2 ;


ثم بعدها استدعاء ملف أسماء الأطراف الخاصة بالشاشة وبيانات الرسم




كود:
 
  #include "pin_connect.c"
 #include "Logo.c"



ثم بعدها تعيين منفذ B كمنفذ رقمى دخل وخرج



كود:
 
trisd = 0; adcon1=0b111 ;
ثم بعدها حلقة تكرارية بعدد أعمدة الشاشة لقراءة القيم الداخلة من الإشارة المطلوب رسمها حيث تتم القراءة فى زمن معلوم يتوقف عليه معرفة تردد الإشارة

كود:
for ( Xx=0; Xx<127; Xx++){
        tmp[xx]  = ADC_Read(0);
      }


بعد ذلك قمت بعمل حلقة تكرارية بعدد أعمدة الشاشة لرسم الإشارة بحسب الإحداثيات التى تم تخزينها فى المصفوفة


كود:
for ( Xx=0; Xx<127; Xx++){
       Var = tmp[xx] * 64 ;     Var= Var >> 10 ;

       if( Xx==0){ Yy2= 0 ;}
         Glcd_Line( Xx , 65-var , Xx , 65-Yy2 , 1);
        Yy2= Var ;
      }


نلاحظ أنى لم أستخدم خاصية الرسم فى الوضع المخفى ثم إظهار الصورة مرة واحدة ولكن يتم هنا الرسم على الشاشة لمراعاة تبسيط البرنامج والتركيز على التعليمات الأساسية



ويتم الرسم باستخدام الخطوط وليست النقاط



أتمنى أن يكون الشرح واضح



انتظروا الملفات إن شاء الله





التعديل الأخير تم بواسطة : wleed antar بتاريخ 27-11-2012 الساعة 10:49 AM
اعلانات

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 27-11-2012, 10:58 AM المشاركة 82   
افتراضي


البرنامج لمن لم يظهر عنده بالترتيب




اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 29-11-2012, 08:25 AM المشاركة 83   
افتراضي


السلام عليكم

بعد أن انتهينا من شرح الفكرة

نضيف طريقة التكبير الرقمى للإشارة

فمثلا المنظر النهائى الذى وصلنا له هو التالى :-



وبعد التكبير الرقمى يصبح شكلها هكذا :-



وبذلك نستطيع رؤيا الإشارة إذا كان ترددها عالى ،

وتكون هذه الطريقة بمضاعفة الأعمدة فى الحلقة التكرارية فلا يتم الرسم فى كل عمود ولكن يتم الرسم فى عمود وترك الثانى فتتسع الصورة عرضا وهنا يتم حسابها بالضعف فإذا كان المربع أو الوحدة تساوى مثلا واحد ميللى ثانية فإن كل وحدتان تساوى واحد ميللى ثانية !!

انتظرونا














الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 29-11-2012, 09:56 AM المشاركة 84   
افتراضي


ملفات المشروع التعليمى على الرابط التالى :-

اضغط هنا للفورشيرد

لو هناك موقع سهل لرفع الملفات أرجوا كتابته لأنى لا أتمكن من الرفع على أب لود



الصورة الرمزية mohatvnet
mohatvnet
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: https://t.me/pump_upp
المشاركات: 958
نشاط [ mohatvnet ]
قوة السمعة:
قديم 29-11-2012, 07:40 PM المشاركة 85   
افتراضي


جزاك الله خيرا استاد وليد ولكن وجهت مشكلة في الميكروسي بحيت عندما ضغطت على زر build يضهر لي خطىء تالي :

0 357 main function is not defined

فكيف يمكن ان احل هدا المشكل


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 29-11-2012, 07:56 PM المشاركة 86   
افتراضي


جزاك الله خيرا استاد وليد ولكن وجهت مشكلة في الميكروسي بحيت عندما ضغطت على زر build يضهر لي خطىء تالي :

0 357 main function is not defined

فكيف يمكن ان احل هدا المشكل
وجزاك الله خيرا أخى

هذه المشكلة بسبب أنك كتبت البرنامج دون ادماج ملفان واحد خاص بالخلفية والثانى خاص بتوصيلات اطراف الشاشة

وأنا كنت كتبت البرنامج من أجل الشرح ولم ارفق الملفان

إن شاء الله سأرفع لك باقى الملفات يوم السبت لأنهم على جهاز الحاسوب الآخر فى عملى .

يمكنك إذا أحببت حزف سطران include ثم إضافة تعريفات توصيل الشاشة كما تم توصيلها فى الرسم المرفق ووضع بيانات أى صورة بنفس الإسم المستخدم فى البرنامج .

وإلا فانتظرنى السبت إن شاء الله
تحياتى


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 01-12-2012, 11:40 AM المشاركة 87   
افتراضي



تم تحديث الملفات على الرابط التالى

http://www.4shared.com/rar/8LT85bXW/...loscope_2.html

تحياتى للجميع

وانتظروا المشروع المتطور



الصورة الرمزية المهندس أحمد1
المهندس أحمد1
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2010
الدولة: مصر-أسيوط-ديروط
المشاركات: 157
نشاط [ المهندس أحمد1 ]
قوة السمعة:
قديم 01-12-2012, 11:16 PM المشاركة 88   
افتراضي


جعل الله مثواك الجنة أخى م/وليد.



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:27 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)