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

   

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 07-05-2012, 11:27 PM المشاركة 9   
افتراضي



حقيقة الموضوع يحتاج الى بعض التدابير .... ان شاء سوف احاول فيه ..

اعلانات

محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:
قديم 11-05-2012, 08:36 PM المشاركة 10   
افتراضي


السلام عليكم
اخى حيدر
اولا شكرا علر الرابط الذى تم فيه شرح المقاطعات
انا بذاكر فيه واستفدت منه كتير
ثانيا
توجد بعض الاوامر فى الكود لا افهمها وهى
1 -
char y[8];
ما معنى هذا المتغير ؟ ولماذا وضعنا قيمته ب 8 ؟

2-delay_ms(993);
لماذا التاخير يكون بهذا الرقم تحديدا؟ وهل لهذا الرقم علاقة بال 100 ميللى ثانية ؟


3-IntToStr(x,y);
lcd_out(1,2,y);
lcd_out_cp(" Hz");
ياريت شرح لتلك الاوامر



وشكرا

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 11-05-2012, 11:46 PM المشاركة 11   
افتراضي


1- هذا المتغير سيتم تخزين القيمة الحرفية للتردد لكي يتم عرضها على الشاشة . و الرقم 8 يمثل عدد الاقصى للحروف التي ستخزن فيه ( لا تهتم له كثيرا ) .
2- كما تعلم ان الزمن المعطى في عبارة ديلي ليس حقيقي انما يكون اكبر من الحقيقي قليلا و للحصول على زمن مقارب للحقيقي اعتمدنا التجربة و الخطأ الى ان وصلت الى هذا الرقم و هو يمثل ثانية واحدة ..

3 - الامر الاول يقوم بتحويل التردد من متغير رقمي الى حرفي و يخزن في المتغير Y ليتم عرضه على الشاشة .. لان الشاشة لا تتعامل مع الارقام مباشرة فكان لا بد من تحويلها الى حروف بهذه العبارة .
الامر الثاني عرض التردد على الشاشة
الامر الثالث عرض وحدة التردد و هي Hz على الشاشة


الصورة الرمزية 3bkarino medo
3bkarino medo
:: مهندس جيد ::
تاريخ التسجيل: Mar 2012
الدولة: دمنهور البحيرة
المشاركات: 267
نشاط [ 3bkarino medo ]
قوة السمعة:
قديم 12-05-2012, 12:17 AM المشاركة 12   
افتراضي


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


3 - الامر الاول يقوم بتحويل التردد من متغير رقمي الى حرفي و يخزن في المتغير Y ليتم عرضه على الشاشة .. لان الشاشة لا تتعامل مع الارقام مباشرة فكان لا بد من تحويلها الى حروف بهذه العبارة .
شكرا علي المعلومة وبارك الله فيك استاذ حيدر


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 12-05-2012, 12:37 AM المشاركة 13   
افتراضي


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


المغترب63
:: مهندس ::
تاريخ التسجيل: Oct 2010
الدولة: الحلة-فرنسا
المشاركات: 49
نشاط [ المغترب63 ]
قوة السمعة:
قديم 16-06-2012, 09:52 PM المشاركة 14   
افتراضي


100 ملي ثانية يعني تردد 10 Hz
تفضل هذا ملف كامل لمشروع قياس الذبذبة عملته منذ فترة ...
اجريت عليه بعض التعديلات ليلائم مشروعك ..
جربه واخبرني
http://arabsh.com/files/0734434b67/h...gital-rar.html
اذا قل التردد عن 10 فان الليد سوف ينطفي ...
هل يمكن وضع الكود هنا على القرية ؟ لان المتصفح عندي لايسمح بهذا الموقع .
وشكرآ


محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:
قديم 18-06-2012, 06:03 PM المشاركة 15   
افتراضي


السلام عليكم
تفضل يا اخى
هذا هو الكود


int x=0;
char y[8];
void interrupt()
{
x++;
intcon.f1=0;
}
void main()
{
trisb.f0=1; trisb.f1=0;portb.f1=1;
lcd_init(&portd);
lcd_cmd(LCD_CURSOR_OFF);
Lcd_Cmd(Lcd_Clear);
loop:
intcon=0b10010000;
delay_ms(993);
IntToStr(x,y);
lcd_out(1,2,y);
lcd_out_cp(" Hz");
if(x < 10)portb.f1=0;
else portb.f1=1;
intcon=0;
x=0;
goto loop;

}



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