1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| #include <stdio.h>
#define LED4 0xA0
#define LED5 0xB1
#define LED6 0xB2
#define LED7 0xB3
#define LED8 0xB4
#define LED9 0xB5
#define LED10 0xB6
#define LED11 0xB7
void set_led(unsigned char led_id) {
if ((led_id&0xa0)==0xa0)
PORTA|=(1<<(led_id&0x0f));
if ((led_id&0xb0)==0xb0)
PORTB|=(1<<(led_id&0x0f));
}
void clear_led(unsigned char led_id) {
if ((led_id&0xa0)==0xa0)
PORTA&=~(1<<(led_id&0x0f));
if ((led_id&0xb0)==0xb0)
PORTB&=~(1<<(led_id&0x0f));
}
void tabLed(unsigned char led_id){
unsigned char leds[]={LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11};
}
/*
void LEDcontrol(unsigned char d){ // Début du Sous-programme LED1, on allume et éteind les leds de D4 à D11 l'une après l'autre
unsigned int ma_variable_16bits = 0;
ma_variable_16bits = d;
for(;;){
RA0_bit = 1 ; //sortie RA0 à 1
delay_ms(250); //delai d'1/4 sec
RA0_bit = 0 ; //sortie RA0 à 0
RB1_bit = 1 ;
delay_ms(250);
RB1_bit = 0 ;
RB2_bit = 1 ;
delay_ms(250);
RB2_bit = 0 ;
RB3_bit = 1 ;
delay_ms(250);
RB3_bit = 0 ;
RB4_bit = 1 ;
delay_ms(250);
RB4_bit = 0 ;
RB5_bit = 1 ;
delay_ms(250);
RB5_bit = 0 ;
RB6_bit = 1 ;
delay_ms(250);
RB6_bit = 0 ;
RB7_bit = 1 ;
delay_ms(250);
RB7_bit = 0 ;
}
} // Fin du sous-programme LED1
*/
void main() {
unsigned char donnee = 0b00000001;
TRISA = 0b00000010; //port A en sortie sauf RA1
PORTA = 0b11001000 ; //mettre les sorties à zéro sauf RA6, RA7,RA3
TRISB = 0b00000001; //port B en sortie sauf RB_0
PORTB = 0 ; //mettre les sorties à zéro
pcon.OSCF = 1; //configure le bit 3 du registre pcon pour 4 Mhz
CMCON = 0b00000111; //désactiver les comparateurs sur RA0
while(1){
set_led(tabLed);
delay_ms(250);
clear_led(tabLed);
delay_ms(250);
}
} |