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

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

mastertiger
:: مهندس متواجد ::
تاريخ التسجيل: May 2010
المشاركات: 69
نشاط [ mastertiger ]
قوة السمعة:0
قديم 19-04-2012, 10:43 AM المشاركة 1   
افتراضي مساعده من خبراء البيك (pic16f877&stepper motor &lcd&seven segment) Twitter FaceBook Google+



بسم الله الرحمن الرحيم
المشروع عباره عن عرض لاتجاه(forward & reverse ) وسرعة stepper motor على lcd
يتم التحكم فى اتجاه الماتور عن طريق push button حيث بعد كل ضغطة يغير الاتجاة
ويتم التحكم فى السرعه عن طريق 2 push button واحد يعمل increase والاخر decrease ويتم توصيل 2 seven segement واحده لاظهار عدد المرات التى تم الضغط فيها على push button reverse والاخرى لل forward
سوف اقوم بوضع ما توصلت الية وارجوا المساعده من من يستطيع وشكرا


التعديل الأخير تم بواسطة : mastertiger بتاريخ 19-04-2012 الساعة 10:50 AM
اعلانات

dds.m.blal
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2010
الدولة: syria
المشاركات: 170
نشاط [ dds.m.blal ]
قوة السمعة:0
قديم 19-04-2012, 02:01 PM المشاركة 2   
افتراضي


ارفق لنا الدارة ونوع البيك والاطراف التي تريد ان تسخدمها
وساحاول تصميم البرنامج الذي تريده باذن الله

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

mastertiger
:: مهندس متواجد ::
تاريخ التسجيل: May 2010
المشاركات: 69
نشاط [ mastertiger ]
قوة السمعة:0
قديم 19-04-2012, 02:24 PM المشاركة 3   
افتراضي


كود:
// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections

void Move_Delay() {
  Delay_ms(500);
}
void WordToStr(unsigned input, char *output);

int sss;
 int txt[8];
void main() {
Lcd_Init();
trisa=0;
trisd=0xff;
portd=0xff;
sss<=10000;
 sss>=10;
 sss=70;

   lll:
       if(rd0_bit=0)
          sss=sss+20;
          if(rd1_bit=0)
           sss=sss-20;

   while(rd2_bit==0){
   Lcd_Out(1,1,"Forward");
   Lcd_Out(2,1,"Delay");
   WordToStr(sss, txt);
   Lcd_Out(2,7,txt);
   vdelay_MS(sss);
porta=0b00001000;

      vdelay_MS(sss);
porta=0b00000100;

      vdelay_MS(sss);
porta=0b00000010;

       vdelay_MS(sss);
 porta=0b00000001;

       vdelay_MS(sss);
       goto lll;
   }
   Lcd_Cmd(_LCD_CLEAR);
   porta=0;

    while(rd3_bit==0){
    Lcd_Out(1,1,"Revers");
    Lcd_Out(2,1,"Delay");
    WordToStr(sss, txt);
    Lcd_Out(2,7,txt);

      vdelay_MS(sss);
porta=0b00000001;

      vdelay_MS(sss);
porta=0b00000010;

      vdelay_MS(sss);
porta=0b00000100;

       vdelay_MS(sss);
porta=0b00001000;


       vdelay_MS(sss);
       goto lll;

   }
    porta=0;
    Lcd_Cmd(_LCD_CLEAR);
   goto lll;
pic 16f877
قمت باستخدام port b لlcd
,port a for motor
, port d for push button
وتبقى seven segement 2
اى مساعده من فضلكم


dds.m.blal
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2010
الدولة: syria
المشاركات: 170
نشاط [ dds.m.blal ]
قوة السمعة:0
قديم 19-04-2012, 04:40 PM المشاركة 4   
افتراضي


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


mrkira
:: مهندس ::
تاريخ التسجيل: Apr 2012
المشاركات: 14
نشاط [ mrkira ]
قوة السمعة:0
قديم 19-04-2012, 05:50 PM المشاركة 5   
افتراضي


سؤال بالنسبة للكود في لغة المياكرو سي، لأني أتعلم عليه حاليًا
ما عمل هذا الأمر : sbit
أو بالأحرى ما وظيفة هذا الأمر:
sbit LCD_RS at RB4_bit


dds.m.blal
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2010
الدولة: syria
المشاركات: 170
نشاط [ dds.m.blal ]
قوة السمعة:0
قديم 19-04-2012, 06:22 PM المشاركة 6   
افتراضي


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

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


mrkira
:: مهندس ::
تاريخ التسجيل: Apr 2012
المشاركات: 14
نشاط [ mrkira ]
قوة السمعة:0
قديم 20-04-2012, 09:08 AM المشاركة 7   
x4 وظيفة SBIT ؟


طرحت هذا السؤال من قبل لكنه لم يجد الانتباه الكافي..
سؤال بالنسبة للكود في لغة المياكرو سي، لأني أتعلم عليه حاليًا
ما عمل هذا الأمر : sbit
أو بالأحرى ما وظيفة هذا الأمر:
sbit LCD_RS at RB4_bit
ما فهمته أن (بيت 4 منPORTB) يتم اعطائه اسم آخر هو LCD_RS
أو ربما هو مجرد توصيل بين LCD_RS و RB4
أرجو المساعدة وشكرًا...


guidance
:: مهندس ::
تاريخ التسجيل: May 2011
المشاركات: 11
نشاط [ guidance ]
قوة السمعة:0
قديم 21-04-2012, 07:33 AM المشاركة 8   
افتراضي


اخي العزيز ده امر اسمه سنجل بت بتتحكم في بيت وحده او بن وحده بس بس بتسميها باسمها
يعني بدل ما تقول b0=1 ممكن تقول led=1

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025