E
Eraser
Guest
J'ai construit ce programme, en C, il s'agit d'un ping-pong a abouti, le pic 16F877A, mais le travail doesnt programme 100%, le passage des LEDs pour une part, et dont le retour, et je ne sais pas pourquoi.
Can anyone help me???
le programme est le suivant:# include <htc.h>
int direction = 0;
__CONFIG (XT & WDTDIS & PWRTDIS & BORDIS & LVPEN & WRTEN & DEBUGDIS & DUNPROT & DÉVERROUILLER);void inittimer0 (void)
(
T0CS = 0;
T0SE = 0;
PSA = 0;
PS2 = 1;
PS1 = 1;
PS0 = 1;
TMR0 = 0;
)
void initporto (void)
(
TRISD = 0;
PORTD = 0;
RD7 = 1;
)void interrupcoes (void)
(
T0IF = 0;
T0IE = 1;
GIE = 1;
)void main (void)
(
inittimer0 ();
initporto ();
interrupcoes ();
while (1)
(
)
)my_isr void interrupt (void)
(
if (direction == 0)
(
T0IF = 0;
PORTD = PORTD * 10;
if (RD0 == 1)
(
direction = 1;
)
)
autre
(
T0IF = 0;
PORTD = PORTD/10;
if (RD7 == 1)
(
direction = 0;
)
)
)
Dernière édition par Eraser le 31 Juil 2008 20:19, édité 1 fois au total
Can anyone help me???
le programme est le suivant:# include <htc.h>
int direction = 0;
__CONFIG (XT & WDTDIS & PWRTDIS & BORDIS & LVPEN & WRTEN & DEBUGDIS & DUNPROT & DÉVERROUILLER);void inittimer0 (void)
(
T0CS = 0;
T0SE = 0;
PSA = 0;
PS2 = 1;
PS1 = 1;
PS0 = 1;
TMR0 = 0;
)
void initporto (void)
(
TRISD = 0;
PORTD = 0;
RD7 = 1;
)void interrupcoes (void)
(
T0IF = 0;
T0IE = 1;
GIE = 1;
)void main (void)
(
inittimer0 ();
initporto ();
interrupcoes ();
while (1)
(
)
)my_isr void interrupt (void)
(
if (direction == 0)
(
T0IF = 0;
PORTD = PORTD * 10;
if (RD0 == 1)
(
direction = 1;
)
)
autre
(
T0IF = 0;
PORTD = PORTD/10;
if (RD7 == 1)
(
direction = 0;
)
)
)
Dernière édition par Eraser le 31 Juil 2008 20:19, édité 1 fois au total