اطلاعیه

Collapse
No announcement yet.

مشکل با 7segment Multiplex

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

    مشکل با 7segment Multiplex

    با سلام
    من میخام یه عدد رو با میکرو روی 7segment Muliplex نشون بدم.فایلشو میزارم.البته حدسم روی اینه که به صورت صحیح پایه فعال ساز رو فعال نمیکنم.
    البته یه چیز جالبی است>>> وقتی میخاستم که مدارمو رفع عیب کنم زمان تاخیر delay رو زیاد کردم تا بتونم برنامه رو به صورت آهسته ببینم ولی وقتی اینکارو کردم برنامه مشکلی نداشت! و وقتی سرعتو زیاد میکردم اعداد رو اشتباه نشون میداد(میتونید تو فایل برنامه که گذاشتم زمان delay رو500ms بذارید و ببینید)
    از نظر تئوریِ برنامه نویسی اینجوری عمل کردم: اول اطلاعات رو روی پورت گذاشتم و بعدش پایه ی فعال ساز رو فعال کردم.(برای تنوع یه کلید گذاشتم تا با هر بار زدن یک واحد اضافه کنه(با وقفه خارجی))
    حالا بنظرتون مشکل کجاست؟
    لینک برنامه proteus و codevision:
    http://www.uplooder.net/cgi-bin/dl.c...86075242889547
    با تشکر

    #2
    پاسخ : مشکل با 7segment Multiplex

    کد:
       {
       PORTC=lookup[x]; 
       PORTA=0x02;
       delay_ms(2);
       PORTA=0x00;
        
       PORTC=lookup[y];
       PORTA=0x01;
       delay_ms(2);
       PORTA=0x00;
       }
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      #3
      پاسخ : مشکل با 7segment Multiplex

      دوست عزیز این کد رو امتحان هم کردید؟ :question:
      من اینو توی proteus امتحان کردم و جفت سگمنتها خاموش بودن...

      دیدگاه


        #4
        پاسخ : مشکل با 7segment Multiplex

        تست شده
        در ضمن پایه وقفه خارجی pulup کن
        کد:
        while (1)
           {
           
           PORTC=lookup[x]; 
           PORTA=0x02;
           delay_ms(1);
           PORTA=3; 
           PORTC=lookup[y];
           PORTA=0x01;
           delay_ms(1);
           PORTA=3;
           }
        }
        .The best question deserves a better answer
        =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
        «پناه»می برم «به خدا»
        از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
        محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

        دیدگاه


          #5
          پاسخ : مشکل با 7segment Multiplex

          خیلی ممنون دوست عزیز
          ولی عجب اشتباهی کردم
          نکته ش این بود که برای خاموش کردن هر سگمنت باید پایه فعال ساز رو "1" میکردم نه "0"
          در ضمن لازم نیست که pullup رو فعال کنم
          با تشکر

          دیدگاه

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