تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: کسی این برنامه رو می تونه تضیح بده "ربات مسیریاب با زبان سی "

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Feb 2006
    پست ها
    19

    14 کسی این برنامه رو می تونه تضیح بده "ربات مسیریاب با زبان سی "

    برنامه ربات مسیر یاب با میکرو 8051 در c


    بی زحمت اول بگید محیط برنامه نویسیش اسمش چیه؟
    keil یا چیزی دیگه ای ؟؟؟؟؟؟


    [code]
    #include d:\mc51\8051io.h
    #include d:\mc51\8051reg.h
    بعد این دو خط پایینی چرا اینطوری تعریف شدن؟؟؟ //
    extern register unsigned char speedleft,speedright;
    register unsigned char high,low,flag,time;

    main()
    {
    P1=0x40;
    P3=0xff;
    high = 80;
    low = 30;
    flag = 0;
    time = 50;
    Start();
    while(1) {
    P3|= 0x0f;
    Run();
    }
    }
    //***********************************************
    این تابه استارت برا چی هست و چی کار می کنه؟//
    نا مفهوم بود برا من //
    حلقش چی کار می کنه؟//
    Start()
    {
    char exit,key;
    exit =1;
    while(exit)
    {
    key = P1;
    if((key & 0x40)==0) exit=0;
    }
    }
    //***********************************************
    تو این تابه چرا سنسور ها رو and می کنه به مقایسه ؟؟؟؟؟؟//
    Run()
    {
    char sensors;
    sensors = (P3 &=0x0f);

    if((sensors & 0x01)==0) {
    TurnRight();
    flag = 1; }

    else if((sensors & 0x08)==0) {
    TurnLeft();
    flag = 2; }
    else if(sensors == 0x09) {
    Forward(high);
    flag = 0; }

    else if(((sensors==0x0b)||(sensors==0x0d))&&(flag==0))
    Forward(low);

    }
    تو این تاب های زیر اسپید رایت و اسپید لفت برا چی هستن//
    اگه برا سرعتن چجوری به l298 می فهمونید اینا که فقط مقدارشون عوض می شه//
    با چه دستوری به موتور می رسن //
    Forward(char speed)
    {
    P1=0x64;
    speedright = speed+10;
    speedleft = speed;
    delay(time);
    }

    TurnRight()
    {
    P1=0x68;
    speedright = low+5;
    speedleft = low;
    delay(time);
    }

    TurnLeft()
    {
    P1=0x54;
    speedright = low+5;
    speedleft = low;
    delay(time);
    }
    //این تابع فکر کنم الکی باشه چون تو برنامه اصلی اصلا فراخوانی نشده تابع زیرو می گم: رورس //

    Reverse(char speed)
    {
    P1=0x58;
    speedright = speed;
    speedleft = speed+5;
    delay(time);
    }


    [/cdoe[

    در مورد توضیح دستوراتش هم از کجا می تونم مطلب گیر بیارم تو helpesh که نبود؟///////

  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Feb 2006
    پست ها
    19

    پيش فرض

    برنامه ربات مسیر یاب با میکرو 8051 در c


    بی زحمت اول بگید محیط برنامه نویسیش اسمش چیه؟
    keil یا چیزی دیگه ای ؟؟؟؟؟؟


    [code]
    #include d:\mc51\8051io.h
    #include d:\mc51\8051reg.h
    بعد این دو خط پایینی چرا اینطوری تعریف شدن؟؟؟ //
    extern register unsigned char speedleft,speedright;
    register unsigned char high,low,flag,time;

    main()
    {
    P1=0x40;
    P3=0xff;
    high = 80;
    low = 30;
    flag = 0;
    time = 50;
    Start();
    while(1) {
    P3|= 0x0f;
    Run();
    }
    }
    //***********************************************
    این تابه استارت برا چی هست و چی کار می کنه؟//
    نا مفهوم بود برا من //
    حلقش چی کار می کنه؟//
    Start()
    {
    char exit,key;
    exit =1;
    while(exit)
    {
    key = P1;
    if((key & 0x40)==0) exit=0;
    }
    }
    //***********************************************
    تو این تابه چرا سنسور ها رو and می کنه به مقایسه ؟؟؟؟؟؟//
    Run()
    {
    char sensors;
    sensors = (P3 &=0x0f);

    if((sensors & 0x01)==0) {
    TurnRight();
    flag = 1; }

    else if((sensors & 0x08)==0) {
    TurnLeft();
    flag = 2; }
    else if(sensors == 0x09) {
    Forward(high);
    flag = 0; }

    else if(((sensors==0x0b)||(sensors==0x0d))&&(flag==0))
    Forward(low);

    }
    تو این تاب های زیر اسپید رایت و اسپید لفت برا چی هستن//
    اگه برا سرعتن چجوری به l298 می فهمونید اینا که فقط مقدارشون عوض می شه//
    با چه دستوری به موتور می رسن //
    Forward(char speed)
    {
    P1=0x64;
    speedright = speed+10;
    speedleft = speed;
    delay(time);
    }

    TurnRight()
    {
    P1=0x68;
    speedright = low+5;
    speedleft = low;
    delay(time);
    }

    TurnLeft()
    {
    P1=0x54;
    speedright = low+5;
    speedleft = low;
    delay(time);
    }
    //این تابع فکر کنم الکی باشه چون تو برنامه اصلی اصلا فراخوانی نشده تابع زیرو می گم: رورس //

    Reverse(char speed)
    {
    P1=0x58;
    speedright = speed;
    speedleft = speed+5;
    delay(time);
    }


    [/cdoe[

    در مورد توضیح دستوراتش هم از کجا می تونم مطلب گیر بیارم تو helpesh که نبود؟///////
    __

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •