سلام دوستان . من میخوام با بیسکام برنامه ای بنویسم که Duty cycle ( دیوتی سایکل ) 6 تا پالس PWM رو با MEGA16 بخونه .لطفا راهنمایی کنید . پیشاپیش از راهنمایی هاتون ممنونم .
اطلاعیه
Collapse
No announcement yet.
خواندن duty cycle توسط AVR
Collapse
X
-
پاسخ : خواندن duty cycle توسط AVR
من یه همچین برنامه ای نوشتم . با پروتئوس دقت کافی نداره . اما فکر کنم در عمل خوب باشه . نظرتون چیه؟
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.0 , Rs = Porta.1
Config Lcd = 16 * 2
Config Int0 = Change
Config Timer1 = Timer , Prescale = 1024
Dim T1 As Word , T2 As Word , T As Word , Dc As Single , I As Word
On Int0 Tim
Enable Interrupts
Enable Int0
Stop Timer1
Tcnt1 = 0
Do
Cls : Home : Lcd "DC=" ; Dc ; "%" : Wait 1
Loop
End
Tim:
Incr I
Select Case I
Case 2:
Start Timer1
Case 3:
Stop Timer1
T1 = Timer1 * 128
Timer1 = 0
Start Timer1
Case 4:
Stop Timer1
T2 = Timer1 * 128
Timer1 = 0
I = 0
End Select
T = T1 + T2
Dc = T1 / T
Dc = Dc * 100
Return
[glow=blue,2,300]آنقدر به تاریکی لعنت نفرستید ، یک شمع روشن کنید. [/glow]
-
پاسخ : خواندن duty cycle توسط AVR
مدارتون و عملی ببندید و اندازه بگیرید
آخه میکروها با هم فرق دارن
مثلا Duty Cycle یا فرکانس ماشینشون با هم فرق میکنه؛ به همین دلیل روی تئوری شما نمیشه حساب کردReveng will surely come... Your hard time are ahead
// - - - - - - - - - -
برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
// - - - - - - - - - -
اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
// - - - - - - - - - -
دیدگاه
دیدگاه