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

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #1
مشکل در اجرای مجدد برنامه
کد php:
$regfile "m16def.dat"
$crystal 8000000
Config Portd.0 
Output
Config Portd.1 
Output
Config Portd.2 
Output
Config Pinc.0 
Input
Config Pinc.1 
Input
Config Pinc.2 
Input
Config Pinc.3 
Input
Config Pinc.4 
Input
Config Pinc.5 
Input
Config Pinc.6 
Input
Config Pina.0 
Input
Starts Alias Pinc.0
Stops Alias Pinc.1
Menu Alias Pinc.2
Incr_b Alias Pinc.3
Decr_b Alias Pinc.4
Swup Alias Pinc.5
Swdown Alias Pinc.6
Jack Alias Portd.0
Role Alias Portd.1
Heater Alias Portd.2
Portd 
= &B11111000
Portc 
= &B01111111
'////////////////////////////ADC Configuration////////////////////////////
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Stop Adc : Start Adc
'
////////////////////////////Timer Configuration//////////////////////////
Config Timer0 Timer Prescale 1
Enable Interrupts
Enable Timer0
On Timer0 Total
Timer0 
0
Stop Timer0
Start Timer0
'///////////////////////////////Interrupts////////////////////////////////
Config Int0 = Falling
Enable Int0
On Int0 Halt
'
///////////////////////////////Variables/////////////////////////////////
Dim Jack_delay As Word
Dim Role_delay 
As Word
Dim Set_point 
As Byte
Dim Quantity 
As Word
Dim Temp 
As Word
Dim Sum 
As Word
Dim Ave 
As Single
Dim 
Final As Single
Dim Steps 
As Byte
Dim Change 
As Byte
Dim A 
As Byte
Dim B 
As Byte
Dim Temp_1 
As String 3
'////////////////////////////////////////////////////////////////////////
Cls : Cursor Off : Delay
Reset Jack : Reset Role : Reset Heater

Do
Home
Lcd "jack= " ; Jack_delay ; "  "
Locate 2 , 1
Lcd "Role= " ; Role_delay ; "  "
Locate 1 , 10
Lcd "No= " ; Quantity ; "   "
Locate 2 , 10
Lcd "Temp= " ; Final ; "  "

      If Starts = 0 And Swup = 0 Then
             Set Jack
             Bitwait Swdown , Reset
             Waitms Jack_delay
             Reset Jack
             Bitwait Swup , Reset
             Set Role
             Waitms Role_delay
             Reset Role
             Decr Quantity
       End If

Loop Until Stops = 0



Total:
Incr Steps
Select Case Steps

Case 1:


Case 2:
Stop Timer0 : Timer0 = 0
Incr Change
Temp = Getadc(0)
Stop Adc : Sum = Sum + Temp
If Change = 100 Then
Ave = Sum / 100
Final = Ave * 2.53
Final = Round(final)
Change = 0
Sum = 0
End If
Start Adc : Start Timer0

Case 3:
Stop Timer0 : Stop Adc : Timer0 = 0
If Menu = 0 Then
Incr A : Waitms 5
      If A = 100 Then
      Cls : Locate 1 , 6 : Lcd "SETTINGS" : Lcd " " : Waitms 300 : Cls
      Do
          Home : Lcd "Jack Delay= " ; Jack_delay : Lcd " " : Waitms 300
          If Incr_b = 0 Then : Jack_delay = Jack_delay + 10 : Delay : End If
          If Decr_b = 0 Then : Jack_delay = Jack_delay - 10 : Delay : End If
       Loop Until Menu = 0
       Writeeeprom Jack_delay , 1
       Waitms 35
      Cls
      Do
         Home : Lcd "Role Delay= " ; Role_delay : Lcd " " : Waitms 300
         If Incr_b = 0 Then : Role_delay = Role_delay + 10 : Delay : End If
         If Decr_b = 0 Then : Role_delay = Role_delay - 10 : Delay : End If
      Loop Until Menu = 0
      Writeeeprom Role_delay , 2
      Waitms 35
      Cls
      Do
         Home : Lcd "Temp= " ; Set_point ; "C'" : Lcd " " : Waitms 300
         If Incr_b = 0 Then : Set_point = Set_point + 10 : Delay : End If
         If Decr_b = 0 Then : Set_point = Set_point - 10 : Delay : End If
      Loop Until Menu = 0
      Writeeeprom Set_point , 3
      Waitms 35
      Cls
      Do
         Home : Lcd "
No" ; Quantity ; "   " : Lcd " " : Waitms 300
         If Incr_b = 0 Then : Quantity = Quantity + 5 : Delay : End If
         If Decr_b = 0 Then : Quantity = Quantity - 5 : Delay : End If
      Loop Until Menu = 0
      Writeeeprom Quantity , 4
      Waitms 35
      A = 0
      End If
      Else
      A = 0
      End If
      Steps = 0
      Start Timer0 : Start Adc
End Select

Return


Halt:
Reset Jack
Reset Role
Reset Heater
Return 

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۱۹-اسفند-۱۳۹۰, ۱۲:۱۲:۴۰
ارسال‌ها
پاسخ
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #2
RE: مشکل در اجرای مجدد برنامه
با سلام برنامه بالا زمانی که برنامه در حلقه اصلی در حال اجراست وقتی به bitwait میرسه منتظره میشه پایه ورودی مورد نظر ریست بشه ولی در این زمان وقتی وقفه0 اجرا میشه برنامه به حالت stop کامل در میاد اما ولی برای شروع مجدد باید حتما پایه مورد نظر ریست شده باشه .
دلیلش چیه؟

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۱۹-اسفند-۱۳۹۰, ۱۳:۲۲:۴۳
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #3
RE: مشکل در اجرای مجدد برنامه
سلام

منظورتون از استاپ كامل چيه ؟
وقتي روي خط bitwait مي رهه به وقفه و برمي گردهه ، بايد روي خط bitwait دوبارهه برگردهه ، درسته ؟
اين اتفاق نمي يفته ؟

۱۹-اسفند-۱۳۹۰, ۱۷:۰۶:۴۹
وب سایت ارسال‌ها
پاسخ
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #4
myBB  RE: مشکل در اجرای مجدد برنامه
سیکل کاری برنامه به این صورت که اگر Sw-up وصل باشه و دکمه استارت فشرده شده باشه جک فعال شده تا زمانی که SW-down وصل بشه یه مدت زمانی صبر میکه
و جک غیر فعال شده و تازمانی که SW-up وصل بشه در این زمان Role فعال شده وسپس غیر فعال میشود و دوباره همین سیکل تکرار میشود. در صورتی که در هر مرحله از سیکل برنامه دکمه STOP فشرده بشه برنامه متوقف شده و برای شروع مجدد باید تو اون مرحله مربوط به bitwait فعال بشه تا اجرا برنامه امکان پذیر باشه ، من میخوام زمانی که کلید استاپ فشرده میشه بتونم برنامه رو دوباره از اول اجرا کنم.
AngryAngryAngryAngryAngryAngryAngryAngryAngryAngryAngryAngryAngryAngry

[attachment=7169]

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۱۹-اسفند-۱۳۹۰, ۱۸:۴۴:۵۴
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #5
RE: مشکل در اجرای مجدد برنامه
مهندس دقيقا متوجه توضيحاتت نمي شم و برنامه ات رو هم نمي تونم خط به خط بخونم ...
دقيقا جايي رو كه مشكل داري رو گويا توضيح بدهه ! فرايند كل برنامه رو نمي خواد بگي .
مثلا : شما مي خواي برنامه در اون قسمت خاص ، اين جور اجرا بشه ، اما برنامه فلان جور اجرا مي شه ...

۱۹-اسفند-۱۳۹۰, ۲۱:۵۲:۱۵
وب سایت ارسال‌ها
پاسخ
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #6
RE: مشکل در اجرای مجدد برنامه
وقتی برنامه به این قسمت میرسه Bitwait Swdown , Reset و من میخوام دستگاه به هر دلیلی متوقفش کنم وقفه مربوط به INT0 رو اجرا میکنم خروجی ها همه ریست شده و وقتی که دوباره دکمه start میزنم طبیعتا باید خروجی jack فعال بشه اما برنامه تو این قسمت منتظر Bitwait Swdwon ,resetمیشه من میخوام زمانی که این اتفاق میفته بتونم استارت کنم.
اون برنامه خودمو یک بار اجرا کن زمانی که SW-up وصل Start بزن بعدش دکمه Stop بزن حالا دوباره دکمه Start بزن متوجه میشی که خروجی جک فعال نمیشه .البته قبلش باید دکمه منو رو برای 5 ثانیه نگهداری تا وارد تنظیمات بشی برای وارد شدن به هر مرحله همون دکمه menu رو بزن بعدش برنامه رو اجرا کن.
امیدوارم منظورمو متوجه شده باشی.

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
(آخرین ویرایش در این ارسال: ۱۹-اسفند-۱۳۹۰, ۲۳:۳۵:۲۴، توسط arash67.)
۱۹-اسفند-۱۳۹۰, ۲۳:۲۵:۵۱
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #7
RE: مشکل در اجرای مجدد برنامه
نقل قول: وقتی برنامه به این قسمت میرسه Bitwait Swdown , Reset و من میخوام دستگاه به هر دلیلی متوقفش کنم وقفه مربوط به INT0 رو اجرا میکنم خروجی ها همه ریست شده و وقتی که دوباره دکمه start میزنم طبیعتا باید خروجی jack فعال بشه اما برنامه تو این قسمت منتظر Bitwait Swdwon ,resetمیشه من میخوام زمانی که این اتفاق میفته بتونم استارت کنم.

آهان ... ، خوب توي اولين پستم هم همين رو پرسيدهه بودم ديگه ... !
همون موقع مي گفتي آرهه ، انقدر انرژي تلف نمي كرديم Biggrin
خوب طبيعيه ديگه ... ، وقتي روي bitwait برهه به وقفه ، موقع برگشت هم رو bitwait بر مي گردهه ، در نتيجه تا شرط bitwait رو برآوردهه نكني ، روي همون bitwait برنامه ات مي مونه ...
بايد يه جور ديگه كد بزني ...

مي توني بجاي bitwait يه حلقه ي بينهايت بذاري كه توش يه شرطي رو check مي كني ، توي وقفه هم يه متغيير رو مقدار دهي كني كه موقع برگشت شرط رو در حلقه ي بينهايت برآوردهه كنه و از حلقه در بياد .
اينطوري برنامه ات متوقف نمي شه ...

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

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #8
RE: مشکل در اجرای مجدد برنامه
شرمنده مهندس
میشه همین برنامه منو به روشی که خودت میگی edit کنی دمت گرم.

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۲۰-اسفند-۱۳۹۰, ۰۰:۳۸:۳۵
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #9
RE: مشکل در اجرای مجدد برنامه
نه ، نمي شه ... :d
يه مثال حدودي مي زنم ، مي توني ازش استفاده كني ...
در واقع حلقه ي do-loop مي تونه جاي bitwait استفاده بشه ...
کد:
label?:
m=0
.
.
.
do
if m=1 then
exit do
يا
goto label?
end if
loop
.
.
.
زير روال وقفه:
Iint0:
if m=0 then
m=1
end if
.
.
.
return

۲۰-اسفند-۱۳۹۰, ۱۹:۴۶:۰۳
وب سایت ارسال‌ها
پاسخ
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #10
RE: مشکل در اجرای مجدد برنامه
دستت درد نکنه دادا
راستی یه سوال آیا lM335 تحمل دمای بالا 100 درجه در تماس مستقیم با حرارت مثلا در تماس با هیتر داره ؟

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۲۰-اسفند-۱۳۹۰, ۲۲:۱۶:۴۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #11
RE: مشکل در اجرای مجدد برنامه
خواهش مي شه...

ديتاشيت بخون ، توضيح داده ...
مورد ديگه اينكه چون اين سنسورها همه ي مداراتشون يجا هست ، معمولا اينطوري ازشون استفادهه نمي كنن ...
براي دماهاي بالا تراشه ها انتخاب مناسبي نيستن.
در تماس مستقيم هم سنسور رو در يه پوشش محافظ قرار مي دن ، البته باعث مي شه حساسيتش كمتر بشه (نسبت به دماي محيط)

۲۱-اسفند-۱۳۹۰, ۱۳:۲۰:۳۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : arash67


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل در پاک کردن برنامه میکرو Salam7 1 398 ۲۹-بهمن-۱۴۰۰, ۲۲:۵۰:۴۴
آخرین ارسال: 1نفر
  مشکل برنامه تایمر با بیسکام soy1345 7 2,026 ۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
آخرین ارسال: 1نفر
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  مشکل در هنگام بوت شدن ویندوز و اجرای دستورات میکرو unforgiven 3 3,732 ۳۱-مرداد-۱۳۹۵, ۱۹:۴۷:۲۵
آخرین ارسال: unforgiven
  مشکل در برنامه code vision 3.12 ali74342 10 7,232 ۲۲-مرداد-۱۳۹۵, ۰۰:۱۶:۰۷
آخرین ارسال: shima.rrr
Exclamation [فوری] مشکل نوشتن برنامه AVR با تایمر مد مقایسه dr.mohammad 7 4,184 ۲۹-دى-۱۳۹۴, ۱۳:۲۸:۴۹
آخرین ارسال: sharin
Sad مشکل عجیب در برنامه اندازه گیری دما و سنجش زمان ! MicrowaveCO 2 2,762 ۱۴-خرداد-۱۳۹۴, ۱۸:۳۱:۳۲
آخرین ارسال: MicrowaveCO
Question مشکل در برنامه ی تایپ با کیپد 4×4 salehjg 4 7,249 ۲۵-اردیبهشت-۱۳۹۴, ۱۸:۲۵:۰۳
آخرین ارسال: z20
  [فوری] مشکل با برنامه کانتر میکرو milad15m 22 9,050 ۱۲-مهر-۱۳۹۳, ۱۷:۲۸:۰۸
آخرین ارسال: omid_phoenix
  مشکل عجیب با برنامه بسکام دراکولا 7 9,727 ۱۹-اردیبهشت-۱۳۹۳, ۲۲:۰۳:۵۶
آخرین ارسال: avr65

پرش به انجمن:


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

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