۰۹-اسفند-۱۳۸۸, ۱۱:۴۱:۱۹
باسلام
من برنامه زیر رو درست کردم و در آن از وقفه خارجی استفاده کردم.
کارش اینه که وقتی یک دکمه که به INT0 وصل است، فشرده می شود، میکرو شروع به شمردن می کند و آن رو روی LCD نمایش می دهد. و وقتی که INT1 فعال می شود، شمارش دیگر انجام نمی شود.
من این برنامه رو با کد زیر نوشته ام. اما وقتی آن را باپروتئوس شبیه سازی می کنم، به محض اینکه میکرو فعال میشه، میکرو شروع به شمردن می کنه و وقتی هم که INT1 را میزنم شمارش متوقف نمی شه.
مشکلم از کجاست؟ میشه راهنمایی ام کنید...
فایل همراه با پروتئوس
من برنامه زیر رو درست کردم و در آن از وقفه خارجی استفاده کردم.
کارش اینه که وقتی یک دکمه که به 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
فایل همراه با پروتئوس