ممكن تغيير ها كود من ANODE A CATHOD
و شكرا
كود
// PANNEAU CHANGEMENT DES JOUEUR 4X 7 SEGMENT
// EDYTED BY
// S/KAMEL LE 24/05/2025
// CONTROLE KEY BOAD 3X4
// C1,C2,C3==L1,L2,L3,L4
//LED 5MM
#define C1 PORTC.RC0 //la ligne 0 estcommectee au pin RC0 du PORT RC
#define C2 PORTC.RC1 // la ligne 1 estcommectee au pin RC1 du PORT RC
#define C3 PORTC.RC2 // la ligne 2 estcommectee au pin RC2 du PORT RC
#define LA PORTC.RC3 // la ligne 1 estcommectee au pin RC3 du PORT RC
#define LB PORTC.RC4 // la ligne 2 estcommectee au pin RC4 du PORT RC
#define LC PORTC.RC5 // la ligne 3 estcommectee au pin RC5 du PORT RC
#define LD PORTC.RC6 // la ligne 4 estcommectee au pin RC6 du PORT RC
#define DISPLAY PORTB // lafficheur 7 segment est connecte au PORT B
#define ANODES PORTA // les ANODES des afficheurs 7 segment est connecte au port A
char key,cnt,UN,DZ,CT,ML;
// 0 1 2 3 4 5 6 7 8 9 * # -
char chiffres [13]={192,249,164,176,153,146,130,216,128,144,156,171, 191};
void clavier();
void test();
void affichage();
void clavier()
{
C1=1; C2=0; C3=0;
if (LA==1){key=1;cnt++;while(LA==1){affichage();}}
if (LB==1){key=4;cnt++;while(LB==1){affichage();}}
if (LC==1){key=7;cnt++;while(LC==1){affichage();}}
if (LD==1){key=10;cnt++;while(LD==1){affichage();}}
C1=0; C2=1; C3=0;
if (LA==1){key=2;cnt++;while(LA==1){affichage();}}
if (LB==1){key=5;cnt++;while(LB==1){affichage();}}
if (LC==1){key=8;cnt++;while(LC==1){affichage();}}
if (LD==1){key=0;cnt++;while(LD==1){affichage();}}
C1=0; C2=0; C3=1;
if (LA==1){key=3;cnt++;while(LA==1){affichage();}}
if (LB==1){key=6;cnt++;while(LB==1){affichage();}}
if (LC==1){key=9;cnt++;while(LC==1){affichage();}}
if (LD==1){key=11;cnt++;while(LD==1){affichage();}}
}
void test ()
{
if (cnt==1){ML=key;}
if (cnt==2){CT=key;}
if (cnt==3){DZ=key;}
if (cnt==4){UN=key;}
if (key==10){cnt=0;UN=DZ=CT=ML=12;}
}
void affichage()
{
ANODES=0b0000001;
DELAY_ms(10);
ANODES=0b00000010;
DISPLAY=chiffres[DZ];
DELAY_ms(10);
ANODES=0b00000100;
DISPLAY=chiffres[CT];
DELAY_ms(10);
ANODES=0b00001000;
DISPLAY=chiffres[ML];
DELAY_ms(10);
}
void main() {
TRISA=0B00000000;
TRISB=0b00000000;
TRISC=0b01111000;
PORTA=0b00001111;
PORTB=0;
PORTC=0;
UN=12;
DZ=12;
CT=12;
ML=12;
cnt=0;
key=255;
while(1)
{
clavier();
test();
affichage();
}
}