اطلاعیه

Collapse
No announcement yet.

کمک در برنامه نوسی Codvision

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در برنامه نوسی Codvision

    سلام من احتیاج به برنامه ای دارم که با فشردن هر مرتب کلید a ، مقدار عدد 5 هر مرتب به ترتیب کاهش یابد تا به صفر برسد و روی lcd این فرایند نشان داده شود، با زدن کلید b معکوس این فرآیند تا عدد 5 ادامه یابد، در ادامه میخوام lcd در سطر دوم کاراکترهای z1 / z2 /z3 /z4 /z5 بصورت پیشفرض نمایش بده و با فشوردن کلید های 1 و 2 و3 و4 و5 ( که مخصوص هر یک از کاراکترها هستند ) ، کاراکتر مورد نظر از روی lcd پاک و بعد از برداشتن دست از روی کلید کاراکتر مورد نظر در LCD ظاهر بشع

    لطفا رانماییم کنید واقع گیج شدم
    جدیدترین ویرایش توسط miilaad123; ۱۸:۱۴ ۱۳۹۷/۰۵/۰۸.

    #2
    پاسخ : کمک در برنامه نوسی Codvision

    نوشته اصلی توسط miilaad123 نمایش پست ها
    سلام من احتیاج به برنامه ای دارم که با فشردن هر مرتب کلید a ، مقدار عدد 5 هر مرتب به ترتیب کاهش یابد تا به صفر برسد و روی lcd این فرایند نشان داده شود، با زدن کلید b معکوس این فرآیند تا عدد 5 ادامه یابد، در ادامه میخوام lcd در سطر دوم کاراکترهای z1 / z2 /z3 /z4 /z5 بصورت پیشفرض نمایش بده و با فشوردن کلید های 1 و 2 و3 و4 و5 ( که مخصوص هر یک از کاراکترها هستند ) ، کاراکتر مورد نظر از روی lcd پاک و بعد از برداشتن دست از روی کلید کاراکتر مورد نظر در LCD ظاهر بشع

    لطفا رانماییم کنید واقع گیج شدم
    سلام
    من این کد رو تا جایی که از خواسته شما فهمیدم نوشتم:

    #define port PORTA
    #define ddr DDRA
    #define pin PINA


    #define pin_a 0
    #define pin_b 1


    #define pin_1 3
    #define pin_2 4
    #define pin_3 5
    #define pin_4 6
    #define pin_5 7


    #define key_delay 100


    int main()
    {
    ddr = 0;
    port = 0xff;

    unsigned char number = 5;
    char str[17];

    while(1)
    {
    if(pin == 0xff)
    {
    sprintf(str, "number = %d", number);
    lcd_xotoxy(0,0);
    lcd_puts(str);
    lcd_xotoxy(0, 1);
    lcd_puts("z1 z2 z3 z4 z5");
    }
    else if(!(pin & (1<<pin_a))
    {
    delay_ms(key_delay);
    if((!(pin & (1<<pin_a))) && (a>0))
    {
    number--;
    }

    }
    else if(!(pin & (1<<pin_b))
    {
    delay_ms(key_delay);
    if((!(pin & (1<<pin_b))) && (a<5))
    {
    number++;
    }
    }
    else if(!(pin & (1<<pin_1))
    {
    delay_ms(key_delay);
    if(!(pin & (1<<pin_1))
    {
    lcd_xotoxy(0, 1);
    lcd_puts(" ");
    }
    }
    else if(!(pin & (1<<pin_2))
    {
    delay_ms(key_delay);
    if(!(pin & (1<<pin_2))
    {
    lcd_xotoxy(4, 1);
    lcd_puts(" ");
    }
    }
    else if(!(pin & (1<<pin_3))
    {
    delay_ms(key_delay);
    if(!(pin & (1<<pin_3))
    {
    lcd_xotoxy(7, 1);
    lcd_puts(" ");
    }
    }
    else if(!(pin & (1<<pin_4))
    {
    delay_ms(key_delay);
    if(!(pin & (1<<pin_4))
    {
    lcd_xotoxy(10, 1);
    lcd_puts(" ");
    }
    }
    else
    {
    delay_ms(key_delay);
    if(!(pin & (1<<pin_5))
    {
    lcd_xotoxy(13, 1);
    lcd_puts(" ");
    }
    }

    }
    }

    زحمت تست هم با خود شما چون من تست نکردم کدها رو
    فقط فراموش نشه که کتابخونه <stdio.h> حتما باید وارد پروژه بشه. در صورت احتیاج هم میشه پورت و پین مربوط به کلید ها و زمان تاخیر برای نویز گیری کلیدها رو با دیفاین های اول کد تغییر داد
    جدیدترین ویرایش توسط hossein.m98; ۲۰:۵۰ ۱۳۹۷/۰۵/۰۸.

    دیدگاه


      #3
      پاسخ : کمک در برنامه نوسی Codvision

      نوشته اصلی توسط hossein.m98 نمایش پست ها
      سلام
      من این کد رو تا جایی که از خواسته شما فهمیدم نوشتم:

      #define port PORTA
      #define ddr DDRA
      #define pin PINA


      #define pin_a 0
      #define pin_b 1


      #define pin_1 3
      #define pin_2 4
      #define pin_3 5
      #define pin_4 6
      #define pin_5 7


      #define key_delay 100


      int main()
      {
      ddr = 0;
      port = 0xff;

      unsigned char number = 5;
      char str[17];

      while(1)
      {
      if(pin == 0xff)
      {
      sprintf(str, "number = %d", number);
      lcd_xotoxy(0,0);
      lcd_puts(str);
      lcd_xotoxy(0, 1);
      lcd_puts("z1 z2 z3 z4 z5");
      }
      else if(!(pin & (1<<pin_a))
      {
      delay_ms(key_delay);
      if((!(pin & (1<<pin_a))) && (a>0))
      {
      number--;
      }

      }
      else if(!(pin & (1<<pin_b))
      {
      delay_ms(key_delay);
      if((!(pin & (1<<pin_b))) && (a<5))
      {
      number++;
      }
      }
      else if(!(pin & (1<<pin_1))
      {
      delay_ms(key_delay);
      if(!(pin & (1<<pin_1))
      {
      lcd_xotoxy(0, 1);
      lcd_puts(" ");
      }
      }
      else if(!(pin & (1<<pin_2))
      {
      delay_ms(key_delay);
      if(!(pin & (1<<pin_2))
      {
      lcd_xotoxy(4, 1);
      lcd_puts(" ");
      }
      }
      else if(!(pin & (1<<pin_3))
      {
      delay_ms(key_delay);
      if(!(pin & (1<<pin_3))
      {
      lcd_xotoxy(7, 1);
      lcd_puts(" ");
      }
      }
      else if(!(pin & (1<<pin_4))
      {
      delay_ms(key_delay);
      if(!(pin & (1<<pin_4))
      {
      lcd_xotoxy(10, 1);
      lcd_puts(" ");
      }
      }
      else
      {
      delay_ms(key_delay);
      if(!(pin & (1<<pin_5))
      {
      lcd_xotoxy(13, 1);
      lcd_puts(" ");
      }
      }

      }
      }

      زحمت تست هم با خود شما چون من تست نکردم کدها رو
      فقط فراموش نشه که کتابخونه <stdio.h> حتما باید وارد پروژه بشه. در صورت احتیاج هم میشه پورت و پین مربوط به کلید ها و زمان تاخیر برای نویز گیری کلیدها رو با دیفاین های اول کد تغییر داد
      خیلی ممنونم ممکنه به زبان کدویژن تبدیلش کنید؟ متاسفانه نتونستم خودم تبدیلش کنم

      دیدگاه


        #4
        پاسخ : کمک در برنامه نوسی Codvision

        نوشته اصلی توسط milimod نمایش پست ها
        خیلی ممنونم ممکنه به زبان کدویژن تبدیلش کنید؟ متاسفانه نتونستم خودم تبدیلش کنم
        براتون پیغام خصوصی فرستادم. طبق اون عمل کنید. احتمالا مشکلتون حل میشه

        دیدگاه


          #5
          پاسخ : کمک در برنامه نوسی Codvision

          نوشته اصلی توسط hossein.m98 نمایش پست ها
          براتون پیغام خصوصی فرستادم. طبق اون عمل کنید. احتمالا مشکلتون حل میشه
          متاسفانه پیامی دریافت نکردم لطفا مجدد ارسال کنید یا برام ایمیل کنید متشکرم

          دیدگاه


            #6
            پاسخ : کمک در برنامه نوسی Codvision

            نوشته اصلی توسط miilaad123 نمایش پست ها
            متاسفانه پیامی دریافت نکردم لطفا مجدد ارسال کنید یا برام ایمیل کنید متشکرم
            سلام پیامو ارسال کردم. ظاهرا دیروز یک نفر که نام کاربریش شبیه شماس همین سوالو پرسیده بود و من به اون جواب داده بودم؛ تازه الآن این مسئله رو فهمیدم
            اون پیامو برای شما هم فرستادم امیدوارم مشکل حل بشه

            دیدگاه

            لطفا صبر کنید...
            X