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

موضوع: راه اندازی 7سگمنت 6 تایی

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

    پیش فرض راه اندازی 7سگمنت 6 تایی

    سلام
    من در پروژه ام نیاز به اندازه گیری ونشان دادن ولتاژ و جریان بامیکرو ونشان دادن ان روی 7 سگمنت نیاز دارم ، همه کار ها را انجام دادده ام ، فقط نحوه ارتباط دادن ولتاژ و جریان را با 7 سگمنت نمیدانم ، مثلا در حال حاضر ولتاژ 23.3 ولت است ، من 23.3 را چگ.نه روی 7 سگمنت نشان دهم ، با ایسی 7447 و استفاده از 4 پایه میکرو .

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

  3. #2
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض RE: راه اندازی 7سگمنت 6 تایی

    سلام
    شما باید بیشترین مقدار ولتاژ و جریان اندازه گیری شده رو مشخص کنی ،
    مثلا ولتاژ 30 ولت و جریان 2 امپر ، مقدار رقم اعشار ولتاژ 1 رقم و مقدار اعشار جریان 2 رقم .
    بعد با استفاده از دستور select-case یا if یا ... مقدار یکان دهگان و اعشار عدد رو جدا کنی و برای 7447 بفرستی
    مثلا ما میخوایم ولتاژ 0 تا 30 ولت رو با adc اندازه بگیریم و روی 7 سگمنت نمایش بدیم :
    اول که باید این ولتاژ به 5 ولت تبدیل بشه و بعد توی برنامه به 30 و در اخر رقم ها برای نمایش جدا بشن :
    $regfile = "M8DEF.dat" : $crystal = 8000000
    Config Portb = Output
    Config Portd = Output
    Dim A As Word , B As Single , C As Single , D As Byte
    Config Adc = Single , Prescaler = Auto
    Start Adc
    Do
    A = Getadc(0)
    B = A
    B = B / 34
    If B < 10 Then
    D = B
    D = D * 10
    C = B * 10
    D = C - D
    Set Portd.0
    Portb = A
    Waitms 10
    Reset Portd.0
    Set Portd.1
    A = B
    Portb = A
    Waitms 10
    Reset Portd.1
    Reset Portd.2
    End If
    Loop
    End
    خب توی برنامه بالا اگه مقدار ولتاژ ورودی از 10 ولت کمتر باشه ، شرط if اجرا میشه (برای ولتاژ 10 تا 30 باید یه شرط دیگه نوشته بشه )
    فرض کن الان ولتاژ ورودی 3.6 ولت هست بنابرای شرط اجرا میشه ، چون توی مراحل بعدی به b نیاز داریم از چند تا متغیر دیگه استفاده میکنیم .
    اولین مرحله حذف ممیز هست تا بتونیم رقم ثابت رو جدا کنیم ، میدونی که متغیر از جنس byte ممیز رو حذف میکنه (مثلا اگه a از جنس بایت باشه و شما بنویسی a=3.2 مقدار .2 حذف میشه و مقدار a برابر با 3 میشه ) ، بعد d رو در 10 ضرب میکنیم ، تا اینجا مقدار d برابر با 30 میشه .
    در دومین مرحله مقدار b در 10 ضرب میشه و در متغیر c ریخته میشه ، c هم شد 36
    در مرحله سوم متغیر d از متغیر c کم میشه ، حاصل همون رقم اعشار ما هست ، که روی پورت b که 7 سگمنت بهش متصل است ریخته میشه ،Set Portd.0 هم پایه تحریک اولین سگمنت هست
    جدا کردن یکان هم که دیگه توی برنامه مشخصه ، اگه سوال دیگه ای بود ، من در خدمتم

  4. #3
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2009
    نوشته ها
    21
    تشکر
    0
    تشکر شده 10 بار در 10 پست

    پیش فرض RE: راه اندازی 7سگمنت 6 تایی

    سلام
    نشون دادن ولتاژ و جریان درست شد ، حالا من میخوام از یه دونه 7447 استفاده کنم ، به این صورت که 7 سگمنت 6 تای به 7447 میخوره و ولتاژ روی 3 تای اول و جریان روی 3 تای دوم نمایش داده میشه ( در اصل دوتا 7 سگمنت هست که با هم موازی شدند و پا های کنترلشون بیرون کشیده شده ) ممنون میشم در این مورد هم راه نمایی کنید .

  5. #4
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض RE: راه اندازی 7سگمنت 6 تایی

    سلام
    شما کافی که مقدار ولتاژ رو در 1000 ضرب کنی و با جریان جمع کنید و از روش بالا استفاده کنید ، فقط تزیه مقادیر یه خورده بیشتر میشه و شما به 8 دستور if نیاز دارید ، اگه متوجه نشدید بگید تا براتون برنامه بزارم

  6. #5
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2009
    نوشته ها
    21
    تشکر
    0
    تشکر شده 10 بار در 10 پست

    پیش فرض RE: راه اندازی 7سگمنت 6 تایی

    سلام
    شما کافی که مقدار ولتاژ رو در 1000 ضرب کنی و با جریان جمع کنید و از روش بالا استفاده کنید ، فقط تزیه مقادیر یه خورده بیشتر میشه و شما به 8 دستور if نیاز دارید ، اگه متوجه نشدید بگید تا براتون برنامه بزارم
    [/php]
    خیلی خیلی ممنون ;););););)نمیدونم چرا به فکر خودم نرسید بود ، من میخوام یه منبع تغذیه ی 0تا 30 ولت بسازم ، بهتره این رو توی پروژه های گروهی مطرح کنم

  7. #6
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض RE: راه اندازی 7سگمنت 6 تایی

    سلام
    معمولا فقط ظاهر پروژه ها بزرگ هستند ، در حالی که اگه باهاشون درگیر بشی میفهمی که چقدر ساده هستند

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

  1. راه اندازی 7سگمنت ها با avr
    توسط mehrdad22 در انجمن AVR
    پاسخ: 24
    آخرين نوشته: 15-04-2017, 14:57
  2. کمک در برنامه 7سگمنت 4تایی
    توسط sky_man847 در انجمن AVR
    پاسخ: 7
    آخرين نوشته: 25-06-2013, 00:45
  3. پاسخ: 8
    آخرين نوشته: 11-11-2012, 23:41
  4. پاسخ: 2
    آخرين نوشته: 02-10-2010, 16:42
  5. ساعت ديجيتالي همراه تاريخ با 7سگم
    توسط sina_6175 در انجمن PIC
    پاسخ: 1
    آخرين نوشته: 16-12-2009, 21:02

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

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