با سلام خدمت دوستان ومهندسین عزیز
بنده یک دزد گیر با میکرو m8ساختم که همه چیش درسته فقط متاسفانه وقتی هر کدوم از ورودیها تحریک میشه شروع به اژیر زدن میکنه و تا موقعی که با ریموت دزد گیر رو غیر فعال نکنم اژیر قطع نمیشه از دوستان میخواستم راهنماییم کنند که برنامرو چجوری تغییر بدم تا وقتی ورودی ها تحریک شدن اژیر به مدت 15دقیقه بزنه و مجددا بره رو حالت اماده به کار و اگه این 15 دقیقه رو بشه با دیپ سوییچ به دوتایم مختلف تبدیل کرد عالی میشه مثلا وقتی دیپ سوییچ وصل بود 15 دقیقه بزنه و وقتی قطع بود 5 دقیقه بزنه
این هم برنامه ای که نوشتم
$regfile = "m8def.dat"
$crystal = 8000000
Config Portb = Input
Config Portd = Output
Config Debounce = 30
Do
Debounce Pinb.0 , 1 , Roshan , Sub
Debounce Pinb.1 , 1 , Khamosh , Sub
Debounce Pinb.2 , 1 , Zi , Sub
Debounce Pinb.2 , 0 , Zia , Sub
Debounce Pinb.3 , 1 , Zii , Sub
Debounce Pinb.3 , 0 , Ziia , Sub
Debounce Pinb.4 , 1 , Zix , Sub
Debounce Pinb.4 , 0 , Zixa , Sub
Debounce Pinb.5 , 1 , Zxx , Sub
Debounce Pinb.5 , 0 , Zxxa , Sub
Loop
End
Roshan:
Reset Portd.0 پایه منفی اژِیر
Set Portd.1 پایه مثبت اژیر
Set Portd.2 ال ای دی
Waitms 500
Reset Portd.0
Reset Portd.1
Set Portd.2
Return
Khamosh:
Reset Portd.0
Set Portd.1
Reset Portd.2
Waitms 500
Set Portd.0
Reset Portd.1
Return
Zi:
Set Portd.1 پایه مثبت اژیر
Set Portd.3 پایه مثبت ال ای دی
Return
Zia:
Reset Portd.3
Return
Zii:
Set Portd.1 پایه مثبت اژیر
Set Portd.4 پایه مثبتال ای دی
Return
Ziia:
Reset Portd.4
Return
Zix:
Set Portd.1 پایه مثبت اژیر
Set Portd.5 پایه مثبتال ای دی
Return
Zixa:
Reset Portd.5
Return
Zxx:
Set Portd.1 پایه مثبت اژیر
Set Portd.6 پایه مثبت ال ای دی
Return
Zxxa:
Reset Portd.6
Return
این هم شماتیک:
بنده یک دزد گیر با میکرو m8ساختم که همه چیش درسته فقط متاسفانه وقتی هر کدوم از ورودیها تحریک میشه شروع به اژیر زدن میکنه و تا موقعی که با ریموت دزد گیر رو غیر فعال نکنم اژیر قطع نمیشه از دوستان میخواستم راهنماییم کنند که برنامرو چجوری تغییر بدم تا وقتی ورودی ها تحریک شدن اژیر به مدت 15دقیقه بزنه و مجددا بره رو حالت اماده به کار و اگه این 15 دقیقه رو بشه با دیپ سوییچ به دوتایم مختلف تبدیل کرد عالی میشه مثلا وقتی دیپ سوییچ وصل بود 15 دقیقه بزنه و وقتی قطع بود 5 دقیقه بزنه
این هم برنامه ای که نوشتم
$regfile = "m8def.dat"
$crystal = 8000000
Config Portb = Input
Config Portd = Output
Config Debounce = 30
Do
Debounce Pinb.0 , 1 , Roshan , Sub
Debounce Pinb.1 , 1 , Khamosh , Sub
Debounce Pinb.2 , 1 , Zi , Sub
Debounce Pinb.2 , 0 , Zia , Sub
Debounce Pinb.3 , 1 , Zii , Sub
Debounce Pinb.3 , 0 , Ziia , Sub
Debounce Pinb.4 , 1 , Zix , Sub
Debounce Pinb.4 , 0 , Zixa , Sub
Debounce Pinb.5 , 1 , Zxx , Sub
Debounce Pinb.5 , 0 , Zxxa , Sub
Loop
End
Roshan:
Reset Portd.0 پایه منفی اژِیر
Set Portd.1 پایه مثبت اژیر
Set Portd.2 ال ای دی
Waitms 500
Reset Portd.0
Reset Portd.1
Set Portd.2
Return
Khamosh:
Reset Portd.0
Set Portd.1
Reset Portd.2
Waitms 500
Set Portd.0
Reset Portd.1
Return
Zi:
Set Portd.1 پایه مثبت اژیر
Set Portd.3 پایه مثبت ال ای دی
Return
Zia:
Reset Portd.3
Return
Zii:
Set Portd.1 پایه مثبت اژیر
Set Portd.4 پایه مثبتال ای دی
Return
Ziia:
Reset Portd.4
Return
Zix:
Set Portd.1 پایه مثبت اژیر
Set Portd.5 پایه مثبتال ای دی
Return
Zixa:
Reset Portd.5
Return
Zxx:
Set Portd.1 پایه مثبت اژیر
Set Portd.6 پایه مثبت ال ای دی
Return
Zxxa:
Reset Portd.6
Return
این هم شماتیک:

دیدگاه