اطلاعیه

Collapse
No announcement yet.

رجیستر حامل مقدار تایمر

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    رجیستر حامل مقدار تایمر

    سلام بر همه دوستان
    من از PIC18F452 دارم استفاده میکنم
    کسی از عزیزان هست که بدونه تایمرهای PIC در هنگام شمردن، مقدار فعلی خودشون را در چه رجیستری ثبت میکنه؟
    مشکل من اینه که وقتی از PWM دارم استفاده میکنم نیاز دارم که وقتی مدت زمان ton به Toff در PWM تغییر کرد من همون لحظه
    یه کاری رو انجام بدم،یعنی باید بفهمم که وضعیت پایه CCP1 تغییر کرده اما این کار باید در داخل خود میکرو انجام بشه،
    من اول خودم اومدم رجیستر LATC رو خوندم و وقتی تغییر میکرد ا کار مورد نظرم رو انجام میدادم اما متوجه شدم پورت c در هنگام
    دادن خروجی در حالت CCP مقدار خودش رو در LATC نمیریزه و جداگاه از پورت عمل میکنه
    حالا من نیاز اساسی دارم که در هنگام تغییر وضعیت از HI به LoW در PWM رو متوجه بشم،
    در ضمن استفاده از رجیستر PR2 هم اشتباهه برای مقایسه چون اون در هنگام تموم شدن پریود علامت میده نه در هنگام HI به LOW
    شدن PWM
    مرسی اگه منو راهنمایی کنید!!!!!!!!!!!!!!!!!!!!!!! :angry:

    #2
    پاسخ : رجیستر حامل مقدار تایمر

    در رجیسترهای TMRx مربوط به تایمری که استفاده میکنید، اگر دارید از تایمر 16 بیتی استفاده میکنید دو رجیستر هست که یکی بایت کم ارزش و دیگری بایت پر ارزش را در بر میآ‌گیرد، به عنوان مثال در زمان استفاده از تایمر یک مقدار شمارش در دو رجیستر TMR1L و TMR1H فرار میگیرد.
    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
    شاد و موفق باشید

    دیدگاه


      #3
      پاسخ : رجیستر حامل مقدار تایمر

      ممنون از توضیح STUDY
      اما تا اون جایی که من متوجه شدم رجیسترهای TMR1L و TMR1H را ما خودمون بهش مقدار میدیم تایمر مقدار خودشو رو
      در هر لحظه با این مقادیر چک میکنه
      مشکل اصلی من هم همسنه که میخوام به مقادیر داخلی رجیستر تایمرها دسترسی پیدا بکنم و اونها رو بخونم
      اگه از دوستان کسی اطلاعات دقیقی داره ممنون میشم منو راهنمایی بکنه
      مرسی از همه عزیزان

      دیدگاه


        #4
        پاسخ : رجیستر حامل مقدار تایمر

        دوست عزیز شما این رجیسترها رو مقدار دهی میکنید که زمان شمارش رو مشخص کنید و زمانی که تایمر رو راه اندازی کردید این مقداری که درون رجیستر قرار دادید با پالس های تحریک اضافه میشه، اون رجیسترهایی که شما دنبالش هستید دقیقا همین ها هست که عرض کردم، هم نوشتنی هستند هم خواندنی، ابتدا در آن مقداری میریزید (آ‌ با توجه به زمانی که نیاز دارید )آ‌ بعد تایمر را راه اندازی میکنید، رجیسترهایی که مقادیرشون اضافه میشه ( شمارش را انجام میدهند ) همین TMRx ها هستند، که شما میتونید هر موقع خواستید مقدار فعلی اونها رو بخوانید یا مقدار جدیدی درون آنها بنویسید.
        از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
        هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
        اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
        اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
        شاد و موفق باشید

        دیدگاه


          #5
          پاسخ : رجیستر حامل مقدار تایمر

          من قسمت اول مشکلم حل شده اما همنوز قسمت دومش که مربوط به PWM هست حل نشده
          برای همین هم سوالم رو یه بار دیگه مطرح میکنم:
          مشکل من اینه که وقتی از PWM دارم استفاده میکنم نیاز دارم که وقتی مدت زمان ton به toff در PWM تغییر کرد من همون لحظه
          یه کاری رو انجام بدم،یعنی باید بفهمم که وضعیت پایه CCP1 تغییر کرده اما این کار باید در داخل خود میکرو انجام بشه،

          یعنی دقیقا در جایی که TMR2=Duty Cycle میشه
          من اول خودم اومدم رجیستر LATC رو خوندم و وقتی تغییر میکرد ا کار مورد نظرم رو انجام میدادم اما متوجه شدم پورت c در هنگام
          دادن خروجی در حالت CCP مقدار خودش رو در LATC نمیریزه و جداگاه از پورت عمل میکنه
          حالا من نیاز اساسی دارم که در هنگام تغییر وضعیت از HI به LoW در PWM رو متوجه بشم،
          در ضمن استفاده از رجیستر PR2 هم اشتباهه برای مقایسه چون اون در هنگام تموم شدن پریود علامت میده نه در هنگام HI به LOW
          شدن PWM
          مرسی اگه منو راهنمایی کنید!!!!!!!!!!!!!!!!!!!!!!!

          دیدگاه

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