امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل ابتدایی در برنامه نویسی!
نویسنده پیام
sinohe آفلاین
كاربر دو ستاره
**

ارسال‌ها: 86
موضوع‌ها: 13
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 88
( 23 تشکر در 14 ارسال )
ارسال: #1
مشکل ابتدایی در برنامه نویسی!
سلام مهندسان گرامی
اولا عذر میخوام خیلی زود به زود با سوال های بسیار مبتدیانه مزاحمتون میشم ولی شرمنده باور کنید اگر میتونستم با مطالعه بیشتر حلشون کنم مزاحمتون نمی شدم، بجز شما هم جایی برای پرسیدن ندارم!032
خلاصه شرمنده!
حالا مشکل؛ ببینید من این برنامه رو با پروتئوس میزارم، مدار یک دماسنجه که همزمان تعدادی از پایه هاش رو مدام صفر و یک میکنه، من میخوام دو تا برنامه همزمان فعال باشن، لطفا برنامه رو ببینید، ولی متاسفانه فقط پایه هایی که قرار بود صفر و یک بشن کار میکنن و ال سی دی و دماسنج کار نمیکنه.
خیلی ممنون میشم یکی از اساتید ایراداتش رو رفع بکنه.

البته برنامه رو اینطوری هم نوشتم که در این حالت دماسنج و ال سی دی کار میکنه ولی پایه هایی که تعریف کردم صفر و یک نمیشن.


فایل‌(های) پیوست شده
.rar   new.rar (اندازه: 35.99 KB / تعداد دفعات دریافت: 90)
.rar   New Folder.rar (اندازه: 17.81 KB / تعداد دفعات دریافت: 57)
(آخرین ویرایش در این ارسال: ۰۲-دى-۱۳۹۰, ۱۸:۵۱:۰۴، توسط sinohe.)
۰۲-دى-۱۳۹۰, ۱۸:۳۶:۰۳
ارسال‌ها
پاسخ
reza-m آفلاین
كاربر دو ستاره
**

ارسال‌ها: 96
موضوع‌ها: 19
تاریخ عضویت: آذر ۱۳۸۷

تشکرها : 11
( 156 تشکر در 65 ارسال )
ارسال: #2
RE: مشکل ابتدایی در برنامه نویسی!
یک مقاومت 1 کیلو به پایه INT0 لحیم کن و سر دیگر مقاومتو به زمین مدارت لحیم کن درست میشه

یا علی
۰۲-دى-۱۳۹۰, ۲۲:۰۶:۰۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sinohe
sinohe آفلاین
كاربر دو ستاره
**

ارسال‌ها: 86
موضوع‌ها: 13
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 88
( 23 تشکر در 14 ارسال )
ارسال: #3
RE: مشکل ابتدایی در برنامه نویسی!
آقا رضا سپاسگزارم، ولی با قرار دادن این مقاومت دماسنج و ال سی دی کار میکنه ولی پایه ها صفر و یک نمیشن!
۰۲-دى-۱۳۹۰, ۲۲:۴۵:۴۱
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #4
RE: مشکل ابتدایی در برنامه نویسی!
میتونی یه خروجی تصویر از مدارت بدی پروتیوس من قدیمیه بازش نکرد. بعدش این برنامت تو نیو چرا انقدر روتین وقفه رو بد نوشتی مطمئنی روتین تا آخر بدون اشکال انجام میشه؟کلا عادت داری شلوغ بنویسی خیلی روتین وقفه شلوغه پر do loop هست یه توضیحی رو برنامت بده.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۰۳-دى-۱۳۹۰, ۰۰:۱۰:۲۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sinohe
sinohe آفلاین
كاربر دو ستاره
**

ارسال‌ها: 86
موضوع‌ها: 13
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 88
( 23 تشکر در 14 ارسال )
ارسال: #5
RE: مشکل ابتدایی در برنامه نویسی!

(۰۳-دى-۱۳۹۰, ۰۰:۱۰:۲۲)parviz2012 نوشته است: میتونی یه خروجی تصویر از مدارت بدی پروتیوس من قدیمیه بازش نکرد. بعدش این برنامت تو نیو چرا انقدر روتین وقفه رو بد نوشتی مطمئنی روتین تا آخر بدون اشکال انجام میشه؟کلا عادت داری شلوغ بنویسی خیلی روتین وقفه شلوغه پر do loop هست یه توضیحی رو برنامت بده.

سلام
هم برنامه دماسنج کاملا درسته و هم برنامه صفر و یک کردن تعدادی از پایه ها، هر دو رو به تنهایی امتحان کردم خوب کار میکنن، مشکل وقتیه که میخوام این دوتا برنامه همزمان اجرا بشن!
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Config Portd.7 = Output
Config Int0 = Change
Enable Interrupts
Enable Int0
On Int0 Int0_r
Config Pind.2 = Input


Do
Waitms 5
Set Portd.0
...
...
Reset Portd.7
Waitms 300
Loop
Int0_r:
If Pind.2 = 1 Then Goto Ali
Ali:

Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4
'**********************************************************
...
...
Sub No_key
Do
Loop Until Pind.4 = 1 And Pind.5 = 1 And Pind.6 = 1
Waitms 30


End Sub
Return

فکر میکنم برنامه مشکلش اینجاها باید باشه!
ولی چطور باید حل بشه رو نمی دونم!


فایل‌(های) پیوست شده بندانگشتی (ها)
   

.bmp   1.bmp (اندازه: 88.81 KB / تعداد دفعات دریافت: 33)
(آخرین ویرایش در این ارسال: ۰۳-دى-۱۳۹۰, ۱۱:۵۶:۱۹، توسط sinohe.)
۰۳-دى-۱۳۹۰, ۱۱:۴۶:۴۷
ارسال‌ها
پاسخ
reza-m آفلاین
كاربر دو ستاره
**

ارسال‌ها: 96
موضوع‌ها: 19
تاریخ عضویت: آذر ۱۳۸۷

تشکرها : 11
( 156 تشکر در 65 ارسال )
ارسال: #6
RE: مشکل ابتدایی در برنامه نویسی!
یک اشتباهی که شما می کنید اینکه از تایمر برای اینکار استفاده نمی کنید
زمان هارا با تایمر بساز تا مجبور نشی از دستورات تاخیری استفاده کنی
دستورات تاخیر میکرو را الاف می کنه
می تونی تایمر 0 را برای اینکار استفاده کنی و با قرار دادن مقدار در رجیستر tcnt زمانها را تغییر بدی
۰۳-دى-۱۳۹۰, ۱۷:۰۹:۰۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sinohe
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #7
RE: مشکل ابتدایی در برنامه نویسی!
برنامه تو وقفه نمیدونم درست اجرا میشه یا نه، ولی اشکال اگه بخوام بهت بگم زیاده اون
goto ali
اگه پینت صفرم باشه داره اجرا میشه خودت فهمیدی اینو؟
ببین تمام اون تعریف سابها متغیرها تمام سابها رو بیار بیرون از روتین وقفه.
قطعا تو میخوای وقتی به وقفه 0 تغییری اومد دستورات اجرا بشه پس فقط توی روتین وقفه یه فلگ بزار و بعد بیا تو مین برنامت تمام کارهایی که میخوای رو انجام بده. توی روتین وقفه هم وقفه0 رو غیر فعال کن بعد از تموم شدن اجرای دستورات دوباره فعالش کن.
اگه بتونی بهم بگی دقیقا تو وقفه چه اتفاقاتی میفته که خیلی بهتره.
goto ali
خودت فهمیدی اگه پینت صفر هم بشه اجرا میشه؟
تمام سابها رو بیار بیرون وقفه تمام متغیرها فقط تو وقفه یه فلگ بزار.
اگه بتونی دقیقا بگی تو وقفه چه اتفاقی میافته خیلی بهتره.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
(آخرین ویرایش در این ارسال: ۰۳-دى-۱۳۹۰, ۱۷:۲۰:۱۸، توسط parviz2012.)
۰۳-دى-۱۳۹۰, ۱۷:۱۸:۲۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sinohe
sinohe آفلاین
كاربر دو ستاره
**

ارسال‌ها: 86
موضوع‌ها: 13
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 88
( 23 تشکر در 14 ارسال )
ارسال: #8
RE: مشکل ابتدایی در برنامه نویسی!
سلام دوستان
خدمت آقا رضا ؛ با تایمر! اینو نمی دونستم و با این دستور هم اصلا آشنایی ندارم، همونطوری که میدونید من تازه شروع کردم به یادگیری برنامه نویسی. جایی رو میشناسی که این دستور رو بطور ساده یاد بده؟
خدمت آقا پرویز هم عارض باشم که آره، خودم هم دیدم که این اتفاق می افته.
میدونم دارین با کلمات ساده منو راهنمایی میکنید ولی باور کنید من معنی ساب و روتین و غیره رو نمی دونم،خیلی ساده توضیح میدم که من از مدار چه انتظاری دارم و میخوام چه کاری برام انجام بده؛
میخوام مدار رو که شروع کردم دماسنج که دارای کنترل مینیمم و ماکزیممه فعال بشه ( که این برنامه کاملا درسته و جداگانه امتحان شده) و همزمان این کار رو هم بکنه؛
portd.0 رو به مدت 12 ساعت روشن کنه و 12 ساعت خاموش بکنه و زمانی که مدار روشن شد اول 12 ساعت روشن پیش بیاد،
همزمان با روشن شدن مدار portd.3 هم 1 بشه و 3 دقیقه 1 بمونه بعد صفر بشه بعد بلافاصله portd.1 هم 1 بشه بعد 1 دقیقه 1 بمونه و بعد 0 بشه، بعد بلافاصله portd.7 هم 1 بشه و 30 ثانیه 1 بمونه بعد 0 بشه، سپس 1 ساعت صبر بکنه و بعد از 1 ساعت دوباره پورت 3 بعد 1 بعد هم 7 رو با همون زمانها صفر و یک کنه و باز 1 ساعت صبر کنه و دوباره تکرار بشه ... .
این مدار باید وقتی کلید روشن زده شد هر دوی این کارها( یعنی دماسنج و صفر و یک کردن پایه ها ) رو همزمان اجرا بکنه.
حالا ممنون میشم راه حل مناسب و البته ساده ای نشونم بدید و کمکم کنید.
با تشکر
۰۳-دى-۱۳۹۰, ۱۸:۱۱:۳۹
ارسال‌ها
پاسخ
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #9
RE: مشکل ابتدایی در برنامه نویسی!
بابا یه کلام بگو این همه صفر ویک کردن برای چیه ببین باید گام به گام بریم جلو تاا ببینیم مشکل چیه چون ما برنامتو نفهمیدیم. دقیقا چه کاری میخواد انجام بشه اصلا پروژه چیه؟ شاید با روشهای ساده تر حل بشه.فنی بگو.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۰۳-دى-۱۳۹۰, ۱۸:۲۳:۱۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sinohe
reza-m آفلاین
كاربر دو ستاره
**

ارسال‌ها: 96
موضوع‌ها: 19
تاریخ عضویت: آذر ۱۳۸۷

تشکرها : 11
( 156 تشکر در 65 ارسال )
ارسال: #10
RE: مشکل ابتدایی در برنامه نویسی!
شما تنها کاری که باید بکنید استفاده از تایمر هستش وگرنه این همه تاخیری که تو برنامتون هستش باعث می شه میکرو به کارای دیگه نرسه شما باید ال سی دی و دماسنج را در حلقه اصلی برنامت قرار بدی و تاخیر ها را هم باید با تایمر انجام بدی آموزش کار با تایمر ها را به راحتی می تونی از کتاب آقای 1nafar که در مورد بسکام هستش یاد بگیری
حتما دانلود کن

در ضمن آیا داری دستگاه برای پرورش قارچ می سازی؟
(آخرین ویرایش در این ارسال: ۰۳-دى-۱۳۹۰, ۱۸:۴۶:۳۹، توسط reza-m.)
۰۳-دى-۱۳۹۰, ۱۸:۴۴:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sinohe
sinohe آفلاین
كاربر دو ستاره
**

ارسال‌ها: 86
موضوع‌ها: 13
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 88
( 23 تشکر در 14 ارسال )
ارسال: #11
RE: مشکل ابتدایی در برنامه نویسی!
آره آقا رضا برای پرورش قارچ میخوام، که هم دما رو تحت کنترل داره و هم تایمریه که به نوبت دستگاه تهویه و رطوبت ساز و غیره رو روشن و خاموش میکنه. راستی همین الان هم یدونه رطوبت سنج ساده و کم هزینه هم که طراحی کرده بودم ساختمش و به خوبی کار کرد، البته نیاز هست که در کنار یک رطوبت سنج دیگه کالیبره بشه، الان به فکرم رسید!!!! که چه بهتر میشه اگر خروجی این مدار رو با یک پتانسیومتر به میکرو وصل کنم که اگه رطوبت از یه حدی پایین تر اومد میکرو یکی از پایه ها رو 1 بکنه،در اون صورت دیگه نیازی نیست که پورتهای d 1 و 7 رو نیازی بهشون نیست که صفر و یک بشن. چون این دوتا یکی برای برای روشن کردن المنت سماور برقی بود!! و یکی هم که بعد از اون 30 ثانیه روشن میشد برای پر کردن آب ظرفی که بخار شده!
اگه علاقه داشتید میتونم مدار اون رطوبت سنج رو که حتی سنسورش رو هم به یک شکل بسیار ساده ساختم در اختیار شما قرار بدم.
خلاصه در نهایت میبینم که این برنامه دست شما ها رو باید ببوسه !!!!
کتاب 1نفر رو دارم خیلی جالبه و همه اینهایی که یاد گرفتم تنها از اون کتابه، ولی باور کن تایمر ندیدم، البته هنوز کامل نخوندمش دارم مرحله به مرحه میخونم و برای همین هم مرحله به مرحله مزاحم شما میشم!
با تشکر
۰۳-دى-۱۳۹۰, ۱۹:۱۰:۵۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل در پاک کردن برنامه میکرو Salam7 1 398 ۲۹-بهمن-۱۴۰۰, ۲۲:۵۰:۴۴
آخرین ارسال: 1نفر
  مشکل برنامه تایمر با بیسکام soy1345 7 2,026 ۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
آخرین ارسال: 1نفر
Question [سوال] کمک در برنامه نویسی دور موتور خودرو HPower 6 2,592 ۲۵-آبان-۱۳۹۷, ۲۲:۰۳:۵۷
آخرین ارسال: alimogmov
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  برنامه نویسی AVR به روش فلوچارتی با نرم افزار FLOWCODE AVR V3 koorosh.k 8 12,641 ۲۴-آذر-۱۳۹۵, ۲۲:۴۶:۰۸
آخرین ارسال: 1نفر
  مشکل در برنامه code vision 3.12 ali74342 10 7,232 ۲۲-مرداد-۱۳۹۵, ۰۰:۱۶:۰۷
آخرین ارسال: shima.rrr
  سوالهای برنامه نویسی با کامپایلر BASCOM EBKA 242 157,509 ۱۸-خرداد-۱۳۹۵, ۲۰:۱۸:۲۴
آخرین ارسال: hassan721
Exclamation [فوری] مشکل نوشتن برنامه AVR با تایمر مد مقایسه dr.mohammad 7 4,184 ۲۹-دى-۱۳۹۴, ۱۳:۲۸:۴۹
آخرین ارسال: sharin
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  آموزش برنامه نویسی ربات مسیریاب kamran0080 3 10,199 ۲۶-تير-۱۳۹۴, ۱۷:۲۵:۳۶
آخرین ارسال: sona2

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 4 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS