قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية alsatel07
alsatel07
:: مهندس متميز ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 360
نشاط [ alsatel07 ]
قوة السمعة:0
قديم 28-09-2025, 08:10 PM المشاركة 1   



ممكن تغيير ها كود من 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();


}

}

اعلانات
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:39 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025