تمام .. بس أنا مش فاهم هوا بيعمل إية .. انا لسه مبتدأ فى الميكروسى
ممكن لو حد يشرحلى هوا عمل إية بالظبط بالبرنامج ..!!؟
unsigned short i, DD0, DD1;
unsigned int Count;
//-Function to Return mask for common anode 7-seg. display
unsigned short mask(unsigned short num) {
switch (num) {
case 0 : return 0xC0;
case 1 : return 0xF9;
case 2 : return 0xA4;
case 3 : return 0xB0;
case 4 : return 0x99;
case 5 : return 0x92;
case 6 : return 0x82;
case 7 : return 0xF8;
case 8 : return 0x80;
case 9 : return 0x90;
} //case end
}void main() {
ADCON1=0X07; //set A PORT general I/O
TRISD = 0; // Set PORTB direction to be output
PORTD = 0xFF; // Turn OFF LEDs on PORTD
TRISA = 0;
Count = 0; // Initial Value of Counter
do {
DD0 = Count%10; // Extract Ones Digit
DD0 = mask(DD0);
DD1 = (Count/10)%10; // Extract Tens Digit
DD1 = mask(DD1);
for (i = 0; i<=100; i++) {
PORTD = DD0; // Data for ones Digit
RA0_bit = 1;
RA1_bit = 0;// Select Ones Digit
delay_ms(5);
PORTD = DD1;//Data for Tens Digit
RA0_bit = 0;// Select Tens Digit
RA1_bit = 1;
delay_ms(5);
}
Count = Count + 1 ;
if (Count > 99) Count = 0;
} while(1); // endless loop
|
أنا فهمت النقط الموضحه .. بس معرفش ليه إستخدم switch و إيه ال ADCON1
يا ريت لو حد يشرحلى الكتابه دى
أنا قدرت أعمل حاجه أسهل بكتييييييير جدا من كل دة و بسيطه .. بس أنا كنت عاوز أفهم هوا عمل إيه هنا ...!!