ايران ويج

نسخه‌ی کامل: یکی کمک کنه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
لطفا به این برنامه توجه کنید:

$regfile = "M32def.dat"
$crystal = 8000000
Config Porta = Input
Config Portb = Output
Config Portc = Input
Config Portd = Output
Main:
Do
Debounce Pina.0 , 1 , M1
Debounce Pinc.0 , 1 , M2
Debounce Pina.0 , 0 , M3
Debounce Pinc.0 , 0 , M4
Loop
Do
M1:
Set Portb.0
Goto main

Loop
Do
M3:
Reset Portb.0
Goto Main
Loop
Do
M2:
Set Portd.0

Goto Main
Loop
Do
M4:
Reset Portd.0
Goto Main
Loop

End


خب یکی برام توضیح بده کار این برنامه چی هست؟
با علم بسیار کم من این برنامه دوتا ورودی داره و دوتا خروجی که با 1 شدن ورودی ها خروجی ها هم 1 و با 0 شدن ورودی ها خروجی باید 0 بشه

ولی ؟؟؟؟

قسمت اولش درسته یعنی اگه ورودی 1 بشه خروجی هم 1 میشه
اما
بعد دیگه خروجی 0 نمیشه هر کاری کردم نشد
لطفا بگید مشکل کارم کجاستConfused
سلام.

مشكل كار ؟!

من يه پيشنهاد دارم ، شما بيا از ميكرو استفاده نكن ... !!
مستقيم ورودي و خروجي رو به هم بزن . مدارت كار مي كنه و اصلا نيازي به ميكرو نداره ... !!

خوب تا وقتي شما كليد رو گرفتي ، احتمالا خروجي 1 و وقتي رها مي كنيد ،‌خروجي بايد صفر بشه ...
برنامه رو هم خيلي بد نوشتيد ...
براي اون label هاي پاييني هم لازم نبود DO_LOOP بذاريد.
با پايه هاي يك پورت هم كارتون رو مي تونيد انجام بديد.

اين جور موارد رو ميتونيد در تاپيك زير مطرح كنيد ...

http://www.iranled.com/forum/thread-18456.html

موفق باشيد.
يا علي.
مشكل اينه كه ما در يك لوپ نميتونيم هم از Debounce Pina.0 , 1 , M1وهم از Debounce Pina.0 , 0 , M1استفاده كنيم
راه حل اينه كه شما از يكي استفاده كني و در ليبل اون خروجي رو toggle كني!