PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اندازه گيري پالس



zavar
13-03-2008, 19:49
باسلام ميخواستم دراين مورد به من كمك كنيد يك كلاك به ورودي يك مدا وارد ميشود وپس از 250تا 300نانو ثانيه در خروجي ظاهر ميشود من ميخواهم اين زمان را باميكرو اندازه بگيرم با تشكر

saeed_niknami
15-03-2008, 18:46
با سلام
به نظر من مي توني با وقفه ها اندازه گيري كني با وقفه 0 ورودي رو كنترل كني بعد از اومدت پالس وقفه فعال بشه و يك تايمر رو راه اندازي كنه و خروجي رو هم با وقفه 1 كنترل كني وقتي پالس در خروجي ظاهر شد تايمر رو خاموش كنه بعد مقدار تايمر رو بخوني ......

zavar
15-03-2008, 22:37
با سلا م به زمان پالس توجه كنيد خيلي كمه

mostafahk
17-03-2008, 04:16
من دقیق نفهمیدم ولی:
هم ورودی و هم خروجی رو به یک گیت xor بده و خروجی گیت رو به کپچر تایمر1 وصل کن، بعد حالا در لحظه ای که کلاک میاد یک تغییر در خروجی گیت ایجاد میشه و در لحظه ای که کلاک در خروجی ظاهر میشه یک تغییر دیگه. تایمر یک یه مد کپچر any change on pin داره که باید از اون استفاده کنی.

saeed_niknami
18-03-2008, 13:00
با سلام
دوست عزيز منظورش طول مدت زمانه تاخير
زوار جان شما بگو مدار چيه و چه كاري مي كنه شايد بتونيم يه راهي واسش پيدا كنيم
و اين تاخير رو واسه چي مي خواهي اندازه كني

zavar
20-03-2008, 00:02
با سلا م براي تست يك برد ميخوام لطفا كمك كنيد

zavar
02-04-2008, 23:34
باسلام كسي پاسخ نميده

alitaroosheh
03-04-2008, 12:24
دوستان راهنمايي لازم رو كردن

شما ميتونيد پالس رو به يكي از پايه هاي اينتراپت ميكرو وصل كنيد و در زير برنامه اينتراپت تايمر رو راه اندازي كنيد يادتون نره اينتراپت در زير برنامه غير فعال بشه و پايه اي كه بهش پالس ميديد به صورت ورودي پيكره بندي بشه و هر وقت حالت موردنظر ايجاد شد تايمر رو قطع كنيد و بخونيدش

چون يكم سرعت بالاست براي جلوگيري از خطا فركانس كار ميكر رو بالا ببريد راستي با 8051 نميشه چون كلاك شما خيلي سريعه

zavar
03-04-2008, 23:12
با سلام من اين كاررا با اي وي آر انجام ميدم فقط ميشه در زير برنامه خود اينتراپت اينتراپت را عير فعال كرد

1nafar
04-04-2008, 00:18
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinc.0 , Db5 = Pinc.1 , Db6 = Pinc.2 , Db7 = _
Pinc.3 , Rs = Pinc.4 , E = Pinc.5
Config Lcd = 16 * 2
Config Timer1 = Counter , Edge = Rising
Config Timer0 = Timer , Prescale = 1024
Enable Timer0
Enable Timer1
On Ovf1 Q
On Ovf0 W
Dim E As Long
Dim R As Long
Dim T As Byte
T = 0
Cls
Start Timer0
Do
Loop
End 'end program
W:
Incr R
If R > 30 Then
Stop Timer0
Cls
Locate 1 , 1
E = T * 65536
E = E + Counter1
Lcd "f=" ; E ; "hz"
Locate 2 , 1
E = 1 / E
Lcd "t=" ; E ; "s"
T = 0
R = 0
Counter1 = 0
Start Timer0
End If
Return
Q:
Incr T
Counter1 = 0
Return
;کلاک رو به pinb.1بده روی lcd فرکانس و زما نشو میبینی (امید وارم همین مدار منظورت باشه در غیر این صورت بگو تا اصلاح کنم :wink: )(در مدار از کریستال خارجی استفاده کن )

zavar
04-04-2008, 01:24
با تشكر ازشما ولي من نميخوام فركانس وزمان يك پالس را اندازه بگيرم من يك كلاك را به ورودي يك مدار ميدم وهمان پالس بعد از 250تا 300نانو ثانيه در خروجي مدار ظاهر ميشود ومن ميخواهم تين زمان را اندازه بگيرم

alitaroosheh
04-04-2008, 12:48
اين رو تست كن:

$regfile="m32def.dat"
$crystal=16000000

$baud=19200

disable interrupts

config int0=rising
config int1=rising

on int0 int0_isr
on int1 int1_isr

config timer1=timer,prescale=1

stop timer1
timer1=0

disable int1
enable int0
enable interrupts

do
loop

end

int0_isr:
disable int0
start timer1
enable int1
return
return

int1_isr:
stop timer1
disable int1
print "time:";timer1
return
return

اين برناه اگه توي خروجي هيچ چيزي جز ورودي نباشه كار ميكنه اما اگه توي خروجي چيزاي ديگه داري كه وابسته به ورودي نيست كار نمي كنه

ورودي مدار رو به int0 بده و خروجي رو به int1 اگه لبه هاي پالس بالا رونده نيست پيكره بندي اينتراپت ها رو عوض كن

mostafahk
04-04-2008, 16:05
من به این نتیجه رسیدم که این زمان کم رو با avr نمی شه اندازه گرفت.چون در بیشترین فرکانس avr که 16mhz است پریود هر پالس ساعت 62.5ns می شود که چون گفتی زمان بین 250ns - 300ns است خوب نمی شه.

باید از یک مدار لاجیکی سرعت بالا استفاده کنی که در اون صورت نیاز به شمارنده خارجی با پالس کلاک حدود 100mhz داری تا بتونی بادقت خوب این زمان رو اندازه بگیری.
اصلا کار راحتی نیست. :?or:(
استقلال و پرسپولیس هم طبق معمول مساوی :k01:

zavar
07-04-2008, 22:38
با سلام متاسفانه برنامه وروش استفاده از ميكرو جواب نداد لطفا يك راه ديگر پيشنهاد كنيد باتشكر

zavar
13-04-2008, 21:44
با سلام لطفا كمك كنيد