با سلام خدمت تمامی دوستان
من در حال حاضر برنامه ای در رابطه با چراغ راهنمای ماشین نوشتم که این برنامه رو براتون اینجا گذاشتم
اما بایک مشکلی برخوردم واونم اینه که وقتی که فلاش ماشین زده میشه به صورت چشمک زن هستش
من میخوام به این صورت که زمانی که پالسی که بروری یکی از لبه ها ایجاد میشه برنامه اجرا کنه
مثلا زمانی که فلاش زده شد پالس هایی که بر روی پایه b.0 اعمال میشه برنامه F1 را اجرا کند و همینطور برای سایر زیر برنامه ها اینا همه داخل برنامه هستش ودر ضمن زمانی که پالسی ایجاد نمیشود خاموش باشد
حالا از دوستان کسی میتونه این برنامه منو یک حالی بده بهش
باتشکر
سلام.
شما میتونی برنامه رو با یه پین کنترل کنی یا از وقفه استفاده کنی.
خب شما که بلدی بی زحمت همینو واسه من درستش کن
مهندس من نفهمیدم چی کار شد و باید چی کارشه !!
یکم بیشتر توضیح بده !!
مهندس با دستور زیر می تونی بفهمی الان وضیعت کلید تغییر کرده یا نه !! ( تو حلقه فوق می مونه تا وضعیت کلید عوض شه !!
کد php:
Star:
If Pinb.0 = 1 Then :
Do
Debounce Pinb.0 , Reset , Ali
Loop
Else :
Do
Debounce Pinb.0 , Set , Ali
Loop
End If
Ali:
Goto Star
نمی دونم برنامم مفهوم کاری که باید انجام بدی رو نشون می ده یا نه !!!
دوست عزیز من هم ازاین دستور ها تو برنامم استفاده کردم
اما مشکل اصلی من اینه که زمانی که مثلا راهنمای سمت چپ ماشین را میزنم به صورت چشمک زنه
این باعث میشه که برنامه نصفه کاره اجراه شه
یعنی من میخوام تو برنامم زمانی که پالسی که روی یکی از پایه های ورودیم هستش برنامه مربوط به اونو اجرا کنه در غیره اینصورت خاموش باشد
در ضمن من تو برنامه 3تا ورودی و سه خروجی دارم
یعنی شما الان می خوای هر کدوم از سه ورودی مورد نظرت اگه تغییر وضعیت داد برنامت اجرا بشه !
درسته !
خوب تا کی اجرا بشه !!!
دوباره تغییر وضعیت بده که خاموش می شه و واسه تغییر وضعیت بعدی که بخواد دوباره روشن مثل اول می شه که !!!
یعنی عملا فرقی نکرده !
نمی دونم مفهومم رو رسوندم یا نه ؟
و یه چیز دیگه :
اگه دو تا ورودی همزمان فعال شدن چطور ؟
مهندس تا زمانی که پالسی روی هرکدوم ورودی ها هستش خروجی اجرا بشه !!!!!!!!!!
خوب چشمک زدن رو تو وقفه تایمر کار کن و یه فلاگ بذار واسه هر کدوم که هر موقع فلاگش فعال بود اون خروجی کار کنه !
نمی دونم مفهوم رو رسوندم یا نه؟
به چه شکلی باید برنامه نویسی کن میشه یک مثال بزنی؟؟؟؟؟؟
سعی می کنم بیشتر راهنمایی کنم تا مستقیم برنامه رو بنویسیم ول نمی دونم چرا نمی شه !!
مهندس این برنامش :
کد php:
$regfile = "m16def.dat" : $crystal = 1000000
Ddrc = 255 : Ddrd = 255 : Ddrb = &B1000 : Portb = 7
Config Timer0 = Timer , Prescale = 64
On Timer0 Ant : Enable Interrupts : Enable Timer0
Dim T1 As Word , T2 As Word , T3 As Word
Dim F1 As Byte , F2 As Byte , F3 As Byte
Dim B1 As Byte , B2 As Byte
B1 = 1 : B2 = 1 : Start Timer0
Do
Loop
Ant:
Incr T1 : Incr T2 : Incr T3
If T1 = 100 Then :
If Pinb.0 = 0 Then :
Portc = B1
Rotate B1 , Left
Else : Portc = 0
End If
T1 = 0
End If
If T2 = 100 Then :
If Pinb.1 = 0 Then :
Portd = B2
Rotate B2 , Left
Else : Portd = 0
End If
T2 = 0
End If
If T3 = 75 Then :
If Pinb.2 = 0 Then : Toggle Portb.3
Else : Reset Portb.3
End If
T3 = 0
End If
Return
و اینم فایل برنامه و پروتئوس و ... :
مهندس وقتی درستش کردی یه عکس ازش بذار که کجای ماشین و چجوری گذاشتی و ...