با سلام
یه مشکل کوچیک پیدا کردم یه هفتست نمیتونم یه برنامه بنویسم که وقتی کلید زده میشه پین 2 پورت d برعکس بشه بمونه تا دوباره کلید زده بشه برعکس بشه بمونه
X(:$regfile "m8def.dat"
$crystal = 1000000
Config Portb.0 = Output
Config Portb.2 = Input
Portb.0 = 0
W:
Debounce Portb.2 , 0 , Q
Goto W
Q:
Toggle Portb.0
Return
End
اینو نوشتم جواب نداد
سلام..
کد:
debounce pinx.y,1,ebi
شما port را به pin تغییر بدین درست میشه..
موفق باشین
(۱۴-بهمن-۱۳۹۱, ۰۱:۴۲:۳۵)EBKA نوشته است: [ -> ]سلام..
کد:
debounce pinx.y,1,ebi
شما port را به pin تغییر بدین درست میشه..
موفق باشین
انجام دادم درست نشد . pin2 روشن میشه ولی خاموش نمیشه .البته تو پروتیوس تست کردم .
شما تو برنامت حلقه ی بینهایت نذاشتی یا برنامه رو بذار تو حلقه یا قبل از return بنویس goto w
دستور debounce رو اینطوری تعریف کنید؛
کد:
Debounce Pinb.2 , 0 , Q, sub
.
.
sub Q
.
end sub
return
حالا چرا با do loop و شرط if این کار رو انجام نمیدید؟
سلام.
برنامه ی شما چندتا ایراد داشت:
همونطور که دوستان گفتن:
1.وقتی میخوای یک پین رو خروجی یا ورودی تعریف کنی نباید بنویسی پورت باید بنویسی پین.
2.تو دستور دیبانس نوشتی پورت که اشتباس باید بنویسی پین.به طور کلی در ورودی باید بنویسی پین و خروجی ها باید بنویسی پورت.
3.حلقه هم نزاشتی.
4.ایراد آخری هم اون Portb.0 = 0 که اینو نباید بنویسی چون موقعی که برنامه از زیر برنامه خارج میشه میاد از اول همه دستور هارو اجرا میکنه و پین دوباره 0 میشه.
و در آخر برنامه ی اصلاح شده:
کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Pinb.0 = Output
Config Pinb.2 = Input
Do
Debounce Pinb.2 , 1 , Q , Sub
Loop
End 'end program
Q:
Toggle Portb.0
Return
موفق باشی.
(۱۴-بهمن-۱۳۹۱, ۱۸:۱۳:۵۳)h.unique نوشته است: [ -> ]سلام.
برنامه ی شما چندتا ایراد داشت:
همونطور که دوستان گفتن:
1.وقتی میخوای یک پین رو خروجی یا ورودی تعریف کنی نباید بنویسی پورت باید بنویسی پین.
2.تو دستور دیبانس نوشتی پورت که اشتباس باید بنویسی پین.به طور کلی در ورودی باید بنویسی پین و خروجی ها باید بنویسی پورت.
3.حلقه هم نزاشتی.
4.ایراد آخری هم اون Portb.0 = 0 که اینو نباید بنویسی چون موقعی که برنامه از زیر برنامه خارج میشه میاد از اول همه دستور هارو اجرا میکنه و پین دوباره 0 میشه.
و در آخر برنامه ی اصلاح شده:
کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Pinb.0 = Output
Config Pinb.2 = Input
Do
Debounce Pinb.2 , 1 , Q , Sub
Loop
End 'end program
Q:
Toggle Portb.0
Return
موفق باشی.
حاجی دمت گرم . کارت درسته خدایی.