اطلاعیه

Collapse
No announcement yet.

مشکل عملی سون سگمنت 4 تایی

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

    مشکل عملی سون سگمنت 4 تایی

    سلام
    اول اینکه من تاپیک هارو گشتم مشکلمو نتونستم حل کنم!!!!
    یک سون سگمنت 4 تایی را با یک میکرو mega16 میخام ببندم البته برنامه داخل پروتئوس کار میده ،برنامه به این صورتکه با صفر و یک کردن پورت سون سگمنت شروع به شمارش میکنه ولی سون سگمنت 1 و2 خوب کار میکنه ولی سون سگمنت3و4 اصلا روشن نمیشه ولی زمانی که یه مقاومت 10 کیلو سر راهش به منبع وصل میکنم خیلی کمرنگ روشن میشه، اگه کسی مشکلو میدونه یه راهنمایی بکنه ممنون میشم؟؟؟؟؟؟؟؟

    #2
    پاسخ : مشکل عملی سون سگمنت 4 تایی

    سلام
    دوست عزیز سخت افزار سون سگمنت ها رو چجوری بستی؟
    پایه های سگمنت رو به یک پورت دادی و به صورت رفرشی نوشتی؟ لطفا سخت افزار و برنامه تو بزار؟اینطوری بهتر میشه راهنمایی کرد؟

    دیدگاه


      #3
      پاسخ : مشکل عملی سون سگمنت 4 تایی

      احتمالا سون سگمنت شده نیم سوز شده
      با یه سگمنت دیگه تست کنین

      دیدگاه


        #4
        پاسخ : مشکل عملی سون سگمنت 4 تایی

        نوشته اصلی توسط علی حیاتی
        سلام
        دوست عزیز سخت افزار سون سگمنت ها رو چجوری بستی؟
        پایه های سگمنت رو به یک پورت دادی و به صورت رفرشی نوشتی؟ لطفا سخت افزار و برنامه تو بزار؟اینطوری بهتر میشه راهنمایی کرد؟
        برنامه نشان دادن اعداد از 0 تا 9999 ،پایه های a تا g به پورت B وصل کردم و پورت A هم برای صفر یک کردن هر کدام از سون سگمنتا قرار دادم....؟؟؟؟؟؟؟؟
        https://www.4shared.com/rar/Q27hXxPr/7seg.html

        دیدگاه


          #5
          پاسخ : مشکل عملی سون سگمنت 4 تایی

          این خط عوض کن


          DDRA=0x03;

          با

          DDRA=0x0F;


          همینطور


          PORTB=segment[hez1];
          PORTA.0=1;
          delay_ms(1);
          PORTA.0=0;
          delay_ms(1);
          PORTB=segment[sad1];
          PORTA.1=1;
          delay_ms(1);
          PORTA.1=0;
          delay_ms(1);
          PORTB=segment[dah];
          PORTA.2=1;
          delay_ms(1);
          PORTA.2=0;
          delay_ms(1);
          PORTB=segment[yek];
          PORTA.3=1;
          delay_ms(1);
          PORTA.3=0;
          delay_ms(1);

          با

          PORTB=segment[hez1];
          PORTA=0x00;
          delay_ms(1);
          PORTB=segment[sad1];
          PORTA=0x01;
          delay_ms(1);
          PORTB=segment[dah];
          PORTA=0x02;
          delay_ms(1);
          PORTB=segment[yek];
          PORTA=0x03;
          delay_ms(1);
          [glow=red,2,300]تاپيک هاي ايجاد شده[/glow]

          دیدگاه


            #6
            پاسخ : مشکل عملی سون سگمنت 4 تایی

            مرسی دوست عزیز
            خط اول عوض کردم درست شد...

            دیدگاه


              #7
              پاسخ : مشکل عملی سون سگمنت 4 تایی

              من میخوام باسون سگمنت چهارتایی یک سری پیام رامتناسب باحالات مختلف نمایش بدم برای این کاریک دیپ سوئیچ رابه4تا پایه اول پورت C وصل کردم.به این صورت که هنگامی که یک موتورDCراه اندازی میشه سون سگمنت یک پیغام رابرای مدت 6ثانیه نمایش بدهد برای این قسمت ازیه حلقه FORیاWHILEاستفاده کردم.بعدازراه اندازی موتوریک سری پیغام دیگه هم میخوام روی سون سگمنت4تایی نمایش بدم ونیزازیک سنسوراثرهال برای اندازه گیری جریان موتوراستفاده کردم.حالاسوالم اینه من برنامه رانوشتم ولی به هنگام شبیه سازی فقط پیغام راه اندازی به مدت6ثانیه نمایش داده میشه وبعدازاون باتغییروضعیت دیپ سوئیچ هیچ پیغامی نمایش داده نمیشه.می خواستم بپرسم مشکل کارمن کجاست.

              دیدگاه


                #8
                پاسخ : مشکل عملی سون سگمنت 4 تایی

                نوشته اصلی توسط ardeshir1393
                من میخوام باسون سگمنت چهارتایی یک سری پیام رامتناسب باحالات مختلف نمایش بدم برای این کاریک دیپ سوئیچ رابه4تا پایه اول پورت C وصل کردم.به این صورت که هنگامی که یک موتورDCراه اندازی میشه سون سگمنت یک پیغام رابرای مدت 6ثانیه نمایش بدهد برای این قسمت ازیه حلقه FORیاWHILEاستفاده کردم.بعدازراه اندازی موتوریک سری پیغام دیگه هم میخوام روی سون سگمنت4تایی نمایش بدم ونیزازیک سنسوراثرهال برای اندازه گیری جریان موتوراستفاده کردم.حالاسوالم اینه من برنامه رانوشتم ولی به هنگام شبیه سازی فقط پیغام راه اندازی به مدت6ثانیه نمایش داده میشه وبعدازاون باتغییروضعیت دیپ سوئیچ هیچ پیغامی نمایش داده نمیشه.می خواستم بپرسم مشکل کارمن کجاست.
                کدتون رو بگذارید
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه


                  #9
                  پاسخ : مشکل عملی سون سگمنت 4 تایی

                  سلام این کدمن هست.
                  while(m<=200){m++;
                  PORTB=0X0E;
                  PORTA=0X77;
                  delay_ms(5);
                  PORTB=0X0D;
                  PORTA=0X5E;
                  delay_ms(5);
                  PORTB=0X0B;
                  PORTA=0X54;
                  delay_ms(5);
                  PORTB=0X07;
                  PORTA=0X6D;
                  delay_ms(5);}
                  PORTB=0X00;
                  while (1)
                  { switch(PINC){ case 1:
                  PORTB=0X0E;
                  PORTA=0X6D;
                  delay_ms(5);
                  PORTB=0X0D;
                  PORTA=0X29;
                  delay_ms(5);
                  PORTB=0X0B;
                  PORTA=0X77;
                  delay_ms(5);
                  PORTB=0X07;
                  PORTA=0X38;
                  break;
                  case 2:
                  PORTB=0X0E;
                  PORTA=0X77;
                  delay_ms(5);
                  PORTB=0X0D;
                  PORTA=0X3E;
                  delay_ms(5);
                  PORTB=0X0B;
                  PORTA=0X78;
                  delay_ms(5);
                  PORTB=0X07;
                  PORTA=0X5C;
                  delay_ms(5);
                  break;
                  case 3:
                  PORTB=0X0E;
                  PORTA=0X55;
                  delay_ms(5);
                  PORTB=0X0D;
                  PORTA=0X5F;
                  delay_ms(5);
                  PORTB=0X0B;
                  PORTA=0X54;
                  delay_ms(5);
                  PORTB=0X07;
                  PORTA=0X1C;
                  delay_ms(5);
                  break;
                  case 4:
                  PORTB=0X0E;
                  PORTA=0X76;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X10;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X79;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X50;
                  break;
                  case 5:
                  PORTB=0X0E;
                  PORTA=0X5C;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X54;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X5E;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X76;
                  break;
                  case 6:
                  PORTB=0X0E;
                  PORTA=0X76;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X6E;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X76;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X10;
                  break;
                  case 7:
                  PORTB=0X0E;
                  PORTA=0X5C;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X71;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X5E;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X76;
                  break;
                  case 8:
                  PORTB=0X0E;
                  PORTA=0X38;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X5C;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X79;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X50;
                  break;
                  case 9:
                  PORTB=0X0E;
                  PORTA=0X6C;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X54;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X5E;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X38;
                  break;
                  case 10:
                  PORTB=0X0E;
                  PORTA=0X76;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X6E;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X38;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X5C;
                  break;
                  case 11:
                  PORTB=0X0E;
                  PORTA=0X5C;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X71;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X5E;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X38;
                  break;
                  case 12:
                  PORTB=0X0E;
                  PORTA=0X76;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X10;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X77;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X38;
                  break;
                  case 13:
                  PORTB=0X0E;
                  PORTA=0X38;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X5C;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X77;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X38;
                  break;
                  case 14:
                  PORTB=0X0E;
                  PORTA=0X76;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X6E;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X77;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X38;
                  break;
                  case 15:
                  PORTB=0X0E;
                  PORTA=0X73;
                  delay_ms(0.1);
                  PORTB=0X0D;
                  PORTA=0X77;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X6D;
                  delay_ms(0.1);
                  PORTB=0X07;
                  PORTA=0X6D;
                  break;
                  case 16:
                  PORTB=0X0D;
                  PORTA=0X5C;
                  delay_ms(0.1);
                  PORTB=0X0B;
                  PORTA=0X50;
                  break;}
                  } }

                  دیدگاه


                    #10
                    پاسخ : مشکل عملی سون سگمنت 4 تایی

                    می بخشیدیه کم برنامه به هم ریخته.

                    دیدگاه


                      #11
                      پاسخ : مشکل عملی سون سگمنت 4 تایی

                      نوشته اصلی توسط ardeshir1393
                      سلام این کدمن هست.
                      [code=c] while(m<=200){m++;
                      PORTB=0X0E;
                      PORTA=0X77;
                      delay_ms(5);
                      PORTB=0X0D;
                      PORTA=0X5E;
                      delay_ms(5);
                      PORTB=0X0B;
                      PORTA=0X54;
                      delay_ms(5);
                      PORTB=0X07;
                      PORTA=0X6D;
                      delay_ms(5);}
                      PORTB=0X00;
                      while (1)
                      { switch(PINC){ case 1:
                      PORTB=0X0E;
                      PORTA=0X6D;
                      delay_ms(5);
                      PORTB=0X0D;
                      PORTA=0X29;
                      delay_ms(5);
                      PORTB=0X0B;
                      PORTA=0X77;
                      delay_ms(5);
                      PORTB=0X07;
                      PORTA=0X38;
                      break;
                      case 2:
                      PORTB=0X0E;
                      PORTA=0X77;
                      delay_ms(5);
                      PORTB=0X0D;
                      PORTA=0X3E;
                      delay_ms(5);
                      PORTB=0X0B;
                      PORTA=0X78;
                      delay_ms(5);
                      PORTB=0X07;
                      PORTA=0X5C;
                      delay_ms(5);
                      break;
                      case 3:
                      PORTB=0X0E;
                      PORTA=0X55;
                      delay_ms(5);
                      PORTB=0X0D;
                      PORTA=0X5F;
                      delay_ms(5);
                      PORTB=0X0B;
                      PORTA=0X54;
                      delay_ms(5);
                      PORTB=0X07;
                      PORTA=0X1C;
                      delay_ms(5);
                      break;
                      case 4:
                      PORTB=0X0E;
                      PORTA=0X76;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X10;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X79;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X50;
                      break;
                      case 5:
                      PORTB=0X0E;
                      PORTA=0X5C;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X54;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X5E;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X76;
                      break;
                      case 6:
                      PORTB=0X0E;
                      PORTA=0X76;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X6E;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X76;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X10;
                      break;
                      case 7:
                      PORTB=0X0E;
                      PORTA=0X5C;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X71;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X5E;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X76;
                      break;
                      case 8:
                      PORTB=0X0E;
                      PORTA=0X38;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X5C;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X79;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X50;
                      break;
                      case 9:
                      PORTB=0X0E;
                      PORTA=0X6C;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X54;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X5E;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X38;
                      break;
                      case 10:
                      PORTB=0X0E;
                      PORTA=0X76;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X6E;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X38;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X5C;
                      break;
                      case 11:
                      PORTB=0X0E;
                      PORTA=0X5C;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X71;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X5E;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X38;
                      break;
                      case 12:
                      PORTB=0X0E;
                      PORTA=0X76;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X10;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X77;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X38;
                      break;
                      case 13:
                      PORTB=0X0E;
                      PORTA=0X38;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X5C;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X77;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X38;
                      break;
                      case 14:
                      PORTB=0X0E;
                      PORTA=0X76;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X6E;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X77;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X38;
                      break;
                      case 15:
                      PORTB=0X0E;
                      PORTA=0X73;
                      delay_ms(0.1);
                      PORTB=0X0D;
                      PORTA=0X77;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X6D;
                      delay_ms(0.1);
                      PORTB=0X07;
                      PORTA=0X6D;
                      break;
                      case 16:
                      PORTB=0X0D;
                      PORTA=0X5C;
                      delay_ms(0.1);
                      PORTB=0X0B;
                      PORTA=0X50;
                      break;}
                      } }[/code]
                      خوب ...
                      این برنامه اصلا نمیفهمم سرش کجاست ... تهش کجاست ...
                      یه توضیحی یه شماتیکی ...
                      اینجوری که هیچی مشخص نیست ...

                      ===========================
                      در ضمن
                      [code=c]
                      delay_ms(0.1);
                      [/code]
                      غلطه ...
                      باید این طور نوشت ...
                      [code=c]
                      delay_us(100);
                      [/code]
                      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                      معرفی نرم افزار Codewizard PWM
                      با من بیشتر آشنا شوید

                      دیدگاه


                        #12
                        پاسخ : مشکل عملی سون سگمنت 4 تایی

                        شرمنده.دستورات قبل از(1)whilleمربوط به راه اندازی موتورهست.این برنامه رابدون درنظرگرفتن حالت مربوط به نمایش جریان نوشتم.دستورات switchداخل(1)(whileمربوط به نمایش پیغام های حالت های بعدی هست.پورتbرامربوط به4تا پایه های کنترلی سون سگمت چارتایی گرفتم.پورتaراهم به7تا پایه های نمایشگرسون سگمنت.

                        دیدگاه


                          #13
                          پاسخ : مشکل عملی سون سگمنت 4 تایی

                          m داخل whileاولی هم متغیری گرفتم که باعث ایجاد6ثانیه مربوط به نمایش پیام ابتدای راه اندازی موتورهست.سون سگمنت هم آندمشترک بودپس بعدازwhileاولی پورتbراصفرکردم.ممنون ازتوجه شما.

                          دیدگاه


                            #14
                            پاسخ : مشکل عملی سون سگمنت 4 تایی

                            خوب ...
                            چرا برنامه رو اینجوری نوشتی ؟؟؟
                            با تایمر میتونستی خیلی راحت بدون اینکه برنامه گیج کننده بشه بنویسید
                            خوب ... از این حرف ها گذشته میخوای چی روی سون سگمنت نمایش بدید ؟؟ بگید تا بگم چی بنویسید و چیکار کنید ...
                            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                            معرفی نرم افزار Codewizard PWM
                            با من بیشتر آشنا شوید

                            دیدگاه


                              #15
                              پاسخ : مشکل عملی سون سگمنت 4 تایی

                              میخوام برای مثال هنگام روشن شدن موتورپیغام tronنمایش داده بشه.بعدمثلاحالت1پیغام symn هست وبه همین ترتیب حروف انگلیسی دیگه.ممنون ازراهنماییتون.این که گفتیدباتایمرهم پیشنهادخیلی خوبیه خیلی ممنون.یه سوال دیگه هم داشتم برای نمایش مقدارجریان من یه کلیدخروجی به پایه int0میکرووصل کردم وازوقفه خارجی میکرواستفاده کردم به نظرتون جواب میده.

                              دیدگاه

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