ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11
  1. #1
    2012/09/30
    8
    0

    محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    بسم الله الرحمن الرحیم

    احتیاج به برنامه ای دارم که مدت زمان یک یا صفر بودن یکی از پایه ها را محاسبه ( برحسب میلی ثانیه با دقت 50 میکرو ثانیه ) سپس نتیجه را با یک مقدار خاص جمع کرده و به خروجی بدهد

    به عبارت دیگر اگر به مدت 3 میلی ثانیه ورودی میکرو ( پایه a3 ) برابر یک باشد . در خروجی ( پایه c2 ) پنج میلی ثانیه (2+3) ثانیه یک داشته باشیم و به همین ترتیب همه زمان های ورودی با 2 جمع شوند و در خروجی ظاهر شوند

    بنده فارغ التحصیل مهندسی الکترونیک هستم. چند ماهیست سرباز هستم و همه اطلاعاتم فراموش شده . در صورت موفقیت در نوشتن این برنامه و تکمیل پروژه پیشنهادی ام شرایط خدمت من خیلی بهبود می یابد. خوهش میکنم حداکثر همکاری را بفرمائید
  2. #2
    2009/10/21
    تهران
    2,508
    214

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت حیاتی :::

    یک روش کار اینه:
    1- ورودی میکرو رو بده به یکی از وقفه های خارجی میکرو. طوریکه با لبه ها وقفه ایجاد بشه. با لبه بالا رونده؛ داخل وقفه هم یه تایمر رو روشن کن(با بالاترین فرکانس برای بدست آوردن بالاترین دقت)
    2- وقتی لبه پایین رونده اومد تایمر رو خاموش کن و نتیجه رو در عدد ثابت ضرب کن.
    3- حالا تایمر رو برای مدت بدست اومده روشن کن. وقتی وقفه تایمر اومد اونو غیر فعال کن
    * به حداکثر زمان اعمال ورودی (برای جلوگیری از سرریز تایمر یا مواجهه با اون) توجه داشته باش
  3. #3
    2012/09/30
    8
    0

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت حیاتی :::

    نقل قول نوشته اصلی توسط mojalan
    یک روش کار اینه:
    1- ورودی میکرو رو بده به یکی از وقفه های خارجی میکرو. طوریکه با لبه ها وقفه ایجاد بشه. با لبه بالا رونده؛ داخل وقفه هم یه تایمر رو روشن کن(با بالاترین فرکانس برای بدست آوردن بالاترین دقت)
    2- وقتی لبه پایین رونده اومد تایمر رو خاموش کن و نتیجه رو در عدد ثابت ضرب کن.
    3- حالا تایمر رو برای مدت بدست اومده روشن کن. وقتی وقفه تایمر اومد اونو غیر فعال کن
    * به حداکثر زمان اعمال ورودی (برای جلوگیری از سرریز تایمر یا مواجهه با اون) توجه داشته باش
    اینکه از پایه های اینتراپت استفاده کنم ایده خوبیه. به این صورت که با لبه بالایی تایمر کانتر روشن بشه و در صورت صفر شدن خاموش. برای سرریز زمانها مشکلی ندارم چون زمان خاموش بودن ده برابر زمان روشن بودن که مشکلی ایجاد نمیشه.
    دوست عزیز میشه در نوشتن کد کمکم کنید ؟

    اضافه شده در تاریخ :
    پردازنده قراره یک دریچه ورودی رو با سرعت های بالا و در حد چند میلی ثانیه روشن کنه . حالا ما میخوایم یک کیت واسطه بین پردازنده و دریچه قرار بدیم تا زمان باز بودن دریچه با یک مقدار مشخص جمع بشه و روی دریچه اعمال بشه.
    میتونیم ورودی رو به پایه اینتراپت میکرو بدیم تا با یک شدن لبه بالارونده تایمر فعال بشه و با پایین اومدن تایم رو محاسبه کنه و با مقدار مشخصی جمع کنه و در خروجی به همون اندازه دریچه رو باز کنه. نیاز به دقت هم داریم.


    اضافه شده در تاریخ :
    دوستان من خیلی به این برنامه احتیاج دارم. لطفا همکاری کنید
  4. #4
    2012/05/21
    Tabriz
    244
    3

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    نقل قول نوشته اصلی توسط soonaeid
    دوستان من خیلی به این برنامه احتیاج دارم. لطفا همکاری کنید
    اگه تو نوشتن برنامه مشکل داری بگو کدویژن یا بسکام ؟
    اگه یه چیزی هم خودت نوشتی بذار تا روی اون توضیح بدم ...
    [br /][hr]http://pcenter.ir[hr][br /]
  5. #5
    2010/11/19
    77
    2

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    دوست من
    شما در این مورد خاص اصلا نیازی به اندازه گیری پهنای پالس ورودی نداری!
    کافیه که شما با 1 شدن ورودی خروجی رو 1 کنی و هر وقت ورودی 0 شد بعد از یک تاخیر 2ms خروجی رو 0 کنی
  6. #6
    2012/09/30
    8
    0

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    نقل قول نوشته اصلی توسط adelavr110
    اگه تو نوشتن برنامه مشکل داری بگو کدویژن یا بسکام ؟
    اگه یه چیزی هم خودت نوشتی بذار تا روی اون توضیح بدم ...
    سلام / ضمن تشکر از توجه شما ...
    نظرتون راجب کد پایین چیه ؟

    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    Config Pinb.1 = Input
    Config Pinb.2 = Output
    Do
    If Pinb.1 = 1 Then
    Pinb.2 = 1
    L1:
    If Pinb.1 = 1 Then Goto L1
    Waitms 5
    Portb.2 = 0
    End If
    Loop

    در پروتئوس جواب نداد !
  7. #7
    2012/05/21
    Tabriz
    244
    3

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    نقل قول نوشته اصلی توسط Hamid Reza.T
    دوست من
    شما در این مورد خاص اصلا نیازی به اندازه گیری پهنای پالس ورودی نداری!
    کافیه که شما با 1 شدن ورودی خروجی رو 1 کنی و هر وقت ورودی 0 شد بعد از یک تاخیر 2ms خروجی رو 0 کنی
    این روش ، روش خوب و ساده ای ست اما مشکلی که داره ممکنه میکرو عقب بیفته مثلا اگه میکرو پس از اتمام زمان پالس بخواد 2 میلی ثانیه تاخیر بده ممکنه تو این زمان پالس بعدی از راه برسه و ....

    نقل قول نوشته اصلی توسط soonaeid
    سلام / ضمن تشکر از توجه شما ...
    نظرتون راجب کد پایین چیه ؟

    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    Config Pinb.1 = Input
    Config Pinb.2 = Output
    Do
    If Pinb.1 = 1 Then
    Pinb.2 = 1
    L1:
    If Pinb.1 = 1 Then Goto L1
    Waitms 5
    Portb.2 = 0
    End If
    Loop

    در پروتئوس جواب نداد !
    در برنامه شما چند اشکال جزئی وجود دارد برنامه رو به صورت زیر اصلاح کنید:
    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    Config Pinb.1 = Input
    Config Portb.2 = Output
    Do
    bitwait pinb.1,set
    Portb.2 = 1
    bitwait pinb.1,reset
    Waitms 2
    Portb.2 = 0
    Loop
    البته همونطوری که گفتم این روش جندان مناسب نیست بهتره که شما از اینتراپت خارجی و یکی از تایمر ها رو استفاده کنید
    مثلا تو این برنامه زمان حالت صفر رو هم +2 میلی ثانیه نمیکنه و در موقع تاخیر هم از پالس ورودی اطلاعی نداره

    [br /][hr]http://pcenter.ir[hr][br /]
  8. #8
    2012/09/30
    8
    0

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    تایم روشن بودن ورودی یک دهم تایم خاموش بودن . پس مشکلی واسه عقب افتادن نداریم. فقط نمیدونم چطور میشه برای 3 یا 4 ورودی گسترشش داد.
    میتونید روی همین برنامه کمکم کنید یا با توجه به مشکلاتی که گرفتید برنامه جدیدی بهم بدید ؟
  9. #9
    2012/05/21
    Tabriz
    244
    3

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    برای اضافه کردن چند ورودی یک حلقه DO:LOOP بذارید و توش همه پینهایی که بهشون پالس می آد رو بررسی و خروجی حا رو تغییر بدین
    البته اشکالی رو که من گرفتم یکی در مورد زمان خاموشی (یا بهتر بگم فاصله بین هر پالس) بود که ضاهرا با گفته تون مشکلی به وجود نمی آد
    اما اگه از چند ورودی استفاده کنید بازم اون اشکال ظاهر میشه و مشکل ساز می شه
    کلا الان هر کاری بخواید که میکرو براتون انجام بده مشکل پیش می آد باور نمیکنی امتحان کن!

    [color=red]
    بهترین روش استفاده از تایمر و اینتراپت خارجی
    [br /][hr]http://pcenter.ir[hr][br /]
  10. #10
    2010/11/19
    77
    2

    پاسخ : محاسبه تایم صفر یا یک بودن ورودی میکرو ::: بی نهایت مهم :::

    نقل قول نوشته اصلی توسط adelavr110
    این روش ، روش خوب و ساده ای ست اما مشکلی که داره ممکنه میکرو عقب بیفته مثلا اگه میکرو پس از اتمام زمان پالس بخواد 2 میلی ثانیه تاخیر بده ممکنه تو این زمان پالس بعدی از راه برسه و ....
    در برنامه شما چند اشکال جزئی وجود دارد برنامه رو به صورت زیر اصلاح کنید:
    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    Config Pinb.1 = Input
    Config Portb.2 = Output
    Do
    bitwait pinb.1,set
    Portb.2 = 1
    bitwait pinb.1,reset
    Waitms 2
    Portb.2 = 0
    Loop
    البته همونطوری که گفتم این روش جندان مناسب نیست بهتره که شما از اینتراپت خارجی و یکی از تایمر ها رو استفاده کنید
    مثلا تو این برنامه زمان حالت صفر رو هم +2 میلی ثانیه نمیکنه و در موقع تاخیر هم از پالس ورودی اطلاعی نداره
    راه حلی که بنده ارائه دادم یک روش کلی بود و منظور من استفاده از حلقه و delay نبود! در واقع انتخاب روش پیاده سازی رو به خود دوست عزیزمون واگذار کردم :smile:
    صد البته که بنده هم مثل شما استفاده از وقفه های خارجی و تایمر ها رو ترجیح میدم. ولی به علت کمی وقت خودم و دوست عزیزمون به ارائه یک پیشنهاد اکتفا کردم.
    ممنون از توضیحات شما
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11

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

  1. تشخیص چبگرد راست گرد بودن سه فاز ورودی
    توسط Azadfalah در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2015/09/14, 13:03
  2. درست یا غلط بودن محاسبه ترانس
    توسط h2h در انجمن منابع تغذيه
    پاسخ: 4
    آخرين نوشته: 2015/05/15, 20:56
  3. محاسبه ی مقاومت ورودی در ADS
    توسط S_Ahmad در انجمن نرم افزار ADS
    پاسخ: 0
    آخرين نوشته: 2013/11/27, 02:09
  4. پاسخ: 5
    آخرين نوشته: 2013/07/27, 22:12
  5. تغییر ورودی یا خروجی بودن پورت های میکرو
    توسط arashonline در انجمن میکروکنترلرهای AVR
    پاسخ: 12
    آخرين نوشته: 2010/04/24, 13:37

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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