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 77 78 79 80 81 82 83 84 85 86
|
#include <stdlib.h>
#include <stdio.h>
void affiche (unsigned short int d)
{
printf("%d", (d & 0x8000) ? 1 : 0);
printf("%d", (d & 0x4000) ? 1 : 0);
printf("%d", (d & 0x2000) ? 1 : 0);
printf("%d", (d & 0x1000) ? 1 : 0);
printf("%d", (d & 0x0800) ? 1 : 0);
printf("%d", (d & 0x0400) ? 1 : 0);
printf("%d", (d & 0x0200) ? 1 : 0);
printf("%d", (d & 0x0100) ? 1 : 0);
printf(" ");
printf("%d", (d & 0x0080) ? 1 : 0);
printf("%d", (d & 0x0040) ? 1 : 0);
printf("%d", (d & 0x0020) ? 1 : 0);
printf("%d", (d & 0x0010) ? 1 : 0);
printf("%d", (d & 0x0008) ? 1 : 0);
printf("%d", (d & 0x0004) ? 1 : 0);
printf("%d", (d & 0x0002) ? 1 : 0);
printf("%d", (d & 0x0001) ? 1 : 0);
printf("\n");
}
int main(void){
unsigned char ma_variable_8bits = 0b10101010; // ma_variable_8bits vaut 0xAA;
unsigned short int ma_variable_16bits = 0; // ma_variable_16bits vaut 0b00000000 00000000
ma_variable_16bits = ma_variable_8bits; // ma_variable_16bits vaut 0b00000000 10101010
for(int j=0;j<3;j++){
for(int i=0;i<8;i++){
if(ma_variable_16bits & 0x0100 == 1){ //0b00000001 00000000
RB1_bit = 1 ; // le bit n°8 est à 1, j'allume la LED
}
else{
RB1_bit = 0 ; // le bit n°8 est à 0, j'éteins la LED
}
if(ma_variable_16bits & 0x0200 == 1){
RB2_bit = 1 ; // le bit n°9 est à 1, j'allume la LED
}
else{
RB2_bit = 0 ; // le bit n°9 est à 0, j'éteints la LED
}
if(ma_variable_16bits & 0x0400 == 1){
RB3_bit = 1 ; // le bit n°9 est à 1, j'allume la LED
}
else{
RB3_bit = 0 ; // le bit n°9 est à 0, j'éteints la LED
}
if(ma_variable_16bits & 0x0800 == 1){
RB4_bit = 1 ; // le bit n°9 est à 1, j'allume la LED
}
else{
RB4_bit = 0 ; // le bit n°9 est à 0, j'éteints la LED
}
if(ma_variable_16bits & 0x1000 == 1){
RB5_bit = 1 ; // le bit n°9 est à 1, j'allume la LED
}
else{
RB5_bit = 0 ; // le bit n°9 est à 0, j'éteints la LED
}
if(ma_variable_16bits & 0x2000 == 1){
RB6_bit = 1 ; // le bit n°9 est à 1, j'allume la LED
}
else{
RB6_bit = 0 ; // le bit n°9 est à 0, j'éteints la LED
}
if(ma_variable_16bits & 0x4000 == 1){
RB7_bit = 1 ; // le bit n°14 est à 1, j'allume la LED
}
else{
RB7_bit = 0 ; // le bit n°14 est à 0, j'éteints la LED
}
//affiche(ma_variable_16bits); //appel de la fonction d'affichage
ma_variable_16bits = ma_variable_16bits << 1;
}
ma_variable_16bits = ma_variable_16bits + ma_variable_8bits;
}
return 0;
} |