Citation :
#define __16f877
#include"16f877a.h"
#define bitset(var , bitno) ((var) |= 1 << (bitno)) //macro pour mettre le bit bitno du port var à 1 sans changer les autres bits
#define bitclr(var , bitno) ((var) &= ~(1 << (bitno))//macro pour mettre le bit bitno du port var à 1 sans changer les autres bits
void test(unsigned char ttest); // fonction de test
unsigned unsigned char i,j,k; // je suis obligé de déclarer mes variables en globale autrement sdcc les déclare hors de la memoire disponible
void main(void) {
TRISB = 0;
PORTB = 0x0;
while(1) {
for (k=0; k<8;k++)
{
// mise à 1 du bit k du port B
//bitset(PORTB,k);// <= ces 2 instructions
test(k); // <= for (i = 0; i < 250; i++) // tempo pour avoir le temps de voir ce qui se passe sur le port
for (j = 0; j < (250); j++)
_asm nop; nop;_endasm;
PORTB = 0x0; // remise à 0 de tous les bits du port
for (i = 0; i < 250; i++)// tempo pour avoir le temps de voir ce qui se passe sur le port
for (j = 0; j < (250); j++)
_asm nop; nop ;_endasm;
}
}
}
void test (unsigned char ttest){
bitset(PORTB,ttest); // mise à 1 du port ttest du portB
}
|