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

ارسال‌ها: 22
موضوع‌ها: 3
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 31
( 3 تشکر در 2 ارسال )
ارسال: #1
مشکل برنامه تایمر با بیسکام
با عرض سلام خدمت اساتید محترم 
ضمن عرض خسته نباشید
بنده تایمری را در بیسکام نوشته ام که هر روز ساعت بیست و چهار  پنج دقیقه یک خروجی رو فعال کند و بقیه ساعت های روز  با خروجی های متفاوت.
این دو را در دو تا زیر برنامه نوشته ام  به صورت زیر

24saat(hdood  5 deqiqe)
A:
       If H = 24 Then
       Set Lt
       Locate 2 , 18 : Lcd "NT"
       End If
       If B = Lm_h Then
       Reset Lt
       Locate 2 , 1 : Lcd "   "
End If
Return


baqi saatha
B:
       If D = 1 Then
       Set Mn
       Locate 4 , 19 : Lcd " "
       Locate 4 , 2 : Lcd Chr(0)
       Elseif D = Ff_h Then
       Reset Mn
       Set Yn
       Locate 4 , 2 : Lcd " "
       Locate 4 , 19 : Lcd Chr(0)
       Elseif D = Gg_h Then
       Reset Yn
       Gosub Bh
End If
Return

حالا مشکلم این است که چطوری این دو زیر برنامه را فراخوانی کنم
لطفا در صورت امکان مرا راهنمایی بفرمایید یا اگر راه دیگری هست بفرمایید
با تشکر از همه اساتید
۱۶-فروردین-۱۳۹۸, ۰۲:۴۱:۱۹
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1730
( 501 تشکر در 199 ارسال )
ارسال: #2
RE: مشکل برنامه تایمر با بیسکام
سلام

از دستور Declare Sub استفاده کنید 
روش کار هم توی این دوتا ادرس هست1  2  
موفق باشید


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

(آخرین ویرایش در این ارسال: ۱۶-فروردین-۱۳۹۸, ۲۱:۳۸:۲۶، توسط 1نفر. دلیل ویرایش: تصحیح لینک )
۱۶-فروردین-۱۳۹۸, ۲۱:۳۶:۴۴
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, hadikh73
soy1345 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 3
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 31
( 3 تشکر در 2 ارسال )
ارسال: #3
RE: مشکل برنامه تایمر با بیسکام
استاد خیلی ممنون از بابت راهنمایی
بنده با تایمر صفر و از روش ساب روتین استفاده کرده ام و میخوام برنامه کلی رو عرض کنم
دو موتور داریم شب و روز کار خواهد کرد و فقط در ساعت بیست و چهار یعنی دوازه شب حدود یک دقیقه الی نیم ساعت موتور ها خاموش خواهند شد و در این فاصله فن روشن شده و موتورها را خنک خواهد کرد
بنده این نیم ساعت رو در حافظه ایپرام ذخیره میکنم در ضمن این نیم با یک شستی قابل تغییر است از یک دقیقه تا سی دقیقه
مشکل فقط راه انداختن این دو زیر برنامه هست
لطفا اگر راه بهتری هست راهنمایی بفرمایید
با تشکر از همه اساتید محترم سایتمون 
آیدین
۱۷-فروردین-۱۳۹۸, ۰۱:۳۶:۴۸
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1730
( 501 تشکر در 199 ارسال )
ارسال: #4
RE: مشکل برنامه تایمر با بیسکام
سلام مهندس خواهش میکنم

 مثلا واسه اون قسمت برنامه که قراره متغییری تا مقدار 30 باشه با همین دستور یه برنامه رو مینویسم :
1با شستی:
کد:
Declare Sub Up
Dim A As Byte
Do

Debounce Pinb.0 , 1 , Up , Sub
If A > 30 Then A = 0

Loop
END
Sub Up
Incr A
End Sub
 
2 بدون شستی و بار زمان افزایش حدودا یک ثانیه :

کد:
Declare Sub Up
Dim A As Byte
Do

Call up
 Wait 1

Loop
END
Sub Up
Incr A
End Sub

به نظرمن بهترین روش واسه زیر برنامه همین دستور Declare Sub هست (بهتر از goto , gosub و اینها هست)
:E
*متغییر A رو توی ERAM تعریف نکردم

و  اینهم یه تیکه برنامه خودتون توی زیر برنامه با همین دستور اجرا میشه

کد:
Declare Sub 5M

Do
.
بقیه برنامه'.
.
Call 5M
.
بقیه برنامه'.
.

Loop
END

Sub 5M
      If H = 24 Then
      Set Lt
      Locate 2 , 18 : Lcd "NT
      End If
      If B = Lm_h Then
      Reset Lt
      Locate 2 , 1 : Lcd "   "
End If
End Sub


موفق باشید.


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

(آخرین ویرایش در این ارسال: ۱۸-فروردین-۱۳۹۸, ۰۰:۱۶:۳۱، توسط 1نفر.)
۱۷-فروردین-۱۳۹۸, ۲۳:۳۲:۲۵
ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, babyy, vigraz
soy1345 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 3
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 31
( 3 تشکر در 2 ارسال )
ارسال: #5
RE: مشکل برنامه تایمر با بیسکام
با تشکر از الطاف جنابعالی
مشکل بنده حل شد
مشکل این بود که ساعت بیست و چهار برنامه اجرا میشد و فن رو روشن میکرد ولی دیگر خاموش نمیشد چون حداکثر زمان روشن برای فن پنج دقیقه است و ساعت بیست و چهار یک ساعته
برنامه رو تغییر دادم و بصورت زیر نوشتم
Elem:

       If  = 24 And D = 0 Then
       Set Lt
     "    "  Locate 2, 18 : Lcd
      " Locate 2 , 18 : Lcd "ON
       Gosub Onel

       Elseif H = 24 And D = Flm_h Then
       Reset Lt
     "    "  Locate 2 , 18 : Lcd
      " Locate 2 , 18 : Lcd "OFF
       End If
Return

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

Elem:
       If  = 24 And D <Flm Then
       Set Lt
       "     " Locate 2 , 18 : Lcd
    "  !Locate 2 , 18 : Lcd "ON
       Gosub Onel

       Elseif H = 24 And D = Flm_h Then
       Reset Lt
      "       " Locate 2 , 18 : Lcd
      " Locate 2 , 18 : Lcd "OFF
       End If
Return

استاد باز هم از توجه شما سپاسگزارم
یک سوال دیگه داشتم و آن اینکه چطور میتوانیم یه کاراکتور یا شکلی را به زبان بیسک بچرخانیم
(آخرین ویرایش در این ارسال: ۱۸-فروردین-۱۳۹۸, ۰۴:۲۵:۱۵، توسط soy1345.)
۱۸-فروردین-۱۳۹۸, ۰۴:۱۷:۴۳
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1730
( 501 تشکر در 199 ارسال )
ارسال: #6
RE: مشکل برنامه تایمر با بیسکام
سلام.خواهش میکنم
برنامه شما رو که کامل ندیده بودیم و نمیدونستیم  مشکل کجاست فقط گفته بودین که دنبال روش فراخوانی هستین و خوشحالم که رفع شد
اگه منظورتون کارکتر روی LCD هست که ؛تنها روشی که میشناسم استفاده از گزینه LCD Designerاز سربرگ Tools نرم افزار بسکام هست و توی اون یک کارکتر رو بدلخواه طراحی میکنیم  
و بعد از تایید اون کارکتر،یه خط به برنامه اضافه میشه که مثل خط اول این برنامه هست و باید بیرون از حلقه  باشه
بجای اون X هم یه علامت سوال میاد که اسم کارکتر شما واسه فراخوانیه و باید تغییر بدین
و واسه جرکت چرخشی باید همون رو توی چند بار طراحی کارکتر درست کنید و با ترتیب و تاخیر نمایش بدین

کد:
Deflcdchar X , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31

Do
Locate 1 , 1
Lcd Chr(X)
Loop
End

منم استاد نیستم^_^ مبتدی حساب میشم
موفق باشید


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

۱۸-فروردین-۱۳۹۸, ۲۲:۰۲:۰۷
ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, babyy, vigraz, omid_phoenix
soy1345 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 3
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 31
( 3 تشکر در 2 ارسال )
ارسال: #7
RE: مشکل برنامه تایمر با بیسکام
خیلی ممنون از توجه جنابعالی
همین که مرا مورد لطف قرار داده و به سوالات بنده پاسخ فرمودید برای بنده استاد هستید
با تشکر آیدین
۲۲-فروردین-۱۳۹۸, ۰۲:۴۴:۵۸
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1730
( 501 تشکر در 199 ارسال )
ارسال: #8
RE: مشکل برنامه تایمر با بیسکام
خواهش میکنم مهندس
انجام وظیفس ممنون از لطفتون موفق باشید


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, babyy


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل در پاک کردن برنامه میکرو Salam7 1 398 ۲۹-بهمن-۱۴۰۰, ۲۲:۵۰:۴۴
آخرین ارسال: 1نفر
  مشکل در کار با تایمر 1 در بسکام klick 3 4,535 ۳۰-بهمن-۱۳۹۵, ۰۴:۰۴:۴۲
آخرین ارسال: omid_phoenix
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  مشکل در برنامه code vision 3.12 ali74342 10 7,232 ۲۲-مرداد-۱۳۹۵, ۰۰:۱۶:۰۷
آخرین ارسال: shima.rrr
  مشکل در ساخت تایمر لطفا کمک کنید omidsafari 8 6,502 ۰۹-مرداد-۱۳۹۵, ۱۷:۲۸:۰۹
آخرین ارسال: omidsafari
  [سوال] پیکربندی تایمر mostafa-m 5 4,271 ۲۹-خرداد-۱۳۹۵, ۲۲:۴۸:۰۷
آخرین ارسال: mostafa-m
Exclamation [فوری] مشکل نوشتن برنامه AVR با تایمر مد مقایسه dr.mohammad 7 4,184 ۲۹-دى-۱۳۹۴, ۱۳:۲۸:۴۹
آخرین ارسال: sharin
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  [سوال] راهنمایی برای کار با تایمر 1 hamze_b 12 8,358 ۲۵-خرداد-۱۳۹۴, ۱۶:۲۰:۳۸
آخرین ارسال: student-p
Sad [فوری] تایمر بسکام نواوران طب 9 5,851 ۲۰-خرداد-۱۳۹۴, ۰۹:۳۵:۱۴
آخرین ارسال: student-p

پرش به انجمن:


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

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