السلام عليكم
عملت مشروع كتقييم لما تعلمته من منتداكم الحبيب, فواجهتني مشكلة خفيفة لا أعلم ما العمل معها, والمشكل كتالي:
صنعت عداد من 0 الى 99 وذلك لا يتم الا بالضغط على أحد الزرين واحد لزيادة واحد والآخر لنقصانه المشكل يتجلا في أن عند الضغط على أي منهما رقم الاحاد ينطفئ ليكتب الرقم المراد, على سبيل المثال وذلك حسب رأيي مثلا لدينا رقم 8 ف للمرور إلى رقم 9 ليس على كل الليدات أن تنطفئ (ظاهريا) يجب أن نرى فقط إنطفاء الليد
e
ما الحل يا إخوة هذا هو الكود
كود:
char x,u;
char segment[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0x77,0x7C,0x39,0x5E,0x7B,0x71};
void main() {
trisa=0b01100;
trisb=0b10000000;
x=0 ;
u=0;
while (1) {
if (porta.f2=1) {x++; delay_ms(200); }
if (porta.f3=1) {x--; delay_ms(200); }
if(x==10){x=0; u++;}
if(x==255& u>0) {x=9;u--;}
if(x==255& u==0) {x=0;u=0;}
if(u==10)u=0;
porta=0x02 ;
portb=segment[x];
delay_us(3000);
porta=0x01;
portb=segment[u];
delay_us(3000);
} }