السلام عليكم ورحمة الله وبركاتة
كيف حالك اخى metalljack
تم تحويل البرنامج الى برنامج ميكروسى وتم البرمجة على ميكرو pic16f877a
طبعا لانة يحتوى على بورت d
وهذا هو البرنامج
كود:
char k;
char n=0; // counter
void main() {
// input PC0
trisC =0b11111110;
PORTC&=0b11111110; // pul up - off
// output pd7
trisD |=0b10000000;
while(1){
k++;
// out 0
PORTD&=0b01111111;
while(trisC&0b00000001);
// out 1
PORTD|=0b10000000;
while(!(trisC&0b00000001)) n++;
// out 0
PORTD&=0b01111111;
//output data to display
/*
itoa(r+2, buf,10);
my44780_command_home(&disp1);
my44780_send_string(&disp1,buf);
my44780_send_string(&disp1," ");
itoa(k, buf,10);
my44780_send_string(&disp1,buf);
my44780_send_string(&disp1," ");
_delay_ms(100);
*/
}
}
فى بداية الكود يوجد كلمة DDRC
لم افهمها بالظبط
ولكن توقعت انها تجعل البورت سى يعمل كخرج
وترجمتة هنا هى TRISD
========================
يوجد فى الكود الخاص بك متغير باسم r
قمت باستبدالة بحرف n
لان البرنامج اعترض علية