ايران ويج

نسخه‌ی کامل: بدست اوردن زمان یک پالس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
من یه درخواستی از شما داشتم.من یه پالس مربعی دارم که با اسیلوسکوپ مدت زمان 1 اون 2 میلی ثانیه و زمان 0 اون 10میکرو ثانیه است.البته این زمانها در حد خیلی کم متغیر میباشند.حالا میخوام یکی از این زمانها رو رو ال سی دی نمایش بدم(مثلا زمان 1 بودن) .واگه زمان 1 از 2میلی ثانیه بیشتر شد بره یکی از پایه های میکرو رو 1بکنه.کریستال من هم 16 مگا.من این برنامه رو سعی کردم با دستور(پالس این ) بنویسم اما جواب خوبی نگرفتم.با تایمر و وقفه هم موفق نشدم خواهشا کمکم کنید که خیلی نیاز به این برنامه دارم البته اینو قبلا هم گفته بودم ولی کسی جواب مارو نداد
سلام.
این برنامه( البته با کریستال 8 مگا هرتز) امتحان کنید
در این برنامه متغییر finaltime برابر زمان یک بودن pind.0 بر حسب میکروثانیه است و از تایمر 1 که 16 بیتی هست استفاده شده.
دوست عزیز بهتره خودت برنامه شو بنویسی .کافیه از یک تایمر دقیق و انترابت استفاده کنی با 1 شدن موج تایمر استارت و با 0شدنش تایمر ایست =زمان یک بودن . فکر نکنم سخت باشه !Clap
سلام
من روی دور موتور ماشین کار میکردم و میخاستم از رو مدت زمان یک پالس تعداد در ثانیه رو محاسبه کنم و روی ال سی دی نشون بدم دور از حدود 10 الی 130 دور متغییر بود و من با یک برنامه کوچیک تونستم اونو اندازه گیری کنم.
اول اینت رو حساس به لبه بالا رونده فعال میکردم
سپس با اولین پالس تایمر یک رو صفر میکردم و با دومین پالس مقدار تایمر رو میگرفتم و بقیه محاسبات هم که راحته.
حالا در تئوری شما باید اینترو حساس به تغییر کنی یعنی وقتی پالس اومد اول تایمر رو صفر کنی بعد ببینی که بسمت یک یا صفره تا بتونی مدت زمانش رو حساب کنی
on intx sub
i=0
sub:
incr i
if i=1 then timer1=0
if i=2 then
w=timer1
a=pind.2 ' pulse is up or down
.
.
.
i=0
timer1=0
end if
(۰۱-بهمن-۱۳۹۰, ۰۵:۱۹:۱۸)maxn@morteza نوشته است: [ -> ]دوست عزیز بهتره خودت برنامه شو بنویسی .کافیه از یک تایمر دقیق و انترابت استفاده کنی با 1 شدن موج تایمر استارت و با 0شدنش تایمر ایست =زمان یک بودن . فکر نکنم سخت باشه !Clap

مهندس مشکل من تغییرات زمان در حد میکرو ثانیه هستش.یعنی تغییرات دیوتی سایکل در حد میکرو ثانیه.وگرنه من در حد میلی ثانیه مشکلی ندارم.ولی وقتی دیوتی سایکل من در حد میکرو ثانیه تغییر میکنه نمیتونم این تغییر رو محاسبه و رو ال سی دی نشون بدم.با هر پریسکیل و کریستال هم انجام دادم نشد.اگه میشه راهنماییم کنید