امتیاز موضوع:
  • 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نفر آفلاین
مدیر بخش الکترونیک
*****

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

تشکرها : 1530
( 364 تشکر در 150 ارسال )
ارسال: #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نفر آفلاین
مدیر بخش الکترونیک
*****

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

تشکرها : 1530
( 364 تشکر در 150 ارسال )
ارسال: #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نفر آفلاین
مدیر بخش الکترونیک
*****

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

تشکرها : 1530
( 364 تشکر در 150 ارسال )
ارسال: #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نفر آفلاین
مدیر بخش الکترونیک
*****

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

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


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

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


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] مشکل با hmtr soji 7 142 ۱۶-خرداد-۱۳۹۸, ۱۲:۰۰:۰۶
آخرین ارسال: Ambassador
  مشکل با eeprom بسکام کمک sky_man847 2 2,630 ۱۲-مهر-۱۳۹۷, ۰۰:۴۷:۰۸
آخرین ارسال: lrn1380
  مشکل با اشغال شدن حافظه مگا 128 بیش از 25درصد sajjad12 19 4,750 ۲۴-خرداد-۱۳۹۶, ۱۱:۱۲:۰۷
آخرین ارسال: hadikh73
  مشکل در کار با تایمر 1 در بسکام klick 3 3,239 ۳۰-بهمن-۱۳۹۵, ۰۴:۰۴:۴۲
آخرین ارسال: omid_phoenix
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 2,374 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  برنامه نویسی AVR به روش فلوچارتی با نرم افزار FLOWCODE AVR V3 koorosh.k 8 10,489 ۲۴-آذر-۱۳۹۵, ۲۲:۴۶:۰۸
آخرین ارسال: 1نفر
  کمک در برنامه nrf24 با کدویژن sniper-70 0 1,953 ۱۹-آبان-۱۳۹۵, ۰۰:۱۶:۱۵
آخرین ارسال: sniper-70
  کمک در برنامه nrf24 با اردوینو sniper-70 0 1,871 ۱۴-آبان-۱۳۹۵, ۲۱:۱۲:۰۷
آخرین ارسال: sniper-70
  مشکل در ارتباط بیسیم با پروتکل USART cortex-m3 5 3,995 ۰۷-آبان-۱۳۹۵, ۰۰:۱۷:۳۶
آخرین ارسال: milad15m
  مشکل در برنامه code vision 3.12 ali74342 10 4,699 ۲۲-مرداد-۱۳۹۵, ۰۰:۱۶:۰۷
آخرین ارسال: shima.rrr

پرش به انجمن:


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

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