سلام دوستان. من میخوام تایمر این برنامه را با یک کلید فشاری روشن یا خاموش کنم. یعنی یک بار کلید فشاری را فشار میدم خروجی موج مربعی داشته باشم و دوباره که کلید فشاری (پوش باتن) را فشار میدم خروجی نداشته باشم یعنی صفر بشود. من از دستور DEBOUNCE PINd.1 , 1 , SONY1 , sub استفاده کردم اما درست از آب در نیامد. وقتی فشار میدم خروجی موج مربعی دارم اما دوباره که فشار میدم خروجی صفر نمیشه.
دوستان اگه می تونن راهنمایی کنن. ممنون میشم
$regfile = "m8def.dat"
$crystal = 1000000
Config Pind.1 = Input
Config Portb = output
DO
DEBOUNCE PINd.1 , 1 , SONY1 , sub
waitms 100
LOOP
END
SONY1:
timer2=0
Config Timer2 = Timer , Prescale = 1
Enable Interrupts
Enable Timer2
Enable Ovf2
On Ovf2 T
Portb.7 = 0
Stop Timer2
Timer2 = 155
Start Timer2
Do
Loop
End
T:
Stop Timer2
Timer2 = 155
Start Timer2
Toggle Portb.7
Return
دوستان اگه می تونن راهنمایی کنن. ممنون میشم
$regfile = "m8def.dat"
$crystal = 1000000
Config Pind.1 = Input
Config Portb = output
DO
DEBOUNCE PINd.1 , 1 , SONY1 , sub
waitms 100
LOOP
END
SONY1:
timer2=0
Config Timer2 = Timer , Prescale = 1
Enable Interrupts
Enable Timer2
Enable Ovf2
On Ovf2 T
Portb.7 = 0
Stop Timer2
Timer2 = 155
Start Timer2
Do
Loop
End
T:
Stop Timer2
Timer2 = 155
Start Timer2
Toggle Portb.7
Return