السؤال الخامس .
استخدمنا encoder لزيادة عدد مخارج المنفذ A لا ننا نحتاج الى مفاتيح عدد 8 .
كود:
void main()
{trisa=0b11111;trisb=0;portb=0;
loop:
if(porta==0b11110){portb.f0=~portb.f0;while(porta==0b11110){}}
if(porta==0b11101){portb.f1=~portb.f1;while(porta==0b11101){}}
if(porta==0b11100){portb.f2=~portb.f2;while(porta==0b11100){}}
if(porta==0b11011){portb.f3=~portb.f3;while(porta==0b11011){}}
if(porta==0b11010){portb.f4=~portb.f4;while(porta==0b11010){}}
if(porta==0b11001){portb.f5=~portb.f5;while(porta==0b11001){}}
if(porta==0b11000){portb.f6=~portb.f6;while(porta==0b11000){}}
if(porta==0b10111){portb.f7=~portb.f7;while(porta==0b10111){}}
goto loop;
}
ملفات المشروع
http://www.4shared.com/file/18061705..._5_online.html
لم اجد ما يحتاج الى استخدام الدوال .
كان هناك خطأ في الكود و ربما لم يكن خطأ . لكن بعد التغيير الذي قدمه الاخ احمد شيمي اشتغل الكود بصورة جيدة .
الكود السابق كالاتي :
كود:
if(porta==~0) {----}
if(porta==~1) {----}
هنا لم يستجب المتحكم للمفاتيح الا بعد ان كتبنا الارقام كما هي بدون استخدام صيغة المتمم .
كود:
if(porta==0b11110) {___}
if(portb==0b11101) {----}
ارجو التعليق على هذا الخطأ ممن ليه معرفة به .