اطلاعیه

Collapse
No announcement yet.

aشروع کار با تایمر صفر در بسکام

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

    aشروع کار با تایمر صفر در بسکام

    سلام بر همه.
    من امروز کار با تایمر ها رو شروع کردم ولی در همین اول راه به یه مشکل برخوردم که از دوستان کارکشته خواهش می کنم هرچه سریع تر کمک کنن.
    من می خوام یه مدار طراحی کنم که در هر ثانیه یک واحد به یک متغیر اضافه کنه و اون رو رو lcd نمایش بده؟
    خودم هرکاری کردم با تقسیم فرکانس میکرو بر prescal نشد ولی یه جایی یه عدد دیگه دیدم به این صورت copmare1a آیا اینم یه عددیه که در prescal ضرب میشه ؟ (خواهشا کمک کنید چون واقعا سردرگم شدم.)
    با تشکر.
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
    ------------------------------------------------------------------------------------------------------
    محصولات

    #2
    پاسخ : aشروع کار با تایمر صفر در بسکام

    با سلام
    تایمر ها بسته به اینکه 8 بیتی باشند یا 16 بیتی مد های عملکرد مختلفی دارند اما در الت کار عادی تایمر ها مثلا برای کاری که شما می خواهید انجام بدید باید حساب کنید که مثلا به ازای یک فرکانس و پرسکالر خاص مدت زمانی که طول میکشه یک وقفه اجرا بشه چقدره بعد بیای مثلا یک زمان پایه برای خودتون درست کنید بعداش زمان دلخواهتون رو با سنجش مقدار یک متغیر افزایشی در روتین وقفه سرریز تایمر موردنظرتون رو بدست بیارید
    خوب من یک جای دیگه هم این مطلب تایمر رو عنوان کرده بودم امیدوارم کمکتون کنه :

    برای تایمرهای 8 بیتی:
    Δt = (256 – X0 )*( Prescale/Fosc)
    برای تایمرهای 16بیتی:
    Δt = (65536 – X0 )*( Prescale/Fosc)
    X0 : مقدار اولیه ی تایمر هست

    برای مثال برای تولید زمان یک ثانیه ، خوب ما برای ایجاد این زمان احتیاج به یک زمان پایه داریم
    تا با تکرار اون بتونیم به زمان مورد نظر برسییم
    خوب اول برای تایمر 8 بیتی مثل تایمر صفر
    فرض کنیم که :
    1- fosc = 8000000
    2- prescal = 8
    خوب اگه دقت کنید ما با این مقادیر حداکثر زمانی که می تونیم داشته باشیم تا یک وقفه سریز تایمر و در
    پی آن تغییری در یک متغیر ، 256 میکرو ثانیه هست
    بدین ترتیب اگه بخواهیم یک زمان پایه مثلا به مقدار 200 میکرو ثانیه داشته باشیم طبق فرمول مقدار اولیه تایمر
    رو 56 قرار می دهیم و هر با که سر ریز رخ داد مقدار اولیه تایمر رو دوباره باید برابر 56 قرار دهید چرا که با هر بار سریز تایمر مقدار اون صفر خواهد شد ، در ضمن تایمر رو در وقفه خاموش هم نکنید و اولین دستور درون وقفه باید همین مقدار اولیه که برابر 56 هست باشه
    خوب ما زمان 200 میکرو ثانیه رو حساب کردیم حالا میگیم که هر 1 ثانیه برابر است با 5000 تا 200 میکرو ثانیه
    خوب شما می تونید یک متغیر از نوع word رو تعریف کنید و اون رو داخل سریز هر بار 1 واحد افزایش دهید
    به این ترتیب با رسیدن اون متغیر به 5000 شما به زمان 1 ثانیه خواهید رسید

    دیدگاه


      #3
      پاسخ : aشروع کار با تایمر صفر در بسکام

      سلام
      http://www.eca.ir/forum2/index.php?topic=23277.0

      آموزشی کاملا" ساده و روان
      نيست بر لوح دلم جز الف قامت دوست *** چه کنم حرف دگر ياد نداد استادم

      دیدگاه


        #4
        پاسخ : aشروع کار با تایمر صفر در بسکام

        سلام عزیزان فرمول زمان نیم ساعت رانیازدارم البته باهربارزدن کلیدنیم ساعت نیم ساعت بیشتربشه تا۲۴ساعت بعدصفرودوباره نیم ساعت نیم ساعت

        ممممممممننننننننووووووووننننننن

        ووووووااااااجججججججببببببب مرسی

        دیدگاه

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