and how to place it in location 4 ????
D.E.F.I.N.E. !!!!!
Alain
and how to place it in location 4 ????
D.E.F.I.N.E. !!!!!
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
sorry bur i dont understand how use interrupt on a port.
i m bad
I work but it is hard
this code work
' pic16F877
'cycle = !-!_!-!_!-!_!-!_!-!__!--!_
' i use lcd just to see W0
' Define LCD registers and bits
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 8
DEFINE LCD_RSREG PORTE
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE
DEFINE LCD_EBIT 1
DEFINE OSC 4 ' use 20 MHZ oscillator
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
'initialisation
ADCON1 = %0000111
TRISA = %1
w0=100
i=0
B0=0
Low PO ' Initialize output polarity
intcon=%0001000
On Interrupt Goto bouton ' Define interrupt handler
INTCON = $90 ' Enable INTE interrupt
'*********************
pulse:
for i =1 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
'visualisation sur LCD
Lcdout $FE,$C0,"W0 = ",dec W0," "
Goto bouton
'*********************
inc:
W0 = W0 + 10
goto pulse
'*********************
decr:
W0 = W0 - 10
goto pulse
'*********************
reset:
w0 = 100
goto pulse
'*********************
bouton :
disable
button up,1,0,0,b0,1,inc 'si bouton1 sur port1=1 aller à calibration
button dn,1,0,0,b0,1,decr 'si bouton1 sur port1=1 aller à calibration
button rst,1,0,0,b0,1,reset 'si bouton1 sur port1=1 aller à calibration
enable
goto pulse
but why on the piture the period after double pulse the low period its not equal w0?
PAUSE Missing after PULSOUT 3, W1
Goto Pulse instead of Goto Bouton ---- mais à quoi servent donc les interruptions ???
et on termine en plaçant la visualisation dans le programme d'interruption juste AVANT le Enable !!! ( ça évite les affichages Ollé, Ollé ...)
Alain
Last edited by Acetronics2; - 14th August 2006 at 14:03.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
to simplify :no button
' pic16F877
'cycle = !-!_!-!_!-!_!-!_!-!__!--!_
' i use lcd just to see W0
' Define LCD registers and bits
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 8
DEFINE LCD_RSREG PORTE
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE
DEFINE LCD_EBIT 1
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
'initialisation
ADCON1 = %0000111
TRISA = %1
w0=1000
i=0
B0=0
Low PO ' Initialize output polarity
'*********************
pulse:
for i =0 to 5
Pulsout 3,W0 ' Generate pulse
pause W0/100 ' Intra-pulse delay
next i
I=0
Pulsout 3,W0
W1=W0*2
Pause W1/100
Pulsout 3,W1 'double pulse ok
pause W0/100
'visualisation sur LCD
Lcdout $FE,$C0,"W0 = ",dec W0," "
Goto PULSE 'repeat cycle
I want a double pulse in end cycle but before new cycle , i want simple pediod low but it not equal w0!!!
Bookmarks