سلام اساتید محترم
قبل از ایجاد پست سرچ زدم هم تو این انجمن و هم تو گوگل ولی انگار مشکل من بحدی سادست که هیشکی به همچین مشکلی برنخورده
البته بگم که من کاملا مبتدی هستم

هدف من از این برنامه هم جنبه آموزشی و تفریحی داره؛ ممنون میشم کمکم کنید
من میخوام میکرو در شروع کار یک LED رو روشن کنه و با زدن یک کلیداون LED خاموش بشه و میکرو به یک برنامه دیگه پرش کنه، توی اون برنامه باز یک led دیگه روشن میشه و میکرو یک پایه رو تحت نظر میگیره و به محض اینکه اون پایه 0 شد؛ یک پایه دیگه رو 1 کنه ؛ حالا با زدن همون کلید اولی میکرو باید بپره به برنامه آغازین و منتظر زدن کلید باشه و ...
به نظر خودمم ساده میاد و چند تا برنامه هم نوشتم ولی نمیدونم مشکلم کجاست!
برنامه من اینه :
کد:
$regfile = "m8def.dat"
$crystal = 8000000
'*********************************input*****************************************
Config Pind.0 = Input
Config Pind.1 = Input
'*********************************output****************************************
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
'*******************************************************************************
Do
Main:
Do
Reset Pinb.2
Set Pinb.1
If Pind.1 = 0 Then
Toggle Pinb.1
Toggle Pinb.2
Goto M
End If
Loop
M:
Do
Bitwait Pind.0 , Set
Set Pinb.0
Waitms 250
Reset Pinb.0
If Pind.1 = 0 Then
Bitwait Pind.1 , Reset
Goto Main
End If
Loop
Loop
End
پیشاپیش از وقتی که میزارید ممنونم

سلام.
همیشه سوالی میپرسی شبیه ساز و سورس رو به صورت کامل زیپش کن و بزارش.
کد هم میخوای بزاری از اون علامت شارپ ( # ) استفاده کن.
ببین منظورت اینه :
(۱۵-آبان-۱۳۹۳, ۰۰:۲۱:۳۳)h.unique نوشته است: [ -> ]سلام.
همیشه سوالی میپرسی شبیه ساز و سورس رو به صورت کامل زیپش کن و بزارش.
کد هم میخوای بزاری از اون علامت شارپ ( # ) استفاده کن.
ببین منظورت اینه :
سلام
چشم
نه منظورم این نبود؛ تو زیپ فایل پروتئوس رو گذاشتم؛ من دوتا کلید به اسم های 1 و 2 دارم
میکرو روشن میشه و میره به برنامه main
D2 روشن میشه
میکرو منتظر میمونه تا کلید 2 صفر بشه
به محض صفر شدن کلید 2 میکرو به برنامه بعدی میره(برنامه M)
در این برنامه D2 خاموش میشه
D3 روشن میشه
حالا درصورتی که کلید 1 یک بشه؛ D1 هم روشن میشه و تا زمانی که کلید 1 یک باقی بمونه D1 هم روشن میمونه ولی با صفر شدن کلید 1 D1 خاموش میشه ولی D3 همچنان روشنه؛ تا زمانی که ما کلید 2 رو بزنیم
در این صورت D1 , D3 خاموش میشن و میکرو میره به برنامه main و ادامه
(۱۵-آبان-۱۳۹۳, ۰۰:۵۶:۲۸)sinohe نوشته است: [ -> ] (۱۵-آبان-۱۳۹۳, ۰۰:۲۱:۳۳)h.unique نوشته است: [ -> ]سلام.
همیشه سوالی میپرسی شبیه ساز و سورس رو به صورت کامل زیپش کن و بزارش.
کد هم میخوای بزاری از اون علامت شارپ ( # ) استفاده کن.
ببین منظورت اینه :
سلام
چشم
نه منظورم این نبود؛ تو زیپ فایل پروتئوس رو گذاشتم؛ من دوتا کلید به اسم های 1 و 2 دارم
میکرو روشن میشه و میره به برنامه main
D2 روشن میشه
میکرو منتظر میمونه تا کلید 2 صفر بشه
به محض صفر شدن کلید 2 میکرو به برنامه بعدی میره(برنامه M)
در این برنامه D2 خاموش میشه
D3 روشن میشه
حالا درصورتی که کلید 1 یک بشه؛ D1 هم روشن میشه و تا زمانی که کلید 1 یک باقی بمونه D1 هم روشن میمونه ولی با صفر شدن کلید 1 D1 خاموش میشه ولی D3 همچنان روشنه؛ تا زمانی که ما کلید 2 رو بزنیم
در این صورت D1 , D3 خاموش میشن و میکرو میره به برنامه main و ادامه
این رو دانلود کن یکی ازنیاز های منم تو یه پروژه یه چیزی مثل نیاز شما بود من بهش میگم ایجاد حالات مختلف کاری برای یه شستی تو برنامه هم هرچی دوست داشتی میتونی بجای دستورات زیر
a<100 و a>100 and a<200 بنویسی همچنین میتونی از دستور دیبانس استفاده کنی
debounce pind.1,1,klid
تو این حالت به ازاری هر بار فشار دادن کلید برنامه به سربرگklid پرش میکنه اون میتونی بنوسی
klid:
incr p
if p>4 then
P=0
end if
حالا تو برنامه اصلی ات مینوسی
if p=0 then
فلان پورت را یک کن
end if
و همین طور ادامه میدی
http://www.iranled.com/forum/attachment.php?aid=12624
(۱۵-آبان-۱۳۹۳, ۱۹:۵۰:۰۵)sadegh1rezaei نوشته است: [ -> ] (۱۵-آبان-۱۳۹۳, ۰۰:۵۶:۲۸)sinohe نوشته است: [ -> ] (۱۵-آبان-۱۳۹۳, ۰۰:۲۱:۳۳)h.unique نوشته است: [ -> ]سلام.
همیشه سوالی میپرسی شبیه ساز و سورس رو به صورت کامل زیپش کن و بزارش.
کد هم میخوای بزاری از اون علامت شارپ ( # ) استفاده کن.
ببین منظورت اینه :
سلام
چشم
نه منظورم این نبود؛ تو زیپ فایل پروتئوس رو گذاشتم؛ من دوتا کلید به اسم های 1 و 2 دارم
میکرو روشن میشه و میره به برنامه main
D2 روشن میشه
میکرو منتظر میمونه تا کلید 2 صفر بشه
به محض صفر شدن کلید 2 میکرو به برنامه بعدی میره(برنامه M)
در این برنامه D2 خاموش میشه
D3 روشن میشه
حالا درصورتی که کلید 1 یک بشه؛ D1 هم روشن میشه و تا زمانی که کلید 1 یک باقی بمونه D1 هم روشن میمونه ولی با صفر شدن کلید 1 D1 خاموش میشه ولی D3 همچنان روشنه؛ تا زمانی که ما کلید 2 رو بزنیم
در این صورت D1 , D3 خاموش میشن و میکرو میره به برنامه main و ادامه
این رو دانلود کن یکی ازنیاز های منم تو یه پروژه یه چیزی مثل نیاز شما بود من بهش میگم ایجاد حالات مختلف کاری برای یه شستی تو برنامه هم هرچی دوست داشتی میتونی بجای دستورات زیر
a<100 و a>100 and a<200 بنویسی همچنین میتونی از دستور دیبانس استفاده کنی
debounce pind.1,1,klid
تو این حالت به ازاری هر بار فشار دادن کلید برنامه به سربرگklid پرش میکنه اون میتونی بنوسی
klid:
incr p
if p>4 then
P=0
end if
حالا تو برنامه اصلی ات مینوسی
if p=0 then
فلان پورت را یک کن
end if
و همین طور ادامه میدی
http://www.iranled.com/forum/attachment.php?aid=12624
ممنون دوست عزیز
اسپم :
میگم گزینه پیام خصوصیتو برداشتی ،نمیشه بت پیام داد میشه فعالش کنی ؟
سلام
واقعا حال میکنم وقتی میبینم جانانه کمک میکنید؛ این برام با ارزشه و باعث میشه منم مصمم بشم در زمینه هایی که تخصص دارم همینطوری به دیگران کمک کنم ؛واقعا ممنون
h.unique عزیز؛ منظورم دقیقا چیزی که شما گذاشتی نبود ولی فایل شما خیلی چیزهای جدیدی بهم یاد داد و برام جالب بود؛ دارم باهاش ور میرم تا بیشتر یاد بگیرم
sadegh1rezaei عزیز ممنون؛ این برنامه خیلی نزدیک به چیزیه که میخوام و دقیقا همون چیز رو به من آموزش میده که دنبالش بودم؛ هرچند چند تا سوال شاید برام پیش بیاد ولی دوس دارم اول خودم کامل بررسیش کنم و سعی کنم خودم یاد بگیرم تا اینکه زود بپرسم؛ ولی اگر دیدم نمیتونم برنامه رو بفهمم لطفا این اجازه رو به من بدید که دوباره مزاحمتون بشم
سپاس از لطف همه دوستان
اون برنامه که دوستمون آقا sadegh1rezaei گذاشته رو خودم واسه یه بنده خدا نوشته بودمش !
sinohe عزیز خوشم میاد مثه خودمیا

بهر حال من اینو از توضیحات شما فهمیدم که نوشتمش .
هر موقع موفق به نوشتن کامل برنامه شدی آپلودش کن تا ببینم دقیقا منظورت چی بوده.
به هر حال این انجمن و بچه هاش در خدمت گذاری آمده هستن :)
فدای شما دوست گرامی دقیقا یکی از عوامل اصلی که من رو تحریک کرد پست رو ج بدم همین بود که وقتی چند تا گیر تو کارم بود و کلافم کرده بود تو همین انجمن بچه بدادم رسیدند و مسئله ام رو حل کردن ، بد سوالتون رو که دیدم احساس کردم جوابش رو تا حد زیادی میدونم به همی خاطر اومدم ج دادم
من راستش اولین باری که بد از 8 سال کار با کامپیوتر میام تو انجام ها پست میدم و خیلی هم خوشحال می شم بتونم به کسی کمک کنم ولی خوب وقتم یکم کمه شاید دیر به دیر بیام سر بزنم