ايران ويج

نسخه‌ی کامل: مشکل با وقفه خارجی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
باسلام

من برنامه زیر رو درست کردم و در آن از وقفه خارجی استفاده کردم.
کارش اینه که وقتی یک دکمه که به INT0 وصل است، فشرده می شود، میکرو شروع به شمردن می کند و آن رو روی LCD نمایش می دهد. و وقتی که INT1 فعال می شود، شمارش دیگر انجام نمی شود.
من این برنامه رو با کد زیر نوشته ام. اما وقتی آن را باپروتئوس شبیه سازی می کنم، به محض اینکه میکرو فعال میشه، میکرو شروع به شمردن می کنه و وقتی هم که INT1 را میزنم شمارش متوقف نمی شه.
مشکلم از کجاست؟ میشه راهنمایی ام کنید...

کد:
$regfile = "attiny2313.dat"
$crystal = 1000000

Config Int0 = Rising
Config Int1 = Rising
Enable Int0
Enable Int1
Enable Interrupts
On Int0 Q
On Int1 W

Dim I As Integer

Do
nop
Loop

End 'end program

Q:
Do
Incr I
Home
Lcd I
Loop
Return

W:
Lcd I
Return

فایل همراه با پروتئوس
مهندس برنامتو یکم دقت کنی می فهمی ایراد کار کجاست !

وقتی به اینتراپت صفر می ره دیگه بر نمی گرده !!!

این وصل کردن کلیدهات هم تو پروتئوس جالب بود !
اولین بار بود می دیدم کسی ترانزیستور واسشون گذاشته !!!
سلام

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

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

کد php:
$regfile "attiny2313.dat" $crystal 1000000

Config Int0 
Falling Config Int1 Falling
Enable Int0 
Enable Int1
Enable Interrupts
On Int0 Q 
On Int1 W

Dim I 
As Word

Do
Loop

Q
:
   Do
      
Incr I
      Home
      Lcd I 
"      "
   
Loop
Return

W:
   Do
   
Loop
Return 

این نکته رو هم بگم که این برنامه هم پر ایراده ولی حداقل کار می کنه !!!!!!!
باسلام

اینم تست کردم ولی به محض اینکه برنامه فعال شد بازهم کورنومتر خودبه خود شروع به کار کرد!!

چی کار کنم؟؟؟؟
مهندس مقاومت پولل آپ فراموش نشه !!
من از همون مدار قبلی که بالا فایلشو گذاشتم استفاده کردم.
پول آپ یعنی چی؟؟؟؟!!!
من در همون مدار جای گراند و پاور را اوز کردم

درستشد. ولی وقتی خواستم آن را غیر فعال کنم، نشد !!
یه مقاومت حدود 10 کیلو ( مقدارش مهم نیست ) بین پایه ورودی اینتراپ و برق +


می تونی این دستور رو هم هم بعد از معرفی اینتراپ ها بذاری :

کد php:
set portd.2
set portd.3 
منظور شما این هست؟

[تصویر:  22SMNsoft.jpg]

برای فعال کردنش مشکلی ندارم. مشکل غیر فعال کردنش هست.
دقیقا همین !

میشه مشکلتون رو بیشتر توضیح بدی !
نفهمیدم منظورتو !!!
سلام

کورنومتر فعال میشه ولی غیر فعال نمی شه.
صفحه‌ها: 1 2