now, the interruption does not work.
they are detected but not the button pressed and w0 pass to 0
' pic16F877
'cycle = !-!_!-!_!-!_!-!_!-!__!--!_
' i use lcd just to see W0
DEFINE OSC 4
INCLUDE "modedefs.bas" ' Include serial modes
W0 var word
W1 var word
i var byte
up var PORTB.4
dn var PORTB.5
rst var portb.6
b0 var byte
PO var portb.3 ' Define pulse output pin
OPTION_REG = $7f
'initialisation
ADCON1 = %0000111
TRISA = %1
w0=100
i=0
B0=0
Low PO ' Initialize output polarity
INTCON.0 = 0 'Clear Port Change Interrupt Flag bit
On interrupt goto bouton ' Define interrupt handler
INTCON =%10001000 'Enable RBIE
'*********************
pulse:
for i =0 to 5
Pulsout 3,W0 ' Generate pulse
pause W0/100 ' Intra-pulse delay
next i
Pulsout 3,W0
W1=W0*2
Pause W1/100
Pulsout 3,W1
pause W0/100
Goto pulse
'*********************
inc:
'Lcdout $FE,$C0,"INC"
W0 = W0 + 1
W1=W0
resume
goto pulse
'*********************
decr:
W0 = W0 - 1
W1=W0
goto pulse
'*********************
reset:
w0 = 100
W1=W0
goto pulse
'*********************
DISABLE
bouton :
INTCON.0 = 0 '
if PORTB.4=0 THEN goto inc 'not detect
if PORTB.5=0 THEN goto decr 'not detect
if PORTB.6=0 THEN goto reset 'not detect
GOTO PULSE
ENABLE




Bookmarks