NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4408 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 14 از 14

موضوع: شمارنده صفر تا 99 با 7 سگمنت مالتي پلكسري ؟

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نوشته ها
    68
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    New شمارنده صفر تا 99 با 7 سگمنت مالتي پلكسري ؟

    با سلام خدمت اعضاي انجمن در جواب گرفتن يك شمارنده 0 تا 99 با سون سگمنت مالتي پلكسري مشكل دارم برنامه جواب ميده اما قسمت يكان در هنگام بالا رفتن چشمك ميزنه دوستان اگر جايي از برنامه ايراد داره بگيد اصلاح كنم ممنون .
    #include<mega16.h>
    #include<delay.h>
    flash unsigned char display[]={0xC0,0xF9,0xA4,0xB0,0x99,0X92,0x82,0xF8,0x80,0x9 0};
    unsigned char p1=0,p2=0;

    void main(void)
    {
    PORTA=0xFF;
    DDRA=0xFF;
    PORTB=0x00;
    DDRB=0x03;
    DDRD.0=0;
    PORTD.0=1;
    while(1)
    {

    p1++;
    delay_ms(1000);
    if(p1>9)
    {
    p1=0;
    p2++;
    }
    if(p2>9)
    {
    p1=0;
    p2=0;
    }

    PORTB=0x01;
    PORTA=display[p1];
    delay_ms(1);
    PORTB=0x02;
    PORTA=display[p2];
    delay_ms(1);
    }

    }

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیر باز نشسته shayanmelody آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    شایان نیکزاد
    نوشته ها
    576
    تشکر
    283
    تشکر شده 1,038 بار در 473 پست

    پیش فرض

    سلام.
    رفرش سون سگمنت هارو تو وقفه تايمر بگذاريد ،‌نه تو حلقه اصلي.



    بعد از چند وقت برگشتم



  4. تشکرها از این نوشته :


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نوشته ها
    68
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام نمي خوام از هيچ وقفه يا تايمر ي استفاده كنم ....

  6. #4
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    خوب دایی جان این که کاری نداره !
    ببین شما اومدی عملیات رفرش رو توی حلقه شمارش و افزایش مقدار سون سگمنت ها انجام دادی ، و چون میخواستی مقدار سون سگمنت ها هر یک ثانیه افزایش پیدا کنه ، اومدی ، یه تاخیر 1000 میلی ثانیه ای گذاشتی ، و این باعت میشه تو این 1000 میلی ثانیه سگمنت ها رفرش نشن و یکان خاموش بشه اگه گفتی چرا دهگان خاموش نمیشه ؟!
    خوب خیلی راحته چون وقتی به انتها می رسه مقدار پورت b 2 هست و باعث روشن شدن سگمنت دهگان میشه من برنامه رو تغییر دادم ، فکر کنم کار میکنه
    کد:
    #include<mega16.h>
    #include<delay.h>
    flash unsigned char display[]={0xC0,0xF9,0xA4,0xB0,0x99,0X92,0x82,0xF8,0x80,0x9 0};
    unsigned char p1=0,p2=0;
    static int priod=0;
    
    void main(void)
    {
    PORTA=0xFF;
    DDRA=0xFF;
    PORTB=0x00;
    DDRB=0x03;
    DDRD.0=0;
    PORTD.0=1;
    while(1)
    {
    
    if(priod++ > 500) {
    priod = 0;
    p1++;
    if(p1>9)
    {
    p1=0;
    p2++;
    }
    if(p2>9)
    {
    p1=0;
    p2=0;
    }
    }// END IF Period
    
    PORTB=0x01;
    PORTA=display[p1];
    delay_ms(1);
    PORTB=0x02;
    PORTA=display[p2];
    delay_ms(1);
    }
    
    }
    تاخیر شما رو برداشتم و به جاش یه شرط گذاشتم که تا وقتی متغییر پریود کمتر از 500 هست هیچ مقداری رو از متغییر های p1 , p2 تغییر نده و هر بار حلقه طی میشه یکی به میزان پریود اضافه میشه ، با این کار مدام حلقه در حال تکراره و سگمنت ها رفرش میشن

  7. #5
    کاربر فعال mmojtabaa آواتار ها
    تاریخ عضویت
    Apr 2010
    نام
    مجتبي باغبانزاده
    نوشته ها
    133
    تشکر
    74
    تشکر شده 184 بار در 86 پست

    پیش فرض

    سلام خدمت همه ي عزيزان
    من برد آموزشي اي ساختم . الان كه ميخوام سون سگمنتش رو امتحان كنم. اين برنامه رو براش نوشتم
    من فقط آرايه ي سگمنت رو ميزارم . چون مشكلم تو همين آرايست
    unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
    ولي با اين آرايه سگمنتها روشن نميشوند. من با پروتئوس و به كمك LOGICSTATE كدهايي رو به وجود آوردم كه اين كدها درست كار ميكنند به نظرتون مشكل چيه؟

    unsigned char seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6 F};
    اين هم فايل ها
    فايل برنامه به زبان سي
    SEGMENT
    پروتئوس
    123123123123
    ویرایش توسط mmojtabaa : 02-04-2012 در ساعت 21:40

  8. #6
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mmojtabaa نمایش پست ها
    سلام خدمت همه ي عزيزان
    من برد آموزشي اي ساختم . الان كه ميخوام سون سگمنتش رو امتحان كنم. اين برنامه رو براش نوشتم
    من فقط آرايه ي سگمنت رو ميزارم . چون مشكلم تو همين آرايست

    ولي با اين آرايه سگمنتها روشن نميشوند. من با پروتئوس و به كمك logicstate كدهايي رو به وجود آوردم كه اين كدها درست كار ميكنند به نظرتون مشكل چيه؟



    اين هم فايل ها
    فايل برنامه به زبان سي
    segment
    پروتئوس
    123123123123
    سلام مهندس
    بهتر بود كه كل پروژه رو يه جا باهم ميذاشتين.
    مخصوصا فايل هگزي كه خودتون ساختين.
    _____________________________________
    _____________________________________

  9. تشکرها از این نوشته :


  10. #7
    کاربر فعال mmojtabaa آواتار ها
    تاریخ عضویت
    Apr 2010
    نام
    مجتبي باغبانزاده
    نوشته ها
    133
    تشکر
    74
    تشکر شده 184 بار در 86 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام مهندس
    بهتر بود كه كل پروژه رو يه جا باهم ميذاشتين.
    مخصوصا فايل هگزي كه خودتون ساختين.
    خب دوتا فايل آخري يكيشون برنامه هستش و اون يكي هم پروتئوسشه
    اين فايلي رو كه الان گذاشتم هم هگزشه
    http://s2.picofile.com/file/73439877...ent_1.hex.html

  11. #8
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    مهندس روشن و خاموش شدن سون سگمنت ها به اين بستگي داره كه از كدوم نوعش استفاده كردين؟
    آند مشترك يا كاتد مشترك؟
    درواقع به چگونگي اتصال اين سون سگمنتا به پورت هاي ميكرو بستگي داره.
    شماتيك اين قسمت مدارتون رو بذاريد و براساس اون برنامه رو بنويسيد.
    شايد دوستون كه برنامشون رو گذاشتن، به روش ديگه اي مدارشون رو بسته باشن.
    _____________________________________
    _____________________________________

  12. تشکرها از این نوشته :


  13. #9
    کاربر فعال mmojtabaa آواتار ها
    تاریخ عضویت
    Apr 2010
    نام
    مجتبي باغبانزاده
    نوشته ها
    133
    تشکر
    74
    تشکر شده 184 بار در 86 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    مهندس روشن و خاموش شدن سون سگمنت ها به اين بستگي داره كه از كدوم نوعش استفاده كردين؟
    آند مشترك يا كاتد مشترك؟
    درواقع به چگونگي اتصال اين سون سگمنتا به پورت هاي ميكرو بستگي داره.
    شماتيك اين قسمت مدارتون رو بذاريد و براساس اون برنامه رو بنويسيد.
    شايد دوستون كه برنامشون رو گذاشتن، به روش ديگه اي مدارشون رو بسته باشن.
    واقعا
    من شماتيكم هم گذاشتم
    ممنونم از لطفتون

  14. #10
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    مهندس اولا دو نوع آرایه برای سون سگمنت داریم . یکی برای آند و یکی برای کاتد مشترک که باید با سون سگمنتی که بکار بردید یکی باشه وگرنه سگمنت ها برعکس روشن و خاموش میشن .
    دوم تو این برنامه ای که گذاشتی 4 تا enable سون سگمنت و پایه latch آیسی اصلا بهش فرمان داده نشده !

  15. #11
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mmojtabaa نمایش پست ها
    واقعا
    من شماتيكم هم گذاشتم
    ممنونم از لطفتون
    آره مهندس ديدم.
    اما اين شماتيك با برنامه اي كه نوشتين، خيلي مرتبط نيستا!
    مثلا pd4 , pd5 , pd6 و pd7 رو سون سگمنت وصل كردين. اما برنامه اي براي اون قسمت ننوشتين. كه مهمترين قسمت برنامه هستش.
    در واقع با اين 4 تا پابه مشخص مي كنيد كه كدوم سون سگمنت فعال بشه و كدوم غيرفعال بشه.
    _____________________________________
    _____________________________________

  16. #12
    کاربر فعال mmojtabaa آواتار ها
    تاریخ عضویت
    Apr 2010
    نام
    مجتبي باغبانزاده
    نوشته ها
    133
    تشکر
    74
    تشکر شده 184 بار در 86 پست

    پیش فرض

    هان
    فهميدم
    خوب اون كه آره
    ميدونم ولي من ميخواستم فقط بدونم كه چرا همه از اين كد استفاده ميكنند .

    unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};



    جواب ميده ولي من از يه كد ديگه استفاده كردم تا جواب داد
    unsigned char seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6 F};

    سون سگمنت من كاتد مشرك است

  17. #13
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    گفتم که مهندس یکی از این آرایه ها برای کاتد مشترک هست یکی هم برای آند مشترک . هر کدوم از اعداد آرایه بالا رو not کنی عدد متناظر در آرایه پایینی بدست میاد . علتش هم اینه که تو یکی که آند مشترکه ، سگمنت ها با 0 روشن میشه و اون یکی برعکس...

  18. تشکرها از این نوشته :


  19. #14
    کاربر فعال mmojtabaa آواتار ها
    تاریخ عضویت
    Apr 2010
    نام
    مجتبي باغبانزاده
    نوشته ها
    133
    تشکر
    74
    تشکر شده 184 بار در 86 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sigma-mx نمایش پست ها
    گفتم که مهندس یکی از این آرایه ها برای کاتد مشترک هست یکی هم برای آند مشترک . هر کدوم از اعداد آرایه بالا رو not کنی عدد متناظر در آرایه پایینی بدست میاد . علتش هم اینه که تو یکی که آند مشترکه ، سگمنت ها با 0 روشن میشه و اون یکی برعکس...
    مرسي جات عموسيفيجات
    ممنونم

موضوعات مشابه

  1. تقسيم مقاومتي
    توسط alnz در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 12
    آخرين نوشته: 29-06-2013, 02:47
  2. شمار دامنه‌هاي اينترنتي از مرز 193 ميليون گذشت
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 11-06-2010, 15:16
  3. سوالاتي در زمينه فركانس
    توسط esmaeil57 در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 30-05-2009, 12:13
  4. كار با سون سگمنت مالتي پلكسري
    توسط faridf در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 12-03-2009, 14:25
  5. اطلاعاتي در باره روبات فضايي
    توسط rezamilan در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 0
    آخرين نوشته: 30-11-2008, 10:09

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •